- Rigid Body Simulation builds off of the dynamics of Particles.
- Each particle has an associated position and velocity 1 . The entire system has a state
The dynamics follow that of Newton (see the ODE below)With initial conditions
and .
- We assume that we numerically solve our differential equations.
From Particles to Rigid Bodies
Theory
-
Rigid Bodies are characterized with both a translation
and a rotation . -
Rigid Bodies are not scaled. Therefore, we define a fixed space called the Body Space.
and transform the body space to world space. -
Assume: The Center of Mass is at the origin.
can be interpreted the location of the center of mass at time (see below). This can be proven mathematically. can be interpreted as the position of the axes in body space at time .
-
Every point
on the rigid space (in Body Space) is transformed as follows: -
Linear velocity is defined as
-
If we have a rotation matrix, then we can define the angular velocity as follows
Where
And we apply this column wise so that
-
To calculate mass, we conceptually assume that the rigid body is composed of
particles. Let denote the location of the particle in rigid body space. The dynamics of this particle are the same as that of the rigid bodyThe total mass
is simply the sum of all individual particle masses- The velocity of a particle can be calculated using its dynamics 2
- The center of mass of the system is defined as
The body coordinate system is defined so that
- One important relation is as follows
Intuitively this says that the first moment of mass is
.
- The velocity of a particle can be calculated using its dynamics 2
-
To introduce dynamics, we assume that at a geometric location of interest on the rigid body, there is a particle. Let
be the total force from external forces on particle . Also let be the external torque.The torque is defined as
-
The total force and total torque is defined as 3
- The torque tells us the distribution of forces on the body.
-
The momentum of the system is defined as the total momentum of our particles
- Thus, the linear momentum and the force are related as follows
- Thus, the linear momentum and the force are related as follows
-
The angular momentum of the body is defined as
Where
is the inertia tensor. The Torque and the Angular Momentum are related as follows: -
As a sanity check, we have that linear momentum is not dependent on the body’s rotation and angular momentum is not dependent on the body’s translation.
-
The Inertia Tensor
is defined as follows. Let be the displacement of the -th particle from the center of mass, then is defined using the following- Another way to write this is as follows. Denote
as the Identity Matrix. Then𝟙 Note that𝟙 𝟙 𝟙 𝟙 𝟙 is an orthogonal matrix so that . We also treat𝟙 as a scalar. - Now define the mass of the body as
The Inertial Tensor is then
𝟙
- Another way to write this is as follows. Denote
Implementation Considerations
-
The state of the rigid body
is now defined asWe assume that
and are constants.We also compute
To calculate the derivative
-
The rotation transformation
can be represented either as a matrix or as a Quaternion. -
The Quaternion Approach is better since it is less susceptible to drift when numerically computed.
- We represent the quaternion
as . - Each quaternion is assumed to be a unit quaternion.
- Rotation of
radians about a unit axis is then represented as - The product
of the quaternions indicate composite rotation. - Angular velocity is defined using
- The Rotation Matrix is then derived from the quaternion
when we need it.
- We represent the quaternion
Contact and Collision
Links
- 4 - Primary Source and Seminal Paper.
Footnotes
-
We may also interpret this as each particle’s state being a phase in a phase space (in the Physics sense where mass is
, not the Differential Equations sense) ↩ -
Intuitively, the movement of the particle is defined as first rotating about the center of mass, then translating in world space. The former is done by considering its position in world space
. The latter is done by following the velocity of the rigid body. ↩ -
Notice that all summation formulas of this form are really discretized methods for doing integrals. ↩
-
Barach (1997). An Introduction to Physically Based Modeling: Rigid Body Simulation I—Unconstrained Rigid Body Dynamics ↩