Если нужно более ли менее реалистично, то почитайте про инверсную кинематику. Там всё просто.
Вот вторая ссылка из гугла:
http://www.gamedev.ru/code/articles/?id=4182
Вот в этой книжке очень доступно всё:
http://www.friendsofed.com/book.html?isbn=1590597915