09 Rigid Bodies
09 Rigid Bodies
Jan Bender
Physically-Based Animation
Physical properties
Basics
Equations of Motion
Simulation of Joints
2
A particle has 3 degrees of freedom.
In contrast to a particle a rigid body has a volume and therefore a
rotation. This means that a rigid body has 3 additional degrees of
freedom for the rotation.
Example:
3
Mass
Center of mass
Velocity
4
Inertia tensor
Rotation
Angular velocity
5
Center of mass of n mass points
6
Describes the inertia of the body with respect to rotations
7
8
The inertia tensor is symmetric and the entries of the matrix are
defined as:
9
Inertia tensor for a body with continuous mass distribution and
density function
10
Inertia tensor of an axis-aligned cuboid with edge lengths a, b and
c:
11
By a main axis transformation we get a tensor in diagonal form:
12
The inertia tensor is constant in the local coordinate system
The transformation from local to global coordinates is performed
with the current rotation matrix of the body R:
13
Euler Angles
Rotation Matrix
Unit Quaternion
14
Euler angles represent a sequence of 3 rotations about 3 axes (the
order of the rotations is important).
3 rotational degrees of freedom are represented by 3 values → no
redundancy
Problems
Not unique
Glimbal lock
Not suited for computations in a simulation
15
Rotation about x-, y- and z-axis
16
Total rotation
17
A sequence of 3 rotations about 3 axes (the order of the rotations is
important).
3 rotational degrees of freedom are represented by 9 values →
redundancy
Well-suited for computations in simulation
Rotation matrix is orthonormal
➢ This property must be maintained during a simulation.
18
19
Sir William Rowan Hamilton 1843
20
The quaternion algebra is often denoted by (Hamilton). The
system of quaternions extends the complex numbers.
Conjugate quaternion:
21
Rotations can be represented by unit quaternions:
A point a is rotated by
22
Addition
Subtraction
23
Multiplication
24
Inverse element
25
Conversion of a unit quaternion to a rotation matrix:
26
27
28
Conversion of a rotation axis and a rotation angle to a unit
quaternion
29
30
Unit quaternions represent 3 rotational degrees of freedom by 4
values → redundancy.
Well-suited for computations in simulation
Quaternions must be normalized
➢ This property must be maintained during a simulation.
31
Quaternion are less redundant
➢ Differential equation in simulation “only” four-dimensional
➢ Numerical error is smaller
Rotation matrix must be orthonormalized, unit quaternion only
requires normalization
The computation of a sequence of rotations is cheaper using
quaternions, a rotation of points is less expensive using rotation
matrices
32
Angular velocity is represented by a 3D vector
Its direction is the rotation axis
Its magnitude the velocity (rad/s)
33
Physical properties
Basics
Equations of Motion
Simulation of Joints
34
Each cross product can be written as matrix product by using the cross
product matrix :
35
The velocity of a point a in a rigid body k is defined as:
36
If a force/momentum acts on a point a which does not lie in the
center of mass, we get a torque/angular momentum:
right-hand rule
Quelle: Wikipedia
37
Physical properties
Basics
Equations of Motion
Simulation of Joints
38
Mass:
Position:
Velocity:
39
The change of a position vector
40
The change of the rotation matrix of a rigid body k is described by
the differential equation:
41
Angular momentum:
Derivative:
where
42
The inverse inertia is determined by:
Derivative:
where
43
The cross product matrix is antisymmetric which yields
44
Substituting in the equation for the angular acceleration yields:
45
Inertia tensor:
Rotation matrix:
Angular velocity:
46
Inertia tensor:
Quaternion:
Angular velocity:
47
particle_system_rb.html
https://interactivecomputergraphics.github.io/physics-simulation/examples/particle_system_rb.html
48
Physical properties
Basics
Equations of Motion
Simulation of Joints
49
External forces act from the outside on a whole system of bodies
(e.g. gravitation).
Internal forces act between the single bodies of a system (e.g. if the
bodies are linked by joints).
The energy in a multibody system must stay constant. Therefore,
the sum of all internal forces must be zero.
50
We can constrain the degrees of freedom of a body by defining
and enforcing so-called constraint functions.
We differentiate between holonomic and non-holonomic
constraints.
51
kinematic
constraints
holonomic nonholonomic
constraints constraints
52
A holonomic constraint limits the motion of a body by enforcing an
implicit function:
This function can only depend on the current position of the bodies
and the time parameter t.
Example:
53
A holonomic constraint reduces the degrees of freedom of the
body system.
Each scalar linear equation eliminates exactly one degree of
freedom.
Example:
54
All other constraints are called non-holonomic.
The most important non-holonomic constraints are:
Velocity constraints
Inequality constraints
55
A non-holonomic constraint has no direct and permanent
relationship to the degrees of freedom of the system.
A constraint which does not explicitly depend on the time
parameter is called scleronomic, otherwise it is called rheonomic.
56
Joints reduce the degrees of freedom if the multibody system
permanently.
➢ A joint defines a holonomic constraint.
57
ball joint
hinge joint
slider joint
58
59
60
Goal: Enforce the holonomic constraints of the joints by forces,
impulses or position changes.
Methods:
Penalty method
Lagrange multiplier method
Reduced coordinates
Position-Based Rigid Body Dynamics
In the following the penalty method is introduced.
61
The penalty method adds a force to the multibody system when a
constraint is violated.
This force must counteract the violation.
The magnitude of the force is proportional to the magnitude of the
violation.
62
Since the gradient of the constraint function gives us the direction
in which the constraint violation rises most quickly, we use the
negative gradient as force direction.
In the following the penalty method is introduced for constraints
which do not depend on the rotation of the body. Extending the
method for rotation constraints is straightforward but requires the
derivatives with respect to the rotational degrees of freedom.
63
For a holonomic constraint
64
The penalty force
65
Considering the temporal derivatives of the constraint,
improves the method:
66
The temporal derivatives of the constraint function improve the
stability.
The parameters can be interpreted as strength, natural
frequency and damping ratio of a spring.
67
The force of a velocity condition
is determined as:
68
The penalty forces are added to the external forces and then the
equations of motion can be solved numerically.
69
Advantages:
Easy to implement
High performance
Disadvantages
Constraints are fulfilled approximately
More accurate results are only possible for a large value of but this
leads to stiff differential equations
Good choice of parameters is hard
70
Other simulation methods:
Lagrange multipliers
Reduced coordinates
Impulse-based method
Position-based rigid body dynamics
71
David Baraff, „Physically Based Modeling“, Siggraph 2001 course
notes, http://www.pixar.com/companyinfo/research/pbm2001
72