Оздоровительные и познавательные аспекты йоги
Wolfram Knowledgebase включает в себя набор данных о позах йоги. Взаимосвязанность поз, их уровни сложности, задействуемые мышцы, продолжительность поз, а также многие другие характеристики могут быть изучены и исследованы точным, полностью программным путем.
Визуализируем взаимосвязь между позами йоги, относящимися к подготовительным позам ("PreparatoryPoses"), начиная с позы скорпиона.

poseGraph =
NestGraph[Cases[EntityValue[#, "PreparatoryPoses"], _Entity] &,
Entity["YogaPose", "ScorpionPose"], 4, VertexLabels -> "Name",
VertexLabelStyle -> LightGray]

Рассмотрим схематичные изображения различных поз.

With[{v = Take[VertexList[poseGraph], 5]},
schm = Rule @@@ Transpose[{v, EntityValue[v, "Schematic"]}]
] // Column

Составим график поз, сгруппированных по общим принципам.

CommunityGraphPlot[EdgeList[poseGraph] /. e_DirectedEdge :> Reverse@e,
VertexLabels -> Placed["Name", Tooltip]]

Подсчитаем количество мышц, задействованных в первой серии поз в Аштанге.

Определим мышцы, которые растягиваются в серии поз Сурья Намаскар A и визуализируем наиболее часто растянутую мышцу.

muscles = (SortBy[
Tally[DeleteMissing[
Flatten[EntityValue[
Cases[Entity["YogaSequence", "SunSalutationA"][
"PrimaryPoseSequence"], _Entity, Infinity],
"StretchedMuscles"]]]], Last] // Reverse) // Take[#, 20] &

Bизуализируем наиболее часто растянутую мышцу.

EntityValue[muscles[[1, 1]], "RegionalLocationImage"]

Воспользуемся неявно определенным классом сущностей, чтобы найти и визуализировать позы йоги для начинающих средней интенсивности, которые помогают растянуть мышцы ног и укрепить туловище.

EntityList[
Entity["YogaPose", {"ExperienceLevel" -> "Beginner",
"IntensityLevel" -> "Medium",
"SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"],
"SitesOfImprovedStrength" ->
Entity["AnatomicalStructure", "Abdomen"]}]]

Рассмотрим схематичные изображения этих поз.

EntityList[
Entity["YogaPose", {"ExperienceLevel" -> "Beginner",
"IntensityLevel" -> "Medium",
"SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"],
"SitesOfImprovedStrength" ->
Entity["AnatomicalStructure", "Abdomen"]}]];
EntityValue[Take[%, 5], "Schematic", "EntityAssociation"]

Запросим позы йоги продвинутого уровня, которые укрепляют пояснично-подвздошную мышцу и помогают растянуть подколенные сухожилия.

EntityValue[
Entity["YogaPose", {"ExperienceLevel" -> "Advanced",
"PrimaryContractedMuscles" ->
Entity["AnatomicalStructure", "Iliopsoas"],
"StretchedMuscles" ->
Entity["AnatomicalStructure",
"SetOfHamstringMuscles"]}], "Schematic", "EntityAssociation"]

Запросим серии упражнений йоги продолжительностью от 30 до 60 минут.

EntityList@
Entity["YogaSequence", {"EstimatedDuration" ->
Quantity[ Interval[{30, 60}], "Minutes"]}]
