¿Cómo puedes visualizar un cuaternión?

24

Cuando visualizo una matriz de rotación tridimensional, o una matriz de escala, la visualizo como tres ejes.

¿Hay alguna forma similar de visualizar un cuaternión de rotación?

CiscoIPPhone
fuente
No es realmente una visualización, pero alguien me lo dijo una vez como "números complejos: 2 :: quaternions: 4"
coderanger

Respuestas:

19

Hay un libro completo de 600 páginas sobre "Visualizar Quaternions": http://books.google.ca/books?id=CoUB09xzme4C&lpg=PP1&ots=uEdJHsni9y&dq=Visualizing%20Quaternions&pg=PP1#v=onepage&q&f=false

El libro es bastante bueno, abarca una amplia gama de temas. Comienza con una buena introducción al álgebra lineal relacionada con el juego, habla de matrices y vectores, sus defectos y por qué querría usar Quaternions. Luego explica qué son y cómo utilizarlos. Si está interesado, puede recogerlo: http://www.amazon.com/Visualizing-Quaternions-Kaufmann-Interactive-Technology/dp/0120884003

zfedoran
fuente
1
+1 para "Visualizing Quaternions", es un gran libro, también lo tengo, muy recomendable
Maik Semder
77
Si bien es un buen libro, si ese enlace alguna vez falla, esta respuesta será completamente inútil. Le sugiero que proporcione cierta información en su respuesta sobre cómo visualizar los cuaterniones también.
MichaelHouse
10

Uno de los métodos de visualización que me gusta es representar el cuaternión (orientación en el espacio 3d) como vector ( componentes x, y, z ) + giro (la rotación alrededor de ese vector, almacenada en el componente w ).

Si está buscando un visualizador en línea para quaternions, siempre puede usar wolframalpha:

http://www.wolframalpha.com/input/?i=quaternion%3A+0%2B2i-j-3k&lk=3

Eche un vistazo a la visualización etiquetada como "rotación 3d correspondiente" (el vector 3d + giro):

ingrese la descripción de la imagen aquí

Lo encontré útil mientras trabajaba con quaternions en mi motor 3D.

PolGraphic
fuente
1
¡Respuesta inmediata! De esta manera, las personas también pueden entender el mecanismo SLERP porque pueden imaginar cuaterniones en una esfera 3D, mientras que el giro puede verse como el movimiento de rotación escalar de ese vector (supongo que es algo similar a lo que algunos matemáticos llaman rotor -> geometricalgebra. net / quaternions.html ).
teodron
7

Visualizo mis cuaterniones como vectores tridimensionales (dirección + longitud) con un bit a un lado para poder mostrar la rotación a lo largo del eje del vector.

Es una forma común de visualizar el vector de rotación en física, pero el nombre se me escapa.

drxzcl
fuente
3
Rotación del eje angular?
CiscoIPPhone
4

No necesariamente necesita una técnica de visualización alternativa para cuaterniones versus matrices.

Cuando visualiza su matriz de rotación como el gizmo de 3 ejes, lo que realmente está visualizando es una orientación. Dado que el cuaternión también representa una orientación, considere continuar usando su gizmo de 3 ejes como el objeto de visualización del ojo de su mente.

En raras ocasiones, tanto para los cuaterniones como para las matrices, ¿necesita relacionar los valores de los componentes reales en su visualización, por lo que solo porque los valores de los componentes del cuaternión no se relacionen con su dispositivo de 3 ejes no significa que no pueda usarse para la visualización? propósitos

Steve H
fuente
2

Puedes, pero se vuelve difícil. En lugar de tres ejes de rotación separados, o tres gimbals que se mueven de forma independiente, uno a la vez, tiene que imaginar un cuaternión como una descripción del ángulo de rotación tridimensional completo y la magnitud a la vez como una descripción única de toda la traducción. .

http://en.wikipedia.org/wiki/Quaternion_rotation

Los cuaterniones definitivamente no son un área sólida como una roca, pero esa página wiki tiene información decente. Sin embargo, Wikipedia habla de rotaciones en una hiperesfera, se vuelve un poco confuso. ¡Buena suerte!

SpacePrez
fuente
2

Como saben, Quaternion se basa en números complejos y representa la rotación de la esfera 4D en la dimensión 4D. Por lo tanto, no puede visualizarlo "tal como está". Veo que tú también lo sabes. Y una y única opción será la visualización del resultado de la rotación. Por ejemplo resultado de rotación de base; O puede renderizar una esfera 3D y pintarla por capas de "temperatura" de rotación por cada eje; ¡Buena suerte!

Edward83
fuente