Graphics Reference
In-Depth Information
which indicates that we only need to solve for the momentum change of one object
explicitly.
Now consider a system with more objects. If we assume that all collisions
are pairwise and that exactly one collision occurs at a given time t 0 , then we can
ignore the change in momentum of all objects except i and j and still apply Equa-
tion 35.59. This also requires that we be able to assign a strict ordering on multiple
collisions. When a simulator encounters a multibody collision the assumption has
been violated, and assigning an artificial ordering creates instability. For example,
each internal object in a stack continuously collides with two other objects, so it
is not surprising that impulse-based simulators often are unstable in the presence
of stacked objects.
The linear momentum change in a collision is given by [BW97a]
( x i ( t 0 )
x j ( t 0 ))
Δ p i ( t 0 )= n ( 1 +
ε i , j ) n
·
and Δ p j ( t 0 )=
Δ p i ( t 0 ) ,
m i + m j
1
(35.60)
where
ε i , j is the coefficient of restitution (a measure of how much they resist
interpenetration) between objects i and j , n is the unit normal to the contact plane,
and m is mass. ( Δ p i ( t 0 ) is often denoted j i .)
One nice property of this equation is that it is expressed in terms of inverse
masses, rather than masses. This means that the limit of Δ p as one of the masses
goes to infinity exists and is finite. In practice, it is useful to pin certain objects so
that they are not affected by collisions. For example, in a human-scale simulation,
simulating the Earth, or even a building as having infinite mass introduces no sig-
nificant error and typically leads to a simpler implementation of these immovable
objects. Beware that assigning infinite mass to a moving object can lead to unde-
sirable behavior, since that object's momentum is then also infinite. For example,
if a train following a prescripted spline strikes a car simulated by dynamics, that
car will receive infinite momentum in the collision.
A common model is
ε j ) , where the single-object coefficients
are chosen to such that more deformable materials have lower
ε i , j =min(
ε i ,
ε
. In a perfectly
inelastic collision, the objects stick together after collision.
35.6.6 Dynamics as a Differential Equation
Digital computers have limited precision. Therefore, with every iteration of the
Heun-Euler Equations 35.37 and 35.38, some error will be introduced. The longer
we simulate, the less predictable, and potentially, the less accurate, our solution
will be. Of course, unless the forces really were piecewise-constant, approximat-
ing them as piecewise-constant is another source of error. Smaller time intervals
will lead to finer sampling of the forces and therefore improve accuracy. However,
we need many more iterations to span a given time period with small intervals,
so there will be more computation and more accumulated error. We now con-
sider numerical methods for solving for x that relax the assumption of piecewise-
constant force. These allow fairly large time intervals without undersampling
force, which can mitigate the accumulated error problem without increasing the
net amount of computation.
Let the function describing the state of the universe at time t be
X ( t )= x ( t )
x ( t )
.
(35.61)
 
 
 
Search WWH ::




Custom Search