Inertia of "assembled" polygons

Started by
2 comments, last by Emergent 15 years, 7 months ago
Hi, it's me again ^^ I am currently developing a physics engine based on SAT and rigid body dynamics. However both methods only work for convex polygons. Ok, I thought, no problem, since virtually any concave polygon can be created by "assembling" a number of convex polygons. So this is exaclty what I tried. As for the mass of those objects, I simply clipped them together using the GPC library, calculated the resulting total area and multiplied it by the density. The total CM was easy too. Calculate the individual CMs and treat them as a set of point masses. However, I am utterly lost when it comes to the inertia around the total CM. No idea at all ... Does anyone have a suggestion? Some fomulae or code to point me in the right direction? Thanks in advance, ChaosIII
Advertisement
I'm not entirely sure on how to go about that, but :

http://www.physicsforums.com/showthread.php?t=227818

http://lab.polygonal.de/2006/08/17/calculating-the-moment-of-inertia-of-a-convex-polygon/

So I suppose, it's just like for a convex polygon. You decompose into triangles, and sum their moment of inertia accordingly.

Everything is better with Metal.

The "inertia around the total CM", for the purpose of dynamic calculations, is the moment of inertia, which depends on the choice of rotation axis and is the integral over the whole object of density*distance to the axis squared.
The moment of inertia computation can be decomposed into integrals over convenient pieces; has simple closed-form solutions for many cases such as polygons and uniform density; and can sometimes be reduced to lower-dimensional integrals.

The Wikipedia article has plenty of formulas and theory; in the 2D case the formulas given there collapse to much simpler forms.

An article by Brian Mirtich explains clever approaches for calculations very explicitly.

Omae Wa Mou Shindeiru

Once you know the mass and center-of-mass (CM) of a portion of your larger body, you can pretend that it is just a particle with that mass located at the CM. From there, use the Wikipedia info to compute the inertia tensor.

This topic is closed to new replies.

Advertisement