Game Development Reference
In-Depth Information
the equations above, we get the post-impulse point velocities:
1 = v
1 + ω
1
u
× r 1
−1
= v 1
1 ) × r 1
= v 1 − k n /m 1 + ω 1 × r 1 − k(( r 1 × n ) J
− k n /m 1 + (ω 1
− ( r 1
× k n ) J
Post-impulse velocities
at the point of contact
−1
1 ) × r 1
= ( v 1 + ω 1 × r 1 ) − k n /m 1 − k(( r 1 × n ) J
−1
1
) × r 1
−1
1
= u 1
− k n /m 1
− k(( r 1
× n ) J
) × r 1 ,
−1
2 = u 2 + k n /m 2 + k(( r 2 × n ) J
2 ) × r 2 .
u
Defining u rel = u 1
u 2 as the relative point velocity, we are now ready to
grind through the algebra:
rel
−e u rel n = u
n ,
1
2 ) n ,
−e u rel n = ( u
u
−1
1
−e u rel
n = [ ( u 1
− k n /m 1
− k(( r 1
× n ) J
) × r 1 )
−1
2
− ( u 2 + k n /m 2 + k(( r 2
× n ) J
) × r 2 ) ] n ,
−e u rel
n = [ ( u 1
u 2 ) − k n /m 1
− k n /m 2
−1
1 ) × r 1 ) − k(( r 2 × n ) J
−1
2 ) × r 2 ) ] n ,
− k(( r 1 × n ) J
−1
1
−e u rel
n = u rel
n − k[ (1/m 1 + 1/m 2 ) n + (( r 1
× n ) J
) × r 1 )
−1
2
+ (( r 2
× n ) J
) × r 2 ) ] n ,
−1
−(e+1) u rel n = −k[ (1/m 1 + 1/m 2 ) n + (( r 1 × n ) J
1 ) × r 1 )
−1
2 ) × r 2 ) ] n .
With one more step, we have the formula we're seeking.
+ (( r 2 × n ) J
Collision Response with Rotation
The magnitude of the collision impulse can be calculated from the relative
point velocity, masses, moments of inertia, surface normal, and coe cient
of restitution, by
(e+1) u rel n
k =
) × r 2 )] n .
(12.32)
−1
1
−1
2
[(1/m 1 + 1/m 2 ) n + (( r 1
× n ) J
) × r 1 ) + (( r 2
× n ) J
Search WWH ::




Custom Search