Processing math: 100%

1 votos

Dado un ángulo a y un vector v, ¿cuál es el cuaternión que representa esa rotación en 3D?

Y viceversa, dado un cuaternión, ¿cuál es el ángulo y el vector que representa esa rotación?

He leído en otro lugar que un vector se puede convertir en un cuaternión mediante v_to_q : [x,y,z] -> (0, x, y, z).

Entonces, si por un lado tomo un vector v_0, y lo roto alrededor del vector v por un ángulo a para obtener el vector v_1,

y por otro lado tomo el cuaternión v_to_q(v_0), y aplico la misma rotación en forma de cuaternión (es decir, el cuaternión representado por el ángulo a y el vector v),

entonces debería obtener el mismo cuaternión al que mapea v_1: v_to_q(v1). ¿Verdad?

1voto

Nicholas Todoroff Puntos 131

La respuesta a tu última pregunta es un rotundo .

En cuanto a tu primera pregunta, supongamos que tenemos un ángulo θ y un vector de eje unitario v representado como un cuaternión imaginario. Entonces, el cuaternión de rotación es simplemente q=eθv/2=cosθ/2+vsinθ/2 y rota un vector (cuaternión imaginario) w mediante wqwˉq donde ˉq es el conjugado. Observa que q representa la misma rotación, por lo que en general no podemos distinguir entre ±q sin convenciones adicionales.

Ahora debería estar claro que dado un cuaternión de rotación q=q0+qi donde q0 es un escalar y qi es la parte imaginaria, el eje y el ángulo podrían ser dados por v=qi|qi|,tanθ/2=|qi|q0 donde |qi|=ˉqiqi. Variaciones menores son posibles debido a la mencionada equivalencia entre q y q y también si queremos v o v.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X