Skip to main content
gamedev.net
🔒 Locked

Forward kinematics without matrices?

Started by 1101 Aug 25, 2011 at 10:03 PM 3 replies 2k views
Original Post
1101
1101
Is it possible to do 3D forward kinematics for a system of joints without using matrices? If so can anyone explain or give a link that explains how?
Emergent
Emergent
Why do you ask? Is it simply that you're unfamiliar with matrices?

Sure, you can write out equivalent systems of scalar equations, but they are a mess, and you will hate your life if you do it. Really, the best way to organize your thought on this subject is to think in terms of rigid transformations. Matrices are the most straightforward way to represent these; you can also implement them in terms of quaternions, but honestly I think this is less transparent. That said, either way, you should work at a level of abstraction where you're just composing rigid transformations, and the underlying implementation simply shouldn't matter too much.

If you're in need of a nice C++ matrix library, I recommend Eigen .
sculpepper
sculpepper
I agree with everything that Emergent has stated.

Transformation matrices are extremely simple to implement. If you are afraid to do matrix math in c++ or are running on a platform that doesn't allow for matrix operations (i guess microprocessors but even these are around) simply develop your equations on paper and pull off the three scalar equations.
wildbunny
wildbunny
Of course, it may be that the OP wants to avoid matrices in order to save memory - perhaps they are running in an embedded system environment like a vector unit on PS2, or PS3.

I did once read an article about transforming directly with quaternions and a position - this is certainly possible and will save you one quadword per bone, I'm afraid I don't have the reference but its something to google for

Cheers, Paul.
Emergent
Emergent

Of course, it may be that the OP wants to avoid matrices in order to save memory - perhaps they are running in an embedded system environment like a vector unit on PS2, or PS3.


Yeah, that's legit. But a good C++ matrix library with expression templates will do that for you. Eigen does this.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.