# Winkelfunktionen

Neben den Vektorberechnungen zählen die Winkelfunktionen zu den wichtigsten Berechnungen in einer 3D Welt.

Voraussetzung ist ein rechtwinkliges Dreieck. Ein solches Dreieck hat immer einen Winkel der 90 Grad groß ist. Die längste Seite des Dreiecks wird als Hypotenuse bezeichnet. Die Seite mit der Winkelangabe Alfa, wird Ankathete benannt und die dritte Seite mit Gegenkathete betitelt.

Hier zunächst einmal die nackten Formeln.

Sinus(alfa) = | Gegenkathete ------------ Hypotenuse
Cosinus(alfa) = | Ankathete ------------ Hypotenuse
Tangens(alfa) = | Gegenkathete ------------ Ankathete

Der Winkel Alfa wird in Grad angegeben.

Der Ursprung der drei Grundformeln stammt aus dem Einheitskreis. Wenn der Radius des Einheitskreises = 1 ist (Radius = Hypotenuse), dann ist die

- Gegenkathete = Sinus
- Ankathete = Cosinus

Gemessen werden die Werte vom Kreismittelpunkt aus. Dies hat zur Folge, dass die Werte auch in den Minusbereich gehen. Leider ist in den meisten Fällen der Radius nicht gleich 1. Aus diesem Grund muss Sin oder Cos mit dem Radius (Hypotenuse) multipliziert werden.

Der Sinus und Cosinus kann jeden Wert als Winkel verarbeiten. Selbst ein Winkel über 360 Grad oder ein negativer Winkel wie z.B. -10 Grad ergeben richtige korrekte Ergebnisse.

Wie auf dem Bild zu sehen ist, werden mit dem Winkel und der Entfernung des zweiten Punktes, die Koordinaten X und Y berechnen.

Vorsicht ist mit dem Tangens geboten. Der 90 Grad oder 270 Grad Winkel können von der Funktion Tangens nicht berechnet werden. Die Erklärung hier für: Die Ankathete hat eine Länge von 0 wenn der Winkel 90 Grad beträgt. Wir erinnern uns...

Tangens(alfa) = | Gegenkathete ------------ Ankathete

Mathematisch ist Teilen durch 0 nicht erlaubt!!!!

Mit Sinus, Cosinus und Tangens können also mit Angabe des Winkels und einer bekannten Länge die noch unbekannte Länge berechnet werden.

Neben diesen Funktionen gibt es auch noch die so genannte Umkehrfunktion Arcussinus, Arcuscosinus und Arcustangens. Mit diesen Funktionen ist es möglich, aus zwei bekannten Längen, den Winkel zu berechnen.

Winkel = Arcussinus | Gegenkathete ( ------------ ) Hypotenuse
Winkel = Arcuscosinus | Ankathete ( ------------ ) Hypotenuse
Winkel = Arcustangens | Gegenkathete ( ------------ ) Ankathete

In C-Skript werden alle diese Funktionen in ihrer Kurzschreibweise aufgerufen.

Winkelfunktionen | Umkehrfunktion
--- | ---
sin(winkel) | asin(x)
cos(winkel) | acos(x)
tan(winkel) | atan(x)

Intern werden Zahlen im 3D Gamestudio mit drei Stellen hinterm Komma gespeichert. Da die Sinus- und die Cosinusfunktionen einen maximalen Wert von 1 zurückliefern, also relativ klein sind, stellt C-Skript eine weitere Variante an Funktionen zur Verfügung, die genauer und auch schneller rechnen. Bei diesen Funktionen wird nicht nur der Winkel, sondern auch der Multiplikator mitgeteilt.

Und auch hier gibt es die Umkehrfunktionen.

Winkelfunktionen | Umkehrfunktion
--- | ---
fsin(winkel, Hypotenuse) | fasin(x, Hypotenuse)
fcos(winkel, Hypotenuse) | facos(x, Hypotenuse)
ftan(winkel, Ankathete) | fatan(x, Ankathete)