10 votos

Rotar el cuaternión A 180 grados

Supongamos que tenemos un cuaternión arbitrario -llamémoslo A-, ¿cómo lo giramos 180 grados?

¿Hay alguna forma de hacerlo sin convertirlo a la representación del eje angular, es decir, mantenerlo dentro del álgebra de cuaterniones?

13voto

Jakob Gade Puntos 6006

No sé a qué te refieres con rotar un cuaternión (que en realidad representa una rotación). Pero supongo que te refieres a concatenar dos quternions siendo uno de ellos una rotación de 180 grados sobre algún eje. En este caso puedes simplemente usar la multiplicación de quaterniones para concatenar dos rotaciones (Raramente hay un caso en el que necesites convertirlos a representación eje-ángulo). El quaternion para una rotación de 180 grados sobre el eje (x,y,z) es simplemente (0,x,y,z).

1 votos

Entonces, ¿una rotación de 180 grados sobre y es simplemente (0,0,1,0) ? Entonces, ¿simplemente lo multiplicaría por mi rotación actual?

0 votos

Sí, debería funcionar. Sólo recuerde eje / ángulo de rotación (a, x, y, z) es igual a quaternion (cos(a/2),x sen(a/2),y sin(a/2),z*sin(a/2)).

1 votos

Pero recuerda el orden de la multiplicación. La de la derecha se aplica primero al rotar un vector por el nuevo cuaternión. Así que (0,0,1,0) * q debería hacer lo que quieres.

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