2010-10-26 15 views
14

¿La rotación del cuaternión es solo un vector con X, Y, Z al cual girará el objeto, y un giro que gira el objeto sobre su eje?¿Qué es una rotación de cuaternión?

¿Es así de simple?

Significado si tiene X = 0, Z = 0 e Y = 1 ¿el objeto estará orientado hacia arriba?
Y si tiene Y = 0, Z = 0 y X = 1, ¿el objeto estará orientado hacia la derecha?

(suponiendo X derecho, Y y profundidad Z)

Respuesta

35

un cuaternión tiene 4 componentes, que pueden estar relacionados con un ángulo θ y un vector de eje n. La rotación hará que el objeto gire alrededor del eje n en un ángulo de θ.

Por ejemplo, si tenemos un cubo como

______ 
|\ 6 \ 
| \_____\  z 
|5 | | : y^
\ | 4 | \| 
    \|____|  +--> x 

Entonces una rotación de 90 ° alrededor del eje (x = 0, y = 0, z = 1) girará la cara "5" de la izquierda al frente.

______ 
|\ 6 \ 
| \_____\  z 
|3 | | : x^
\ | 5 |  \| 
    \|____| y<--+ 

(Nota:. Esta es la descripción eje/ángulo de giro, que es lo que confunde OP Para cómo se aplica cuaternión a la rotación, véase http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation)

+0

hacia la izquierda o hacia la derecha? – clamp

+0

@clamp: Depende de si el sistema es zurdo o diestro. – kennytm

+0

OP dijo "Y arriba y profundidad Z". – LarsH

15

A quaternion en general es una extensión de una número complejo en 4 dimensiones. Entonces no, no son solo x, y, z, y un ángulo, pero están cerca. Más abajo ...

cuaterniones pueden usarse para represent rotation, por lo que son útiles para gráficos:

cuaterniones Unidad proporcionan una notación matemática conveniente para representar orientaciones y las rotaciones de objetos en tres dimensiones . En comparación con los ángulos de Euler son más fáciles de componer y evitan el problema del bloqueo cardánico. En comparación con las matrices de rotación, son más numéricamente estables y pueden ser más eficientes.

¿Cuáles son los 4 componentes y how do they relate to the rotation?

El [unidad de cuaternión] punto (w, x, y, z) representa una rotación alrededor del eje dirigida por el vector (x, y, z) por un ángulo alfa = 2 cos -1 w = 2 sen -1 sqrt (x + y + z).

Así que de vuelta a su pregunta,

Es decir, si usted tiene X = 0, Z = 0 e Y = 1 el objeto se enfrentará al alza?

No ... el objeto girará en torno a este <0,1,0> vector, es decir, que girará alrededor del eje y, girando hacia la izquierda como se ve desde arriba, si su sistema de gráficos utiliza la rotación de la derecha. (Y si conectamos w = sqrt (1 - (0 + 1 + 0)), su unidad quaternion es (0,0,1,0), y rotará en el ángulo 2 cos -1 0, = 2 * 90 grados = 180 grados o pi radianes.)

Y si tiene Y = 0, Z = 0 y X = 1, ¿el objeto estará orientado hacia la derecha?

Esto hará girar alrededor del vector <1,0,0>, el eje x, por lo que girará en sentido antihorario como se ve desde la dirección x positiva (por ejemplo, derecha). Así que la parte superior giraría hacia adelante (180 grados, por lo que rotaría hasta que quedara hacia abajo).

Cuestiones relacionadas