Sign in to follow this  

About the inertial tensor matrix

This topic is 4341 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 have some questions about the inertial tensor matrix of an object. Boxes, cylinders, spheres and anothers have a 0 value in the off-diagonal terms of the matrix. What to say about it? does all the convex polyhedra have 0 values in the off-diagonal terms? The diagonal terms 11, 22 and 33 are related to the inertial tensor of x, y and z rotations respectivelly. To what are the off diagonal terms related? xy, xz, yx, yz, zx and zy rotations?!? I don't understand this...what is the axis for these rotations? I cant see them!! I'm using this method to compute the inertial tensor matrix for my objects. But, I have a problem. For example when computing the inertial tensor matrix of a sphere, I should get 0 values for the off-diagonal terms, right? But I'm getting a bit low values like 0.00005 aproximately and this way when I invert my matrix (to compute impulses etc...) I will get 1/0.00005 which will give a high value (20000) and it makes my simulation explode!!! Please give your opinion about this method. If you know a better one please show me... Thanks :)

Share this post


Link to post
Share on other sites
The inertial tensors for basic solids tend to be diagonal because those solids are expressed in a "simple" orientation. For instance, the cylinder was oriented along one axis, and its crosssection (dig the triple consonant!) was parallel to the other two. If your cylinder was (say) at a 45 degree angle, the tensor would no longer be diagonal.

Here's a pretty good intuition for the inertial tensor: imagine a solid sphere, centered at the origin, with moment of inertia 1. The inertial tensor is a transformation matrix which transforms that sphere into an ellipsoid. (For a diagonal tensor, it'll be an axis-aligned ellipsoid; otherwise, it won't be.) The ellipsoid has the same angular momentum properties as the object which generated the tensor.

Share this post


Link to post
Share on other sites
This sounds like a floating point precision problem. You should chop very small values to zero to avoid problems like that. Doing so, shouldn't impose a problem. (assuming your objects are not deformable - thus the inertia matrix remains constant) You should precalculate the inverse inertia matrix in model coordinates, and perform a similarity transform to the current orientation whenever you need the matrix to derive the angular velocity for the given instance.

Share this post


Link to post
Share on other sites

This topic is 4341 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this