Ich habe die Definition von Radiant nachgeschlagen und festgestellt, dass Mathematiker sie bevorzugen, weil sie von pi abgeleitet sind, anstatt wie Grade völlig willkürlich zu sein.
Ich habe jedoch keinen zwingenden Grund gefunden, sie in der Spieleentwicklung einzusetzen, möglicherweise aufgrund meines völligen Mangels an entsprechenden mathematischen Kenntnissen. Ich weiß, dass die meisten sin / cos / tan-Funktionen in Sprachen das Bogenmaß haben, aber jemand könnte genauso gut Bibliotheksfunktionen in Grad erstellen (und die inhärenten Rundungsfehler bei der Verwendung von pi vermeiden).
Ich möchte nicht, dass dies eine Meinungsumfrage ist, sondern ich möchte nur von Leuten hören, die Spieleentwicklungen (und die damit verbundene mathematische Forschung) durchgeführt haben, bei denen Radiant eine bessere Erfahrung als Grad bietet als "Wir verwenden Radiant" weil wir sie immer benutzt haben ", nur um mir (und möglicherweise auch anderen) zu helfen, zu verstehen, wofür sie gut sind.
quelle
Antworten:
Radiant werden in der Mathematik verwendet, weil
Es ist nicht so, dass Mathematiker nur Pi mögen. Aus den oben genannten Gründen ist der Bogenmaßwert eine natürlichere Wahl des Winkelmaßes als der Grad. Sie sind das Winkelmaß, in dem Faktoren wie pi / 180 verschwinden.
IMO lautet die Frage also nicht "Warum Radiant verwenden", sondern "Warum Radiant nicht verwenden". Mit anderen Worten, man braucht keinen Grund, Bogenmaß zu verwenden. Sie sind die Standardauswahl für das Winkelmaß. Man braucht einen Grund, um Abschlüsse zu verwenden. Beispielsweise kann man in der Benutzeroberfläche einer App festlegen, dass Winkel in Grad angezeigt werden, da sie vielen Personen (insbesondere Künstlern) besser bekannt sind. Ich persönlich habe mich jedoch daran gewöhnt, Winkel eher in Bogenmaß als in Grad zu sehen.
Ich habe keine speziellen Gamedev-Beispiele, da es sich nicht wirklich um ein Gamedev-Problem handelt, sondern um ein mathematisches Problem, das in allen Bereichen, in denen Mathematik verwendet wird, gleich ist.
(Übrigens gibt es bei der Verwendung von pi nicht mehr "inhärente Rundungsfehler" als bei der Verwendung von Grad ... Winkel sollten immer reelle Zahlen sein, keine ganzen Zahlen, sonst wie soll man einen Winkel von einem halben Grad darstellen? :) )
quelle
Nathans Antwort ist sehr konkret. Ich möchte einen allgemeineren Überblick geben:
Das komplexeste mathematische Konzept, das in den meisten Verarbeitungseinheiten nativ implementiert ist, sind Gleitkommazahlen als Modelle für das Feld der reellen Zahlen ℝ. Die visuelle Geometrie basiert auf dem dreidimensionalen reellen Vektorraum ℝ³. Koordinaten sind reelle Zahlen. Geometrische Größen basieren auf der Länge , die ein reales Vielfaches einer Einheit ist.
Aufgrund dieser Basis in reellen Zahlen und Längen ist es praktisch, Winkel auch durch reelle Zahlen bzw. Winkel zu modellieren. Längen. Bogenmaß ist die Länge des Bogens eines Einheitskreises mit dem angegebenen Winkel. Somit ist es das Modell eines Winkels, das am besten mit all diesen anderen Einheiten basierend auf reellen Zahlen bzw. Werten kompatibel ist. Längen. Beispielsweise ist die Approximation sin x ~ x für kleine Werte von x eine Approximation der y-Koordinate eines Punktes auf dem Einheitskreis durch den Bogen von der x-Achse zu diesem Punkt.
Man sollte nicht vergessen, dass ein Winkel ist nicht eine Länge. Es ist einer der 4 Teile einer Ebene, die durch zwei sich schneidende gerade Linien erzeugt wird. Ihre Menge ist durch die Symmetrie der Ebenen in ℝ³ und die euklidische Metrik begrenzt.
Es ist natürlicher, einen Winkel anhand des halboffenen Intervalls [0,1] (oder (0,1]) zu modellieren, das an seinen Endpunkten zusammengeklebt ist, wenn der Wert eines Winkels als Teil einer vollen Umdrehung angegeben wird. 360 einer vollen Umdrehung. (Übrigens: Zahlentheoretisch ist dies eine bessere Wahl als das für reelle Zahlen verwendete Dezimalsystem.)
quelle
Obwohl ich auch Bogenmaß benutze, gibt es aus allen genannten Gründen mindestens einen guten Grund, warum Grad bevorzugt wird: Präzision und Häufung von Fehlern. Es ist genau, um jeweils 1 Grad um einen vollen Kreis zu drehen. Das gleichzeitige Drehen durch einen vollen Kreis im 2PI / 360-Bogenmaß ist nicht der Fall. Durch viermaliges Drehen um 90 Grad in einem Pixelraster kehren Sie genau zu Ihrem Ausgangspunkt zurück. Eine 4-malige Drehung im 2PI / 4-Bogenmaß auf einem Pixelgitter ist nicht möglich.
quelle
Lassen Sie uns zustimmen, dass es besser ist, eine auszuwählen und dabei zu bleiben, als zwei Definitionen zu verwenden und ein wenig zu raten, welche davon für die aktuelle Funktion erforderlich ist. Dann ist die Verwendung der Bogenlänge für die Implementierung von sin und cos natürlicher, was ein Grund sein könnte, warum cmath dies so implementiert. Da Spiele oft in C ++ oder C geschrieben werden und bereits sin and cos implementiert ist, ist es sinnvoll, sich an diese Definition zu halten.
[Screw you Legacy opengl]
quelle