Game Development Reference
Figure 5-2. Example billiard ball collision
Both balls are a standard 57 mm in diameter, and each weighs 156 grams. Assume that
the collision is nearly perfectly elastic and the coefficient of restitution is 0.9. If the
velocity of ball 1 when it strikes ball 2 is 6 m/s in the x-direction, as shown in
Figure 5-2 , calculate the velocities of both balls after the collision assuming that this is
a frictionless collision.
The first thing you need to do is recognize that the line of action of impact is along the
line connecting the centers of gravity of both balls, which, since these are spheres, is also
normal to both surfaces. You can then write the unit normal vector as follows:
n = ((2 r ) 2 - r 2 ) - r
n = (0.866) i - (0.5)j
where n is the unit normal vector, r is the ball radius, and i and j represent unit vectors
in the x- and y-directions, respectively.
Now that you have the line of action of the collision, or the unit normal vector, you can
calculate the relative normal velocity between the balls at the instant of collision.
v rn = [ v 1- - v 2- ] • n
v rn = [(6 m/s) i + (0 m/s) j ] • [ (0.864) i - (0.5) j ]
v rn = 5.18 m/s
This will be used as v 1n- in the following equations. Notice here that since ball 2 is initially
at rest, v 2- is 0.
Now you can apply the principle of conservation of momentum in the normal direction