Czy istnieje algorytm gry w bilard?

Szukam algorytmu do obliczania kierunku i prędkości piłek w grze bilardowej. Jestem pewien, że musi istnieć jakiś rodzaj kodu typu open source, ponieważ gry w basenie są jednymi z najstarszych gier komputerowych, jakie pamiętam. Mam na myśli, że kiedy jedna piłka uderza drugą, potrzebuję...