Inverse Kinematics

Just got a nice email from a guy named Nate Warner who said he used my inverse kinematics presentation to figure out how to make a nifty ragdoll physics demo in some sort of Flash 3D thingy.

I wrote that presentation for the Comp 290 physically based modelling grad course at UNC-Chapel Hill in the first or second year of my Masters/Ph.D.  It looks a little quaint to me now, but I’m pretty proud by how well it explains some things.  Maybe that’s only me, but anyway, some things like the intuition behind multi-dimensional non-linear optimization that I put in there have really stuck with me.

What really gets me tickled is that this class presentation has been the top hit for “fast inverse kinematics” ever since I wrote it lo these 8 years ago.

[edit]  I say it looks quaint because the problem is really a straight-up non-linear optimization problem, and the right way to tackle it is with a non-linear optimizer of some sort.  The CCD, Jacobian Transpose, and PseudoInverse methods are all just hacks in one way or other trying to avoid using a more apropriate optimization strategy.  IK problems all tend to be relatively low-dimensional, too, so for most apps the speed of a good robust optimizer would not be a problem.   Actually Nate’s blog there has some links to other more recent methods like Selectively Damped Least Squares for Inverse Kinematics.  Having done a lot of least squares stuff lately, some sort of non-linear least squares solution is what I’d try these days too.

Tags: , , , ,

2 Responses to “Inverse Kinematics”

  1. Jarrett Billingsley says:

    O_O

    Woah.

  2. Nate says:

    http://dynamicnetcreations.com/experiments/awayarm/

    I put together another demo and thought you might be interested.

Leave a Reply