Uh ja... Sinus und Cosinus Berechnung ist zwar ganz schön... aber 3 Dinge:
1. Die Näherungsberechnung für den Sinus (Im Bogenmaß) lautet
[(-1)^n * x^2n+1] / [(2n+1)!]
Ich mus nicht erwähnen das es extremst Rechenaufwändig ist, oder?
2. Wir reden hier von ...Pong?
Uhm, ehrlichgesagt es ist total unnötig hier eine aufwändige Berechnung einzuführen. Generell gilt: Einfallswinkel = Ausfallswinkel (...wenn wir also davon ausgehen, dass die Geschwindigkeiten in x und y Richtungen gegeben sind muss man diese je nach auslegung des Feldes *-1 nehmen oder was auch immer.) Die wenigen Fallunterscheidungen (sprich, die Kanten des Spieler und Gegner... rechtecks) lassen sich auch manuell hinzufügen.
Ich bezweifle stark, dass Bai tatsächlich eine Sinus Funktion geskriptet hat um diese unglaublich Aufwändige Berechnung zu vollbringen.
An anderer Stelle mag es zwar nötig sein, aber sicher nicht bei Pong.
3. Wenn es denn wirklich sein muss, machs im XP, da sind Sinus, Cosinus, Tangenz und was auch immer du willst ...etwas... einfacher anzuwenden.
(Genaugenommen stecken alle Funktionen bereits in der Mathematik Klasse Ruby's xD für Sinus zum Beispiel: Math.sin(x) (wobei x wiedermal der Winkel im bogenmaß sein muss!))