Animation of a Rudimentary Human Body

Introduction

            This is a  discussion of the method I used to achieve fairly complex human activities with a minimum of mathematics and code.  The method relies on the superposition of rotation transforms that is built into Windows Presentation Foundation and UserControls that turn these rotation transforms into composite rotations. 

Specifics

            The basic unit in this animation is called a Part.  Each Part is a separate UserControl.  Each Part is made up of an ellipse which has an associated RotationTransform.  The RotationTransform has both a rotation Angle and a CenterX and CenterY point which represent the axis of the rotation,  In the Human animation, the axis of rotation for each part is shown as a black dot. 

The actual Human is built up as a composite of parts and each item of the composite is a separate UserControl.  For example, I define a simple composite UserControl as a CalfFoot or CF which is made up of a new Part, called the Calf as well as a previously defined Part called the Foot.  The foot has its rotation axis at the ankle and the Calf has its rotation axis at the knee.  When one changes the angle of the Calf, the foot angle and foot position changes with the Calf.   The logical next Part to add is the Thigh and the new UserControl becomes the ThighCalfFoot or TCF.  Again, when the Thigh (or TCF) rotates, the Calf and Foot (CF) moves with the Thigh which has a rotation axis at the hip.

A totally similar structure, the Arm or the BicepForeArmHand or BFH, is made for the Arm which, of course has a rotation axis at the shoulder.

The top of the Human hierarchy is the Torso.  To it I attach the BFH and the TCF at appropriate locations as well as a new Part, the head.  The body is then labeled the TAL or TorsoArmsLegs.  The Torso has a separate rotation axis near its bottom so that it can bend over.

Summary

            The animation provides a group of Exercises which are programmed using the angles discussed above as well as slight translation corrections needed to make the Exercise appear valid. The programs to achieve these Exercises are very simple.

The animation also includes a group of angle sliders that allow the viewer to change the angles of the Parts as well as the Composites so that the viewer can see how the composite rotations function.

In conclusion, the use of Composite UserControls avoids a nightmarish set of trigonometric calculations.