Game Development Reference

In-Depth Information

(

)

(

)

′

=+

2

m

rsE

⋅

+

m

s

2

E

kk

3

k

3

k

k

(

)

(

)

r

s

s

r

s

s

.

(14.98)

−

m

⊗

−

⊗

m

−

m

⊗

kk

kk

k

k

k

k

Now, if the origin of the coordinate system coincides with the center of mass,

then the summation

k
r
is equal to the point 0, 0, 0 . This allows us to make

a tremendous simplification because all of the terms in Equation (14.98) contain-

ing this summation vanish. We therefore can use the formula

kk

(

)

′ =+

ms

2

Ess

−⊗

(14.99)

3

to transform an inertia tensor from a coordinate system in which the center of

mass lies at the origin to another coordinate system in which the new origin lies

at the point
s
in the original coordinate system. Note that the sign of
s
does not

matter because it is squared in both terms where it appears in Equation (14.99). A

translation by a certain distance in one direction produces the same inertia tensor

as a translation by the same distance in the opposite direction.

It's important to understand that Equation (14.99) can only be applied once

to an inertia tensor in order to move it away from the center of mass. After the

inertia tensor has been moved, it no longer uses a coordinate system in which the

origin coincides with the center of mass, but that condition must be true for

Equation (14.99) to be valid. However, it is possible to recover the inertia tensor

from the offset inertia tensor

if the vector
s
is known, once again allowing

Equation (14.99) to be used to perform a new offset.

′

Example 14.6.
Determine the inertia tensor for an axis-aligned box of constant

density
ρ
in a coordinate system where the box's center of mass lies at the

origin.

Solution.
We already calculated the inertia tensor for a box in Example 14.4, but

it was in a coordinate system where the origin coincided with one of the corners

of the box. We can treat this as the transformed inertia tensor

in Equation

(14.99) and recover the inertia tensor about the center of mass by solving for

with an offset

′

=

,,

. This gives us

s

a
bc

222

Search Nedrilad ::

Custom Search