8 votos

Combinación de dos rotaciones 3D

Toda rotación en el espacio 3D puede definirse mediante un eje de rotación y un ángulo. Digamos que tenemos dos rotaciones $R_1 (\text{(axis)}_1, \text{(angle)}_1)$ , $R_2 (\text{(axis)}_2, \text{(angle)}_2)$ .

Recuerdo que el operador de rotación es cerrado bajo composición, por lo que $R_1 (R_2(\text{object}))$ volverá a ser una rotación.

¿Alguien sabe cómo encontrar el nuevo eje y el ángulo para $R_1R_2$ ?

16voto

Mike Puntos 1113

Una vez más, la forma más fácil de hacer esto (en mi opinión, al menos) resulta ser los cuaterniones: una rotación de $\theta$ sobre el vector (normalizado) $\hat{v} = (v_0, v_1, v_2)$ está representado por el cuaternión ${\bf q}=\mathrm{cos}(\theta/2) + \mathrm{sin}(\theta/2)*(v_0{\bf i}+v_1{\bf j}+v_2{\bf k})$ y la multiplicación de cuaterniones es fácil de calcular (sólo se necesitan los axiomas de la base ${\bf i}^2 = {\bf j}^2 = {\bf k}^2 = {\bf i}{\bf j}{\bf k} = -1$ - Obsérvese que esto último implica, por ejemplo, que ${\bf i}{\bf j} = {\bf k}$ simplemente multiplicando ambos lados por ${\bf k}$ ); una vez que tienes tu cuaternión resultante, el eje puede ser extraído como la parte imaginaria (normalizada) del resultado y el ángulo puede ser encontrado tomando el arco-coseno de la parte escalar. Véase la página de Wikipedia sobre cuaterniones y rotaciones para conocer más detalles sobre su funcionamiento.

0voto

Collin K Puntos 6535

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