Zum Thema Winkel:

1. Sinus/Cosinus-Tabellen
Man speichert für alle 360 Winkel, den entsprechenden Sinus- und Cosinuswert vorher ab. Bei der "Berechnung" schaut man dann einfach in der Tabelle den entsprechenden Wert nach.
Wird teilweise sogar in kommerziellen Spielen benutzt, da direkte Sinus/Cosinus-Berechnung CPU-Intensiv ist. Ist dann natürlich aber etwas ungenau.

2. Berechnung
Ruby wird sicher vorgefertigte Sinus/Cosinus-Funktionen haben. Für den Rm2k u. Rm2k3 gibt es eine behelfsmöglichkeit. Die Berechnung eines Sinus-Wertes läßt sich auf eine unendliche Abfolge von normalen Rechnungen darstellen. (Normale Rechnungen heißt hier mit den 4 Grundrechenarten). Je länger die Abfolge ist, die man berechnet, umso genauer wird der Sinus-Wert. Selbiges gilt auch für den Cosinus.
Eng. Tutorial über Sinus/Cosinus im Rm2k