
GAME & MEDIA TECHNOLOGY (MSC PROJECTS)
Pool Physics Simulator
A physics-based pool simulator.
Overview
A physics-based pool (billiards) simulator that combines accurate collision resolution with event-driven simulation. Information about the simulation's state is used to predict the next event. An event could be either a ball-ball collision, a ball-wall collision, or a change of motion state.
Algorithm
1. Apply forward Euler for the current time step. 2. Determine all events within that time step. 3. Pick the first event (with minimum t). 4. If there is an event: A. Apply Euler backwards. Roll back to the exact time the event happened. B. Resolve collision. C. Go to step 1 of the algorithm with the rest of the time frame. 5. Update accelerations and velocities.

Motion States of a Ball
Different states can be created based on how and where the cue hits the ball. The different motion states of a ball are sliding, rolling, spinning and stationary.