Hover over the menu bar to pick a physics animation.

Here is an animation of a bicep muscle that lifts a weight that is suspended from the forearm.

Muscles work only by contraction along their lengths: i.e. muscles pull but they do not push. Therefore each joint that permits a hinging action in both directions must have flexor muscles on one side of the bone being hinged and extensor muscles on the other side of that bone. The muscles that bend your forearm toward or away from your shoulder are a good example of this. At the front of the upper arm we have the very strong bicep (flexor muscle) and on the back we have the less strong tricep (extensor) muscle. It is the tricep that helps us do a pushup. The bicep is what we use to lift weights from our waist toward our shoulder (curls). See Forces in joints Figure 1 for a more elaborate illustration.

In the human body, muscles must work with the rigid skeletal bones. At least one end of the muscle must be attached above the joint of the rigid bone which it will be picking up when the muscle contracts (see animation).

**In this animation, the calculated result will be the tension that the muscle must exert in order to
lift a `M`= 1 kilogram mass (weight) attached to the forearm at a distance `r_w` from the elbow which is defined to
be a stationary axis of rotation. For simplicity and clarity, it is assumed that the mass of the forearm is zero.**

The force, `bbvecF_w` of the weight is `bbvecF_w=Mgbbhaty` where `g` is the acceleration of gravity and `bbhaty` is a unit vector in the downward `y` direction. Then the torque, `bbvectau_w`, produced about the elbow is

`bbvectau_w=bbvecr_wxxbbvecF_w`

where the symbol `xx` indicates cross product and this torque is clockwise and produces a vector pointing away from the viewer.The cross product can be evaulated by the product of the magnitudes `|bbvecr_w||bbvecF_w|` times the sine of the angle, `phi_(r-F)`, between `bbvecr_w and bbvecF_w` Then

`bbvectau_w=[|bbvecr_w|sinphi_(rw-F)|bbvecF_w|]bbhatz`

where we have defined the unit vector `bbhatz` to point inward away from the viewer.For this animation we assume that the angular acceleration about the elbow is very small Under these quasistatic conditions, the torque due to the muscle tension,`bbvectau_m` must be the negative of the torque due to the 1 kg weight.

`bbvectau_m=-bbvectau_w` (1)

We can write an expression for `bbvectau_m` as`bbvectau_m=bbvecr_mxxbbvecT_m`

where `bbvecr_m` is the moment arm vector along the forearm for the muscle, and `bbvecT_m` is the tension of the muscle. Again the cross product can be evaluated using the sine of angle `phi_(r-T)` and the magnitudes `|bbvecr_m| and |bbvecT_m|``bbvectau_m=-|bbvecr_m|sinphi_(r-T)|bbvecT_m|bbhatz`

where the rotation induced by the muscle is in the counter clockwise direction and is therefore along the negavite `bbhatz` direction Then the tension needed can be found from equation 1`-|bbvecr_m|sinphi_(r-T)|bbvecT_m|bbhatz=-[|bbvecr_w|sinphi_(rm-F)|bbvecF_w|]bbhatz`

which has the solution`|bbvecT_m|=[|bbvecr_w|sinphi_(rw-F)|bbvecF_w|]/(|bbvecr_m|sinphi_(rm-T))`

The energy, `E_(12)` required to lift the 1 kg weight from angle `phi_1` to `phi_2` is

`E_(12)=Mgr_wint_(phi_1)^(phi_2)sinphidphi`

where `phi` is the angle between `bbvecr_w` and the y axis. This energy is expended by the contraction of the muscle. However muscles by themselves have no mechanism to recover this energy during their subsequent extension as a steel spring might. But it is important to recognize that muscles always work in parallel with tendons whichThe upper arm bone (Humerus bone) and the forearm are colored gray and labeled in white. The bicep muscle is colored salmon. The angles are measured clockwise. The angle between the humerus and the forearm is clearly labeled in red. The moment arm about the elbow for the 1 kg weight is `r_w` as well as the moment arm for the bicep are labeled in red. The bicep tension and length are labeled in white. After pressing the Start button and completing one cycle of forearm angle variation a plot of muscle tension Vs muscle length is shown. This results in a curved line which is quite different from the straight line of tension Vs length expected from a linear spring.

The forearm angle with respect to the mumerus bone is manually adjustable but will also be animated. The attachment point on the forearm of the bicep and the 1 kg weight are adjustable.

To view the HTML and javascript used for this simple page:

Mac OS: Hold Command|Option and press the i key.

Windows:Use Control+U (Used to be Control F5).

The source code files will appear on the right side of the page.