Walking & Swinging

How can I show that the most convenient way to move the arms while walking is swinging them back and forth, alternatively?

To pose the question in another way: can I prove, starting from the conservation of momentum and angular momentum, that given a rigid solid body moving at constant speed and with two appendices on the side, this appendices will move as our arms do when we walk "freely"?

• The mechanics of walking are quite complex. A Google should find you articles on the subject. Basically, swinging the arms in opposition to the legs reduces the torque on the body and therefore makes it twist less. Jun 24, 2014 at 11:37
• @JohnRennie minor nitpick: I'd prefer to say "complicated" (not "complex") so as to avoid suggesting the solution requires going into the complex plane. Jun 24, 2014 at 11:45
• @JohnRennie "...reduces the torque on the body and therefore makes it twist less". Is there a way to show this formally, without relying on experimental data? Jun 24, 2014 at 12:16

This is a responce to usumdelphini's comment:

Is there a way to show this formally, without relying on experimental data?

I'm not going to attempt a deep analysis of walking, but it's fairly straightforward to show that using your arm reduces twisting. Suppose you're looking down on the person walking from above, and suppose they're a cylinder $^1$. Then you'd see something like:

When you move your right leg forward this takes some force $F$, and by Newton's third law there is an equal and opposite force on the point where the leg is attached to your body (the green dot). This causes a torque on your body of:

$$T = Fr$$

and as a result your body will tend to twist clockwise.

Now suppose you move your left arm forward at the same time:

Moving your arm creates a torque of $T_{arm} = fr$ in the same way, but the torque is in the opposite direction. So the net torque on your body is:

$$T = Fr - fr = (F - f)r$$

and the result is that your body will twist less.

$^1$ traditionally we assume everything is spherical, but I'll make an exception in this case