Preliminaries

To fully appreciate the PBD approach, it is essential to first understand the classical formulation of Lagrangian dynamics it gets inspired. The state of a dynamic system composed of particles is described by their individual mass , position , and velocity . The evolution of this system is governed by a pair of first-order ordinary differential equations derived from Newton's second law: where is the sum of all forces on particle .

Rigid bodies require additional attributes to describe their rotational state: an orientation quaternion , an angular velocity , and an inertia tensor . The rotational motion is then described by the Newton-Euler equations: where is the net torque and is the quaternion .

To simulate this evolution, these continuous equations are discretized using a numerical integrator. The Symplectic Euler method updates the velocity first, then uses this new velocity to update the position, improving stability over standard explicit Euler. For a particle, with time step , the update is: This procedure is applied analogously for rigid body states.

Remark 32.1.1 (Quaternion Normalization). Due to numerical integration error, the quaternion may drift from unit length. It is essential to re-normalize the quaternion after each integration step to maintain a valid rotational state.

Finally, interactions and physical limits are modeled using holonomic constraints, which depend only on positions and orientations, but not velocities! Constraints are kinematic restrictions in the form of equations and inequalities that constrain the relative motion of bodies. An equality (bilateral) constraint takes the form , while an inequality (unilateral) constraint is . In classical dynamics, these are satisfied by computing constraint forces and adding them to in Equation (32.1.1). It is this specific mechanism for handling constraints that PBD fundamentally changes.