Ich benutze sie schon eine Weile als Blackbox, ich lerne gerade etwas über Mathematik, aber ich möchte nur einige endgültige Antworten auf diese Frage.
Bisher ist der einzige Vorteil, den ich persönlich erlebt habe, die Fähigkeit, zwischen zwei Winkeln zu SLERPEN - um den gleichen Effekt mit einem Vektor zu erzielen, ist eine ziemlich hässliche Umgehung erforderlich (intrinsische Verknüpfung von 0 und 2PI).
mathematics
quaternion
SirYakalot
quelle
quelle
Antworten:
Quaternionen lösen ein paar Probleme auf elegante Weise:
Sie können diese Probleme mit anderen Darstellungen umgehen, aber Quaternionen passen gut zu ihrer algorithmischen Einfachheit und Leistung.
quelle
Interpolation works from any start to end angle without special casing
, es gibt tatsächlich einen Sonderfall, wenn sie sich nicht auf derselben Hemisphäre der Hypersphäre befinden. Dies ist tatsächlich ein Sonderfall, den Sie berücksichtigen müssen, da es immer zwei Richtungen zum Ziel zu interpolieren gibt und Sie auswählen möchten der RichtigeThey never exhibit gimbal lock
- das stimmt nicht ganz. Sie können sich einfach vermehrenq(Xaxis, 0) * q(YAxis, 90) * q(Zaxis, 20)
. Sie können zwar verwendet werden, um eine Kardanverriegelung zu vermeiden, aber auch Matrizen, Achsenwinkel und andere. Das ist also keine einzigartige Eigenschaft von Quaternionen. Tatsächlich können Sie das mit den meisten Rotationsdarstellungen tun, aber mit Eulerwinkeln. Die einzig wahre Botschaft kann sein: "Euler Engländer leiden unter Gimbal Lock", aber sie kann durch viele andere Rotationsdarstellungen vermieden werden, nicht nur durch Quaternionen.Die von Ihnen erwähnte SLERP-Verwendung ist ein spezieller Fall eines allgemeineren Attributs von Quaternionen: Sie können problemlos zwischen verschiedenen Rotationswerten interpolieren.
Beim Interpolieren der Rotationswerte von Eulerwinkeln treten merkwürdig aussehende Bewegungen auf, und es gibt logischerweise keine Möglichkeit, die Werte von Achsenwinkelrotationen zu interpolieren (abgesehen von zwei verschiedenen Winkeln um dieselbe Achse).
quelle