Original Post
🔒 Locked
Forward kinematics without matrices?
Advertisement
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 .
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 .
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.
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.
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.
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.
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.
Advertisement