Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

jag_oes

A horrid mistake in David Baraff's paper on Rigid Body Dynamics?

This topic is 6109 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was reading Baraff''s paper on rigid body dynamics (found here: http://www-2.cs.cmu.edu/~baraff/sigcourse/notesd1.pdf) and I think I found an error ... and if it isn''t an error then it really confuses me. He says that the orientation of the rigid body is stored as 3x3 matrix, R. He then says that the position of any point in in the body''s local coordinate system can be transformed to the global coordinate system by multiplying the point with the matrix:
              [ Rxx  Ryx  Rzx ] [ x'' ]
[ x  y  z ] = [ Rxy  Ryy  Rzy ] [ y'' ]
              [ Rxz  Ryz  Rzz ] [ z'' ]
He then (attempts) to drive home the fact that the orientation of the rigid body should be stored as a matrix by showing that the body''s local coordinate axes make up the elements of the matrix. This makes sense since it is just a basis. However, he shows it setting the [x'' y'' z''] matrix to [1 0 0], multiplying it by the rotation matrix, and showing what components in the matrix make up the x-axis. In his paper he somehow gets this:
position of the local point (1,0,0) in global space
[ x  y  z ] = [ Rxx  Rxy  Rxz ]
However, when I use my knowledge of simple matrix arithmetic I get this:
position of the local point (1,0,0) in global space
[ x  y  z ] = [ Rxx  Ryz  Rzx ]
I think his way is right since it is the columns of the matrix that form the basis, but the way he proved it seems wrong. So ... is his way right? And if so why does the way he proved it seem mathematically incorrect? Thanks ...

Share this post


Link to post
Share on other sites
Advertisement
it looks to me that you are wrong , you have to multiply the
components of the vector with the column of the matrix so
the first form of the first column of the resulting matrix is correct your version is a nonsense, try to look better at the matrix multyplications.


Share this post


Link to post
Share on other sites
Ohhh, ok, ok ... well, that''s why I posted ... I had been looking at the problem for about 30 mins and I knew I would never see it so I needed someone else to point it out ... well, thanks ...

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!