¿Hay algún algoritmo para un juego de billar?

Estoy buscando un algoritmo para calcular la dirección y la velocidad de las bolas en un juego de billar. Estoy seguro de que debe haber algún tipo de código fuente abierto para esto, ya que los juegos de billar son algunos de los juegos de computadora más antiguos que puedo recordar. Quiero...