Los he estado usando como una caja negra por un tiempo, solo estoy aprendiendo acerca de las matemáticas, pero me gustaría algunas respuestas definitivas a esta pregunta.
Hasta ahora, el único beneficio que he encontrado personalmente es la capacidad de SLERP entre dos ángulos: para lograr el mismo efecto con un vector que necesita un trabajo bastante desagradable (intrínsecamente vinculando 0 y 2PI).
mathematics
quaternion
Sir Yakalot
fuente
fuente
Respuestas:
Los cuaterniones resuelven algunos problemas con elegancia:
Puede solucionar estos problemas con otras representaciones, pero los cuaterniones son una buena opción para su simplicidad algorítmica y rendimiento.
fuente
Interpolation works from any start to end angle without special casing
, en realidad hay un caso especial, cuando no están en el mismo hemisferio de la hiperesfera, este es realmente un caso especial que debes considerar, ya que siempre hay 2 direcciones para interpolar al objetivo y quieres elegir la correctaThey never exhibit gimbal lock
: eso no es del todo cierto. Pueden, simplemente multiplicarseq(Xaxis, 0) * q(YAxis, 90) * q(Zaxis, 20)
. Lo cierto es que pueden usarse para evitar el bloqueo del cardán, pero también pueden hacerlo las matrices, los ángulos de los ejes y otros. Entonces esa no es una propiedad única de los cuaterniones. De hecho, puede hacerlo con la mayoría de las representaciones de rotación, pero con ángulos de euler. El único mensaje verdadero aquí puede ser "Euler engles sufre de bloqueo de cardán", pero puede ser evitado por muchas otras representaciones de rotación, no solo cuaterniones.El uso de SLERP que menciona es un caso específico de un atributo más general de cuaterniones: puede interpolar suavemente entre diferentes valores de rotación.
Al interpolar los valores de rotación de los ángulos de Euler, se obtienen movimientos de aspecto extraño, y lógicamente no hay forma de interpolar los valores de las rotaciones de ángulo de eje (bueno, aparte de dos ángulos diferentes alrededor del mismo eje).
fuente