Contents · Physics Engines
Part 0 · Orientation
Part 1 · Mathematical Foundations
- Rotations: SO(3), Quaternions, and the Exponential Map
- Spatial Algebra: Twists, Wrenches, and se(3)
- Rigid-Body Dynamics: Inertia and the Mass Matrix
- Maximal vs Minimal Coordinates
Part 2 · Equations of Motion
Part 3 · Time Integration
Part 4 · Collision Detection
Part 5 · Contact & Constraints
Part 6 · Constraint Solvers
Part 7 · Position-Based Dynamics
Part 8 · GPU & Parallelism
Part 9 · Differentiable Simulation
Part 1 · Mathematical Foundations
Spatial Algebra: Twists, Wrenches, and se(3)
Rotations handled orientation. A moving rigid body also translates, and the two are coupled: a point far from the center moves fast when the body spins. Spatial vector algebra, the notation Featherstone's algorithms are written in, packs the angular and linear parts into one 6D object so the coupling is automatic.
Twists: one velocity for the whole body
A rigid body's instantaneous motion is fully described by a twist (spatial velocity),
angular velocity stacked on the linear velocity of the body-fixed origin. The velocity of any point then falls out directly, . Chasles' theorem says every rigid motion is a screw: a rotation about some axis plus a translation along it. In the plane the screw degenerates to a pure rotation about a single stationary point, the instantaneous center. Change the twist and watch that center move:
The red point has zero velocity. The whole body is instantaneously rotating about it.
Wrenches and spatial inertia
Forces get the same treatment. A wrench stacks torque on force,
and it is dual to a twist: mechanical power is the pairing . The mass distribution becomes a single spatial inertia , so that momentum is and the entire Newton-Euler law for one body collapses to a single line,
where is the spatial cross product acting on forces (there is a matching for motions).
Why bother
Two payoffs. First, coordinate changes between links are one transform (a Plücker transform), instead of separate rotation-and-offset bookkeeping for angular and linear parts. Second, the recursions that make minimal-coordinate simulation fast, the articulated-body algorithm and its relatives, are written as short loops over a kinematic tree in exactly this notation. That is the subject of Part 2: the manipulator equation, then Featherstone's algorithms built on these spatial vectors.