Pool Shot Calculator
Directions:

This applet calculates what direction the red pool ball can be hit from so that it will go into a pocket chosen by you. Arrange the balls how you like and select a pool pocket by clicking on it. Then hit the "calculate" button. When the applet is finished calculating a shot, click "Make shot" to see the shot animated on the table.

How It Works:

First the applet reflects the main pool table to create many others, so that each small pool table is a reflection of its neighbors.. All of the balls but the red one are reflected along with the table. The reflected tables overlap by a width of a pool ball's diameter because the pool balls are being treated as points at their centers, and those points never touch the walls of the table. By overlapping them, a border around each table the thickness of a ball's radius is removed from consideration. Paths are drawn from the red ball to the chosen pocket of the reflected tables until a path is found that does not cross any other pool balls or pockets. From this path, the angle the red ball should be shot at is calculated.

Why It Works:

It is a law of physics that when a particle reflects (or when a ball bounces off a surface), the angle of incidence equals the angle of reflection. In reality, the ball is what is reflected, not the table, but the table being reflected with the ball continuing in a straight path is conceptually equivalent.

Conservation of Momentum
Directions:

Click on a ball and drag to create a velocity vector. This will give the ball a velocity proportional to the length of the line you drew and in the direction that you drew it. Press reset to start over.

How It Works:

This applet uses conservation of momentum to calculate the speed and direction of the balls.