The Way Balls Bounce.

Ever wondered why a ball is bouncy?

This Java applet simulates the bounce of an air-filled ball, like a children's playball or a basketball. You can change the speed of the ball by changing the height from which it is dropped and you can also change the pressure in the ball. The program shows how the ball distorts as it bounces and calculates the contact time, the maximum diameter of the contact area (the "footprint") and the "efficiency", which means the height of the bounce compared to the drop height. The model gives excellent agreement with the behaviour of a real ball. More advanced options allow you to change the size and mass, the elastic modulus of the rubber and the decay time for vibrations in the rubber. The precision of the simulation can be changed by varying the number of horizontal rings and the time represented by one cycle of calculations.

NB Some combinations of parameters will cause the simulation to crash. In this case, the best solution is to decrease the time step

To see the applet run in a full size window, click here.

The model was originally worked out to explain the results obtained by pupils at the King's School Canterbury in practical investigations of the bounce of a ball, undertaken for their GCSE Physics projects. If you are interested, you could look up The way balls really bounce in Physics Education, 33(4), July 1998. The first version of the program was written in Basic but I have now converted it into Java; you can see the source code for the applet window here and all the actual physical calculations here. The simulation works by slicing the ball into a stack of horizontal rings and calculating the forces between the rings and the motions which result. The default setup has 100 rings but this can be changed.