Jump to content
  • Advertisement


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


inertia tensor question

This topic is 5549 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

Lets asume i have a rigid body represented as a solid rectangle with principal moments of inertia Ip = [(Ixx,0,0) (0,Iyy,0) (0,0,Izz)]. A local orthogonal coordinate frame ''R'' is asociated with the body. The orientation of my rigid body in world coordinates is represented by a rotation quaternion and a origin. I understand the formula I = R*Ip*R'' where R is the orthogonal coordinate frame ant I is the inertia tensor in world coordinate frame. But how do i calculate a inertia tensor in local coordinate frame? Isnt ''Ip'' the inertia tensor in local frame?

Share this post

Link to post
Share on other sites
You inverted everything As far as I am concerned, I tranform the local inertia tensor to world coordinates, to apply contact forces and external forces from the world.

If you do have an orientation within the rigid body (like the rigid body is oriented some way, and the rectangle another within the rigid body), then I guess

I = R * Ip * R''

then to convert the rigid body inertia to world coordinates, you apply the same formula, but using the rotation quaternion on top of it.

Matrix S = Quaternion

Iworld = S * I * S''

So I is relative to the rigid body, Iworld is relative to the world, and Ip is relative to the rectangle.

to convert the Iworld back to the rigid body orientation,

Iworld = S * I * S''

=> IWorld * S = S * I * S'' * S

=> Iworld * S =S * I * Identity

=> Iworld * S = S * I

=> S'' * Iworld * S = S'' * S * I

=> S'' * Iworld * S = I

and you do the same to get Ip

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!