Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Matrices de Rotacion 3D
Matrices de Rotacion 3D
MATRICES DE ROTACION
Una matriz de rotación 3×3 se define como una matriz de transformación que opera sobre
un vector de posición en un espacio euclídeo tridimensional y transforma las coordenadas
expresadas en un sistema de coordenadas rotado (o móvil) 0uvw a un sistema de
coordenadas de referencia 0xyz. En la figura 01 se muestran los dos sistemas de
coordenadas con los orígenes coincidiendo representados con vectores unitarios
formando una triada de sistema dextrógiros.
z
w
0
v
y
x
u
𝒑𝑥𝑦𝑧 = (𝑝𝑥 𝑝𝑦 𝑝𝑧 )𝑇
donde 𝒑𝑢𝑣𝑤 y 𝒑𝑥𝑦𝑧 representan el mismo punto p en el espacio con respecto a diferentes
sistemas de coordenadas.
𝒑𝑢𝑣𝑤 = 𝑸𝒑𝑥𝑦𝑧
w cos(α)
α
sen(α) v
α
y
-sen(α) cos(α)
0
u α
x
w cos(β)
β
cos(β)
x
sen(β)
β 0
v
u -sen(β) β y
z -sen(θ)
w θ v
θ
y
0 sen(θ) cos(θ)
θ
cos(θ)
u
x
𝐶𝛽 𝐶𝜃 𝑆𝛽 𝑆𝛼 − 𝐶𝛽 𝑆𝜃 𝐶𝛼 𝐶𝛽 𝑆𝜃 𝑆𝛼 + 𝑆𝛽 𝐶𝛼
𝐑=[ 𝑆𝜃 𝐶𝜃 𝐶𝛼 −𝐶𝜃 𝑆𝛼 ]
−𝑆𝛽 𝐶𝜃 𝑆𝛽 𝑆𝜃 𝐶𝛼 + 𝐶𝛽 𝑆𝛼 𝐶𝛽 𝐶𝛼 − 𝑆𝛽 𝑆𝜃 𝑆𝛼
donde las expresiones compactas se definen como:
𝐶𝛼 ≡ cos (𝛼); 𝑆𝛼 ≡ sen (𝛼); 𝐶𝛽 ≡ cos(𝛽); 𝑆𝛽 ≡ 𝑠𝑒𝑛(𝛽) ; 𝐶𝜃 ≡ cos (𝜃); 𝑆𝜃 ≡
𝑠𝑒𝑛(𝜃)
Esto es diferente de la matriz de rotación que representa una rotación de un ángulo β
respecto del eje y seguida de una rotación de un ángulo θ respecto del eje z seguida por
una rotación de un ángulo α respecto del eje x. La matriz de rotación resultante R que
representa estas rotaciones es:
𝐑 = 𝑅𝑜𝑡(𝑥, 𝛼)𝑅𝑜𝑡(𝑧, 𝜃)𝑅𝑜𝑡(𝑦, 𝛽)
1 0 0 𝐶𝜃 −𝑆𝜃 0 𝐶𝛽 0 𝑆𝛽
𝐑 = [0 𝐶𝛼 −𝑆𝛼] [ 𝑆𝜃 𝐶𝜃 0] [ 0 1 0]
0 𝑆𝛼 𝐶𝛼 0 0 1 −𝑆𝛽 0 𝐶𝛽
𝐶𝜃𝐶𝛽 −𝑆𝜃 𝐶𝜃 𝑆𝛽
𝐑 = [𝐶𝛼 𝑆𝜃 𝐶𝛽 + 𝑆𝛼 𝑆𝛽 𝐶𝛼 𝐶𝜃 𝐶𝛼 𝑆𝜃 𝑆𝛽 − 𝑆𝛼 𝐶𝛽 ]
𝑆𝛼 𝑆𝜃 𝐶𝛽 − 𝐶𝛼 𝑆𝛽 𝑆𝛼 𝐶𝜃 𝑆𝛼 𝑆𝜃 𝑆𝛽 + 𝐶𝛼 𝐶𝛽
Además de girar respecto de los ejes principales del sistema de referencia 0xyz, el sistema
de coordenadas giratorio 0uvw puede también rotar respecto de sus ejes principales. En
este caso la matriz re rotación resultante o compuesta se obtiene siguiendo las siguientes
reglas:
1. Inicialmente ambos sistemas de coordenadas son coincidentes, por lo que la
matriz de rotación es la matriz identidad I3 de 3×3.
2. Si el sistema de coordenadas giratorio 0uvw está girando respecto de los ejes
principales del sistema 0xyz, entonces se debe premultiplicar la matriz de rotación
previa (resultante) por la matriz de rotación básica respectiva.
3. Si el sistema de coordenadas giratorio 0uvw está girando respecto de su propio eje
principal, entonces se debe postmultiplicar la matriz de rotación previa
(resultante) por la matriz de rotación básica respectiva.
Por ejemplo, determinar la matriz de rotación resultante que representa un giro de un
ángulo β respecto del eje y seguido por una rotación de un ángulo γ respecto del eje w
seguido de una rotación de un ángulo φ respecto del eje u.
La solución es la siguiente:
𝐑 = 𝑅𝑜𝑡(𝑦, 𝛽)𝐼3 𝑅𝑜𝑡(𝑤, 𝛾)𝑅𝑜𝑡(𝑢, 𝜑)= 𝑅𝑜𝑡(𝑦, 𝛽)𝑅𝑜𝑡(𝑤, 𝛾)𝑅𝑜𝑡(𝑢, 𝜑)
𝐶𝛽 0 𝑆𝛽 𝐶𝛾 −𝑆𝛾 0 1 0 0
𝐑=[ 0 1 0 ] [ 𝑆𝛾 𝐶𝛾 0] [0 𝐶𝜑 −𝑆𝜑]
−𝑆𝛽 0 𝐶𝛽 0 0 1 0 𝑆𝜑 𝐶𝜑
𝐶𝛽 𝐶𝛾 𝑆𝛽 𝑆𝜑 − 𝐶𝛽 𝑆𝛾 𝐶𝜑 𝐶𝛽 𝑆𝛾 𝑆𝜑 + 𝑆𝛽 𝐶𝜑
𝐑 = [ 𝑆𝛾 𝐶𝛾 𝐶𝜑 −𝐶𝛾 𝑆𝜑 ]
−𝑆𝛽 𝐶𝛾 𝑆𝛽 𝑆𝛾 𝐶𝜑 + 𝐶𝛽 𝑆𝜑 𝐶𝛽 𝐶𝜑 − 𝑆𝛽 𝑆𝛾 𝑆𝜑
Algunas propiedades útiles de las matrices de rotación son:
1. Cada vector columna de la matriz de rotación es una representación del vector
unitario del eje rotado expresado en términos de los vectores unitarios de los ejes
del sistema de referencia, y cada vector fila es una representación del vector
unitario de los ejes de referencia expresado en función de los vectores unitarios
de los ejes rotados del sistema 0uvw
2. Como cada fila y columna es una representación de un vector unitario, la magnitud
de cada una de ellas debe ser igual a 1. Esta es una propiedad directa de un sistema
de coordenadas ortonormal.
3. Como cada fila es una representación vectorial de vectores ortonormales, el
producto interno (escalar) de cada fila por cualquier otra fila es igual a cero.
Análogamente, el producto interno de cada columna por cualquier otra columna
también es igual a cero.
4. La inversa de una matriz de rotación es la transpuesta de la matriz de rotación.
z
𝑟𝑧
ϕ
r
0
𝑟𝑥
𝑟𝑦
x y
𝑟𝑥2 𝑉𝜙 + 𝐶𝜙 𝑟𝑥 𝑟𝑦 𝑉𝜙 − 𝑟𝑧 𝑆𝜙 𝑟𝑥 𝑟𝑧 𝑉𝜙 + 𝑟𝑦 𝑆𝜙
𝑅𝑜𝑡(𝑟, 𝜙) = [𝑟𝑥 𝑟𝑦 𝑉𝜙 + 𝑟𝑧 𝑆𝜙 𝑟𝑦2 𝑉𝜙 + 𝐶𝜙 𝑟𝑦 𝑟𝑧 𝑉𝜙 − 𝑟𝑥 𝑆𝜙]
𝑟𝑥 𝑟𝑧 𝑉𝜙 − 𝑟𝑦 𝑆𝜙 𝑟𝑦 𝑟𝑧 𝑉𝜙 + 𝑟𝑥 𝑆𝜙 𝑟𝑧2 𝑉𝜙 + 𝐶𝜙
donde 𝑉𝜙 = 𝑣𝑒𝑟𝑠𝜙 = 1 − cos (𝜙) (*Esta es una matriz de rotación muy útil en
Robótica*)
Tarea: Determinar las matrices de rotación con representación de ángulos de Euler.