Eclipse
basta avere l'angolo dell'urto (sempre avendo il coefficiente angolare della rettA). L'angolo che la pallina fa dopo l'urto è uguale (o meglio simmetrico) a quello.
se lanci una pallina a 45° verso un muro dopo l'urto avrà sempre un angolo di 45°, se la lanci perfettamente dritta (90°) tornerà verso di te e così via..
se vuoi fare un gioco di biliardo serio i problemi nascono con gli urti tra palline e la simulazione dell'urto della stecca in vari punti della palla.
in che linguaggio lo stai programmando? "Visual Studio" è un package di vari ide...
Se lo stai facendo totalmente in maniera visuale non andrai lontano.