Язык Wolfram Language

Расширенный доступ к базе знаний Wolfram Knowledgebase

Оздоровительные и познавательные аспекты йоги

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

Визуализируем взаимосвязь между позами йоги, относящимися к подготовительным позам ("PreparatoryPoses"), начиная с позы скорпиона.

In[1]:=
Click for copyable input
poseGraph = NestGraph[Cases[EntityValue[#, "PreparatoryPoses"], _Entity] &, Entity["YogaPose", "ScorpionPose"], 4, VertexLabels -> "Name", VertexLabelStyle -> LightGray]
Out[1]=

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

In[2]:=
Click for copyable input
With[{v = Take[VertexList[poseGraph], 5]}, schm = Rule @@@ Transpose[{v, EntityValue[v, "Schematic"]}] ] // Column
Out[2]=

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

In[3]:=
Click for copyable input
CommunityGraphPlot[EdgeList[poseGraph] /. e_DirectedEdge :> Reverse@e, VertexLabels -> Placed["Name", Tooltip]]
Out[3]=

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

код на языке Wolfram Language целиком
In[4]:=
Click for copyable input
mus = Normal[ EntityValue[ Cases[Entity["YogaSequence", "AshtangaPrimarySeries"][ "PrimaryPoseSequence"] /. Entity["YogaSequence", s_] :> Entity["YogaSequence", s]["PrimaryPoseSequence"], _Entity, Infinity], "PrimaryContractedMuscles", "EntityAssociation"]] /. Rule[l_, r_] :> l -> Length[r];
In[5]:=
Click for copyable input
ListLinePlot[mus[[All, -1]], Filling -> Axis, AspectRatio -> .4, AxesLabel -> {"pose position", "contracted muscles count"}]
Out[5]=

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

In[6]:=
Click for copyable input
muscles = (SortBy[ Tally[DeleteMissing[ Flatten[EntityValue[ Cases[Entity["YogaSequence", "SunSalutationA"][ "PrimaryPoseSequence"], _Entity, Infinity], "StretchedMuscles"]]]], Last] // Reverse) // Take[#, 20] &
Out[6]=

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

In[7]:=
Click for copyable input
EntityValue[muscles[[1, 1]], "RegionalLocationImage"]
Out[7]=

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

In[8]:=
Click for copyable input
EntityList[ Entity["YogaPose", {"ExperienceLevel" -> "Beginner", "IntensityLevel" -> "Medium", "SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"], "SitesOfImprovedStrength" -> Entity["AnatomicalStructure", "Abdomen"]}]]
Out[8]=

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

In[9]:=
Click for copyable input
EntityList[ Entity["YogaPose", {"ExperienceLevel" -> "Beginner", "IntensityLevel" -> "Medium", "SitesOfImprovedMobility" -> Entity["AnatomicalStructure", "Leg"], "SitesOfImprovedStrength" -> Entity["AnatomicalStructure", "Abdomen"]}]]; EntityValue[Take[%, 5], "Schematic", "EntityAssociation"]
Out[9]=

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

In[10]:=
Click for copyable input
EntityValue[ Entity["YogaPose", {"ExperienceLevel" -> "Advanced", "PrimaryContractedMuscles" -> Entity["AnatomicalStructure", "Iliopsoas"], "StretchedMuscles" -> Entity["AnatomicalStructure", "SetOfHamstringMuscles"]}], "Schematic", "EntityAssociation"]
Out[10]=

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

In[11]:=
Click for copyable input
EntityList@ Entity["YogaSequence", {"EstimatedDuration" -> Quantity[ Interval[{30, 60}], "Minutes"]}]
Out[11]=

Родственные примеры

de en es fr ja ko pt-br zh