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 )