Steiner's Theorem for Composite Bodies
Posted: Sun May 01, 2016 12:57 am
In calculating the inertia tensor for composite bodies in 3D one can use Steiner's Theorem (also called the Parallel-Axis Theorem, https://en.wikipedia.org/wiki/Parallel_axis_theorem) to shift the local tensor to another point, specifically to each shape's respective local transform and additionally the center of mass for the entire body. This process is described by Dirk Gregorius http://www.bulletphysics.org/Bullet/php ... f=4&t=3702.
I understand the use of Steiner's Theorem in this algorithm, but I do not understand why the Steiner term is added when shifting to the shape's transform and subtracted when shifting to the center of mass of the entire body. Box2D performs a subtraction as well in b2Body::ResetMassData to center the inertia about the center of mass. Furthermore, I'm actually unsure as to how this operation is correct. I would figure that for each shape the tensor would need to be shifted from it's local position to the final center of mass for the entire body. Bullet seems to do just this in btCompoundShape::calculatePrincipalAxisTransform, and with an addition instead of a subtraction.
If someone could shed some light as to this derivation and edify me on the physics, that would be greatly appreciated!
I understand the use of Steiner's Theorem in this algorithm, but I do not understand why the Steiner term is added when shifting to the shape's transform and subtracted when shifting to the center of mass of the entire body. Box2D performs a subtraction as well in b2Body::ResetMassData to center the inertia about the center of mass. Furthermore, I'm actually unsure as to how this operation is correct. I would figure that for each shape the tensor would need to be shifted from it's local position to the final center of mass for the entire body. Bullet seems to do just this in btCompoundShape::calculatePrincipalAxisTransform, and with an addition instead of a subtraction.
If someone could shed some light as to this derivation and edify me on the physics, that would be greatly appreciated!