Imagine que tiene un sistema de coordenadas global 3D, un sistema de coordenadas local arbitrario 1 y un sistema de coordenadas local arbitrario 2.
Están disponibles dos matrices de rotación que definen las rotaciones del sistema de coordenadas local 1 (R1) y el sistema de coordenadas local 2 (R2), ambos con respecto al sistema de coordenadas global.
¿Cómo puedo expresar la rotación del sistema de coordenadas local 1 con respecto al sistema de coordenadas local 2? Probé con la solución en el enlace a continuación, pero no obtuve los resultados esperados.
https://stackoverflow.com/questions/19621069/3d-rotation-matrix-rotate-to-another-reference-system
Gracias de antemano.
Dejar describir la rotación del sistema de coordenadas global al primer sistema de coordenadas local, y describir la rotación del sistema de coordenadas global al segundo sistema de coordenadas local.
Entonces, describe la rotación desde el primer sistema de coordenadas local hasta el sistema de coordenadas global, y describe la rotación desde el segundo sistema de coordenadas local hasta el sistema de coordenadas global.
Cuando matriz es una matriz de rotación pura, es ortonormal, y su inversa es su transpuesta, .
Supongamos una multiplicación correcta o posterior entre matrices y vectores. Esto significa que si el vector en el sistema de coordenadas global corresponde al vector en el primer sistema de coordenadas local, y al vector en el segundo sistema de coordenadas local, entonces
Consideramos solo vectores columna, es decir .
Consideramos sólo matrices puras de rotación y reflexión, es decir, matrices ortonormales, para las cuales , y es el inverso de la rotación por .
Usamos la multiplicación derecha o posterior de vectores para la multiplicación matriz-vector. Esto significa que para rotar el vector por matriz , obtenemos resultado, o vector rotado , usando .
Podemos encadenar rotaciones multiplicando las matrices de rotación. Si las matrices son ortonormales, el resultado también es ortonormal. La primera rotación es la matriz más a la derecha del producto y la última rotación es la matriz más a la izquierda del producto.
Para calcular la rotación entre dos sistemas de coordenadas locales, "desenrollamos" las rotaciones iniciales del sistema de coordenadas utilizando matrices de rotación inversa en el orden inverso, seguidas de las matrices de rotación en el orden normal desde el sistema de coordenadas global hasta el sistema de coordenadas local de destino.
Como ejemplo, supongamos que tenemos dos sistemas de coordenadas locales cuyas rotaciones desde el sistema de coordenadas global son y , y tenemos otros dos sistemas de coordenadas locales, y encima de (o relativo a) , y otros dos sistemas de coordenadas locales y encima de (o relativo a) .
En otras palabras, vector en el sistema de coordenadas global corresponde a:
Nótese que podríamos escribir , pero desde (matriz de identidad; "sin cambio") para matrices ortonormales, podemos omitir la parte de identidad o "sin cambio", y simplemente usar .