Archived

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

Inertia Tensor Changes

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

Why is the center of mass changing if the geometry remains a box or sphere? The center of mass would only change if the mass distribution changes and for a continuous solid or shell, this will happen when:

1) the boundary shape deforms; or,
2) the density is not constant within the solid

If the density is constant and the boundary remains a perfect brick-shaped box or perfect sphere, the center of mass remains at the center for all time.

I'm assuming no chemical or nuclear reactions.

Graham Rhodes
Senior Scientist
Applied Research Associates, Inc.

[edited by - grhodes_at_work on November 10, 2003 8:54:59 PM]

Share this post


Link to post
Share on other sites
There are fairly straightforward formulas for calculating the inertia tensor of a sphere or rectangular prism of constant density - I assume you''re using those to calculate your tensors? I don''t know that there''s anything equivalent for primitives with a displaced center of mass. In these cases, you may have to decompose your object into subobjects, and sum those.

The book ''Physics for Game Developers'' has a good explanation of how to calculate the inertia tensor for a collection of linked rigid bodies.

Share this post


Link to post
Share on other sites
the inertia tensor needs to be rotated with the object's orientation, obviously.

Inertia = Orientation * LocalInertia * Orientation.Inverse();


[edited by - oliii on November 11, 2003 8:37:05 AM]

Share this post


Link to post
Share on other sites
quote:
Original post by oliii
the inertia tensor needs to be rotated with the object''s orientation, obviously.

Inertia = Orientation * LocalInertia * Orientation.Inverse();


[edited by - oliii on November 11, 2003 8:37:05 AM]


Uhm. I do that, but one question. Does that REALLY change anything??? I mean, I look at my matrix before and after and it doesn''t seem to change from the LocalInertia. Doesn''t the inverse multiply afterwards cancel out the first since the LocalInertia is just a scalar matrix???

Share this post


Link to post
Share on other sites
actually, you might be right. I only tried with centred objects. Shifting the centre of mass would definitely affect the inertia. I suppose, you need to calculate the inertia matrix properly, integrate along the three axis, and make sample points close to the centre of mass with a larger ''mass'', so the inertia will shift towards the centre of mass. There are plenty of tutorials on how to do it on the net. Here''s one

Rigid Body Simulation Tutorial

Share this post


Link to post
Share on other sites