Game Development Reference

In-Depth Information

G
= m
v

where
G
is linear momentum of the body,
m
is the body's mass, and
v
is velocity of the

center of gravity of the body. The time rate of change of momentum is the derivative of

momentum with respect to time:

d
G
/dt = d/dt (m
v
)

Assuming that the body mass is constant (for now), you can write:

d
G
/dt = m d
v
/dt

Observing that the time rate of change of velocity, d
v
/dt, is acceleration, we arrive at:

d
G
/dt = m
a

and:

∑
F
= d
G
/dt = m
a

So far we have considered only translation of the body without rotation. In generalized

3D motion, you must account for the rotational motion of the body and will thus need

some additional equations to fully describe the body's motion. Specifically, you will

require analogous formulas relating the sum of all moments (torque) on a body to the

rate of change in its angular momentum over time, or the derivative of angular mo‐

mentum with respect to time. This gives us:

∑
M
cg
= d/dt (
H
cg
)

where
∑
M
cg
is the sum of all moments about the body center of gravity, and
H
is the

angular momentum of the body.
M
cg
can be expressed as:

M
cg
=
r
×
F

where
F
is a force acting on the body, and
r
is the distance vector from
F
, perpendicular

to the line of action of
F
(i.e., perpendicular to the vector
F
), to the center of gravity of

the body, and × is the vector cross-product operator.

The angular momentum of the body is the sum of the moments of the momentum of

all particles in the body about the axis of rotation, which in this case we assume passes

through the center of gravity of the body. This can be expressed as:

H
cg
= ∑
r
i
× m
i
(
ω
×
r
i
)