Click "toss the ball" for an animation. Initially, the ball is tossed horizontally with speed 1 m/s from a height of 1.5 m onto a flat floor. The ball has normal and tangential coefficients of restitution of 0.7 and 0.8. (That means the normal and tangential speeds are reduced by factors of 0.7 and 0.8 at each bounce.) It takes 3.10 seconds for the ball to bounce 13 times, and then it has moved horizontally 1.96 m. The formulas below show the ball has finished bouncing at time 3.135, and it is stopped at (1.96, 0). After the first toss, the path and bounce points of the ball are displayed, and change as controls are varied. The bounce time and final position are shown when the floor is flat. If "wavy floor thickness" is positive, the ball lands on a wavy surface, and you can adjust the waviness. It is surprising that if the normal and tangential coefficients of restitution and satisfy and , then the ball will come to rest in finite time. We compute the stopping time and final ball position for a flat floor. Suppose the ball is tossed onto a flat floor from , where and , with initial velocity , where , and assume zero turnaround time. Let be the ball's velocity at the rebound and let be the coordinates of the ball at its maximum height after the bounce, . Let be the time of the first bounce, and let be the time it takes the ball to fall from to the floor, . Then satisfies and the vertical velocity at is . Thus and . Also, and . For , , , , , and . Hence and for . Therefore, , . For , the ball is at at time , , and . It follows that the ball is stopped at at time . If the floor is frictionless and , the ball has ceased bouncing at time , but continues sliding with speed .
The bouncing ball program assumes that if the tangential and normal components of velocity are and before a bounce, they are and after the bounce, where . We have generalized so the reflected components are and  , where we call the tangential coefficient of restitution and the normal coefficient of restitution. There may be a reason to assume , but is the usual coefficient of restitution, and seems to be a frictional effect. Of course, friction would affect rotation, which we ignore.
