Articulo de referencia

Representación eje-ángulo

El ángulo θ y el vector unitario del eje e definen una rotación, representada concisamente por el vector de rotación θ e . En matemáticas , la representación eje-ángulo parametr...

El ángulo θ y el vector unitario del eje e definen una rotación, representada concisamente por el vector de rotación θ e .

En matemáticas , la representación eje-ángulo parametriza una rotación en un espacio euclidiano tridimensional mediante dos cantidades: un vector unitario e que indica la dirección de un eje de rotación y un ángulo de rotación θ que describe la magnitud y el sentido (por ejemplo, horario ) de la rotación alrededor del eje . Solo se necesitan dos números, no tres, para definir la dirección de un vector unitario e con raíz en el origen, ya que la magnitud de e está restringida. Por ejemplo, los ángulos de elevación y acimut de e son suficientes para ubicarlo en cualquier sistema de coordenadas cartesianas.

Según la fórmula de rotación de Rodrigues , el ángulo y el eje determinan una transformación que rota vectores tridimensionales. La rotación se produce en el sentido prescrito por la regla de la mano derecha .

El eje de rotación a veces se denomina eje de Euler . La representación eje-ángulo se basa en el teorema de rotación de Euler , que establece que cualquier rotación o secuencia de rotaciones de un cuerpo rígido en un espacio tridimensional es equivalente a una rotación pura alrededor de un único eje fijo.

Es uno de los muchos formalismos de rotación en tres dimensiones .

Vector de rotación

La representación eje-ángulo es equivalente al vector de rotación más conciso , también llamado vector de Euler (que no debe confundirse con un vector de ángulos de Euler ). En este caso, tanto el eje de rotación como el ángulo están representados por un vector codireccional con el eje de rotación cuya longitud es el ángulo de rotación θ . θ=θmi.{\displaystyle {\boldsymbol {\theta }}=\theta \mathbf {e} \,.} Se utiliza para las funciones exponenciales y logarítmicas que involucran esta representación.

Muchos vectores de rotación corresponden a la misma rotación. En particular, un vector de rotación de longitud θ + 2πM , para cualquier entero M , codifica exactamente la misma rotación que un vector de rotación de longitud θ . Por lo tanto, hay al menos una infinidad numerable de vectores de rotación que corresponden a cualquier rotación. Además, todas las rotaciones por 2πM son iguales a ninguna rotación, por lo que, para un entero M dado , todos los vectores de rotación de longitud 2πM , en todas las direcciones, constituyen una infinidad no numerable de dos parámetros de vectores de rotación que codifican la misma rotación que el vector cero. Estos hechos deben tenerse en cuenta al invertir la aplicación exponencial, es decir, al encontrar un vector de rotación que corresponda a una matriz de rotación dada. La aplicación exponencial es sobreyectiva pero no inyectiva .

Ejemplo

Supongamos que estás de pie en el suelo y eliges la dirección de la gravedad como la dirección negativa del eje z . Entonces , si giras hacia la izquierda, rotarás / 2 radianes (o -90° ) alrededor del eje -z . Viendo la representación eje-ángulo como un par ordenado , esto sería (aincógnitais,anortegramolmi)=([miincógnitamiymiz],θ)=([001],π2).{\displaystyle (\mathrm {axis} ,\mathrm {angle} )=\left({\begin{bmatrix}e_{x}\\e_{y}\\e_{z}\end{bmatrix}},\theta \right)=\left({\begin{bmatrix}0\\0\\-1\end{bmatrix}},{\frac {-\pi }{2}}\right).}

El ejemplo anterior se puede representar como un vector de rotación con una magnitud de π / 2 que apunta en la dirección z ,[00π2].{\displaystyle {\begin{bmatrix}0\\0\\{\frac {\pi }{2}}\end{bmatrix}}.}

Ejemplo animado de representación de eje-ángulo con dirección del eje (1, 1.5, 0.5) y ángulo de rotación variable.

Usos

La representación eje-ángulo resulta conveniente al tratar con la dinámica de cuerpos rígidos . Es útil tanto para caracterizar rotaciones como para convertir entre diferentes representaciones del movimiento de cuerpos rígidos , como transformaciones homogéneas y torsiones.

Cuando un cuerpo rígido gira alrededor de un eje fijo , sus datos de eje-ángulo son un eje de rotación constante y el ángulo de rotación depende continuamente del tiempo .

Sustituir los tres autovalores 1 y e ± y sus tres ejes ortogonales asociados en una representación cartesiana en el teorema de Mercer es una construcción conveniente de la representación cartesiana de la matriz de rotación en tres dimensiones.

Solicitud

La fórmula de rotación de Rodrigues , que lleva el nombre de Olinde Rodrigues , es un algoritmo eficiente para rotar un vector euclidiano, dado un eje de rotación y un ángulo de rotación. En otras palabras, la fórmula de Rodrigues proporciona un algoritmo para calcular el mapa exponencial deso(3){\displaystyle {\mathfrak {entonces}}(3)}a SO(3) sin calcular la exponencial matricial completa.

Si v es un vector en y e es un vector unitario con raíz en el origen que describe un eje de rotación alrededor del cual v gira un ángulo θ , la fórmula de rotación de Rodrigues para obtener el vector rotado es: vrot=v+(pecadoθ)(mi×v)+(1porqueθ)(mi×(mi×v)).{\displaystyle \mathbf {v} _{\mathrm {rot} }=\mathbf {v} +(\sin \theta )(\mathbf {e} \times \mathbf {v} )+(1-\cos \theta )(\mathbf {e} \times (\mathbf {e} \times \mathbf {v} ))\,.}

Para la rotación de un solo vector, puede ser más eficiente que convertir e y θ en una matriz de rotación para rotar el vector.

Relación con otras representaciones

Hay varias formas de representar una rotación. Es útil comprender cómo se relacionan entre sí las diferentes representaciones y cómo convertirlas. Aquí, el vector unitario se denota con ω en lugar de e .

Mapa exponencial de 𝔰𝔬(3) a SO(3)

El mapa exponencial efectúa una transformación de la representación de ejes y ángulos de las rotaciones a matrices de rotación , exp:so(3)SO(3).{\displaystyle \exp \colon {\mathfrak {so}}(3)\to \mathrm {SO} (3)\,.}

Esencialmente, mediante el uso de una expansión de Taylor se deriva una relación de forma cerrada entre estas dos representaciones. Dado un vector unitarioωso(3)=R3{\textstyle {\boldsymbol {\omega }}\in {\mathfrak {so}}(3)=\mathbb {R} ^{3}}representando el eje de rotación unitario y un ángulo, θR , una matriz de rotación equivalente R se da de la siguiente manera, donde K es la matriz de producto vectorial de ω , es decir, Kv = ω × v para todos los vectores vR 3 , R=exp(θK)=k=0(θK)kk¡=I+θK+12¡(θK)2+13¡(θK)3+{\displaystyle R=\exp(\theta \mathbf {K} )=\sum _{k=0}^{\infty }{\frac {(\theta \mathbf {K} )^{k}}{k!}}=I+\theta \mathbf {K} +{\frac {1}{2!}}(\theta \mathbf {K} )^{2}+{\frac {1}{3!}}(\theta \mathbf {K} )^{3}+\cdots }

Debido a que K es antisimétrico y la suma de los cuadrados de sus entradas sobre la diagonal es 1, el polinomio característico P ( t ) de K es P ( t ) = det( Kt I ) = −( t 3 + t ) . Dado que, por el teorema de Cayley-Hamilton , P ( K ) = 0, esto implica que K3=K.{\displaystyle \mathbf {K} ^{3}=-\mathbf {K} \,.} Como resultado, K 4 = – K 2 , K 5 = K , K 6 = K 2 , K 7 = – K .

Este patrón cíclico continúa indefinidamente, por lo que todas las potencias superiores de K pueden expresarse en términos de K y K 2 . Por lo tanto, de la ecuación anterior se deduce que R=I+(θθ33¡+θ55¡)K+(θ22¡θ44¡+θ66¡)K2,{\displaystyle R=I+\left(\theta -{\frac {\theta ^{3}}{3!}}+{\frac {\theta ^{5}}{5!}}-\cdots \right)\mathbf {K} +\left({\frac {\theta ^{2}}{2!}}-{\frac {\theta ^{4}}{4!}}+{\frac {\theta ^{6}}{6!}}-\cdots \right)\mathbf {K} ^{2}\,,} eso es, R=I+(pecadoθ)K+(1porqueθ)K2,{\displaystyle R=I+(\sin \theta )\mathbf {K} +(1-\cos \theta )\mathbf {K} ^{2}\,,}

mediante la fórmula de la serie de Taylor para funciones trigonométricas .

Esta es una derivación algebraica de Lie, en contraste con la geométrica en el artículo Fórmula de rotación de Rodrigues . [ 1 ]

Debido a la existencia del mapa exponencial mencionado anteriormente, el vector unitario ω que representa el eje de rotación y el ángulo θ a veces se denominan coordenadas exponenciales de la matriz de rotación R.

Mapa logarítmico de SO(3) a 𝔰𝔬(3)

Sea K la matriz de 3  ×  3 que realiza el producto vectorial con el eje de rotación ω : K ( v ) = ω × v para todos los vectores v en lo que sigue.

Para recuperar la representación eje-ángulo de una matriz de rotación , calcule el ángulo de rotación a partir de la traza de la matriz de rotación : θ=arcos(Tran(R)12){\displaystyle \theta =\arccos \left({\frac {\operatorname {Tr} (R)-1}{2}}\right)} y luego usar eso para encontrar el eje normalizado, ω=12pecadoθ[R32R23R13R31R21R12] ,{\displaystyle {\boldsymbol {\omega }}={\frac {1}{2\sin \theta }}{\begin{bmatrix}R_{32}-R_{23}\\R_{13}-R_{31}\\R_{21}-R_{12}\end{bmatrix}}~,}

dóndeRij{\displaystyle R_{ij}}es el componente de la matriz de rotación,R{\displaystyle R}, en eli{\displaystyle i}-ésima fila yj{\displaystyle j}-ésima columna.

Esta fórmula no funciona paraω{\displaystyle \omega }si R es simétrico. Porque esto solo es posible cuandoθ=kπ{\displaystyle \theta =k\pi }para algún número enterok{\displaystyle k}, por lo tanto, seno(θ{\displaystyle \theta }) = 0, lo que provoca una división por cero en la fórmula. Sin embargo, el límite de la fórmula paraω{\displaystyle \omega }, comoθkπ{\displaystyle \theta \to k\pi }, da el valor correcto paraω{\displaystyle \omega }. Para el caso general elω{\displaystyle \omega }También se puede encontrar utilizando el espacio nulo de RI , ver matriz de rotación#Determinación del eje .

La representación del eje-ángulo no es única ya que una rotación deθ{\displaystyle -\theta }acerca deω{\displaystyle -{\boldsymbol {\omega }}} es lo mismo que una rotación deθ{\displaystyle \theta }acerca deω{\displaystyle {\boldsymbol {\omega }}}. Por supuesto, sumando cualquier múltiplo entero de 2π aθ{\displaystyle \theta }también dará como resultado la misma rotación; un método mejor es restringirθ{\displaystyle \theta }al intervalo [0, 2π) o (-π, π].

Siθ{\displaystyle \theta }Se busca para un conocido(R,ω){\displaystyle (R,\omega )}par, entonces debe ser consistente con la orientación de laω{\displaystyle \omega }eje (en otras palabras, debe estar en el cuadrante apropiado del círculo unitario definido porpecadoθ{\displaystyle \sin \theta }yporqueθ{\displaystyle \cos \theta }). Considerando que la matriz de producto cruzadoK{\displaystyle \mathbf {K} }También está disponible para un determinadoω{\displaystyle \omega }, esta consistencia se puede asegurar generalizando la fórmula de traza anterior de la siguiente manera: [ 2 ]θ=atanorte2(Tr(KR),Tr(R)1),{\displaystyle \theta ={\rm {atan2}}(-{\rm {Tr}}(\mathbf {K} R),{\rm {Tr}}(R)-1),} donde atan2 es la función arcotangente de dos argumentos, que proporciona el signo correcto paraθ{\displaystyle \theta }en el(π,π]{\displaystyle (-\pi ,\pi ]}intervalo. Este método resuelve la ambigüedad de signo que existe en los términos fuera del eje deR{\displaystyle R}.

El logaritmo matricial de la matriz de rotación R es registroR={0si θ=0θ2pecadoθ(RRT)si θ0 y θ(π,π){\displaystyle \log R={\begin{cases}0&{\text{if }}\theta =0\\{\dfrac {\theta }{2\sin \theta }}\left(R-R^{\mathsf {T}}\right)&{\text{if }}\theta \neq 0{\text{ and }}\theta \in (-\pi ,\pi )\end{cases}}}

Se produce una excepción cuando R tiene autovalores iguales a −1 . En este caso, el logaritmo no es único. Sin embargo, incluso en el caso en que θ = π, la norma de Frobenius del logaritmo es registro(R)F=2|θ|.{\displaystyle \|\log(R)\|_{\mathrm {F} }={\sqrt {2}}|\theta |\,.} Dadas las matrices de rotación A y B , dgramo(A,B):=registro(ATB)F{\displaystyle d_{g}(A,B):=\left\|\log \left(A^{\mathsf {T}}B\right)\right\|_{\mathrm {F} }} es la distancia geodésica en la variedad 3D de matrices de rotación.

Para rotaciones pequeñas, el cálculo anterior de θ puede ser numéricamente impreciso, ya que la derivada de arccos tiende a infinito cuando θ → 0. En ese caso, los términos fuera del eje proporcionarán mejor información sobre θ, puesto que, para ángulos pequeños, RI + θ K. (Esto se debe a que estos son los dos primeros términos de la serie de Taylor para exp( θ K ) .)

Esta formulación también presenta problemas numéricos en θ = π , donde los términos fuera del eje no proporcionan información sobre el eje de rotación (que aún se define salvo una ambigüedad de signo). En ese caso, debemos reconsiderar la fórmula anterior.

R=I+Kpecadoθ+K2(1porqueθ){\displaystyle R=I+\mathbf {K} \sin \theta +\mathbf {K} ^{2}(1-\cos \theta )} En θ = π , tenemos R=I+2K2=I+2(ωωI)=2ωωI{\displaystyle R=I+2\mathbf {K} ^{2}=I+2({\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}-I)=2{\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}-I} y así dejar B:=ωω=12(R+I),{\displaystyle B:={\boldsymbol {\omega }}\otimes {\boldsymbol {\omega }}={\frac {1}{2}}(R+I)\,,} por lo tanto, los términos diagonales de B son los cuadrados de los elementos de ω y los signos (salvo ambigüedad de signo) se pueden determinar a partir de los signos de los términos fuera del eje de B. 

cuaterniones unitarios

La siguiente expresión transforma las coordenadas eje-ángulo en versores ( cuaterniones unitarios ): q=(porqueθ2,ωpecadoθ2){\displaystyle \mathbf {q} =\left(\cos {\tfrac {\theta }{2}},{\boldsymbol {\omega }}\sin {\tfrac {\theta }{2}}\right)}

Dado un versor q = r + v representado por su escalar r y su vector v , las coordenadas eje-ángulo se pueden extraer utilizando lo siguiente: θ=2arcosrω={vpecadoθ2,si θ00,de lo contrario.{\displaystyle {\begin{aligned}\theta &=2\arccos r\\[8px]{\boldsymbol {\omega }}&={\begin{cases}{\dfrac {\mathbf {v} }{\sin {\tfrac {\theta }{2}}}},&{\text{if }}\theta \neq 0\\0,&{\text{otherwise}}.\end{cases}}\end{aligned}}}

Una expresión numéricamente más estable del ángulo de rotación utiliza la función atan2 :θ=2atan2(|v|,r),{\displaystyle \theta =2\operatorname {atan2} (|\mathbf {v} |,r)\,,} donde | v | es la norma euclidiana del vector tridimensional v .

Véase también

Referencias

  1. Esto se cumple para la representación triplete del grupo de rotación, es decir, espín 1. Para representaciones/espines de dimensiones superiores, véase Curtright, TL ; Fairlie, DB ; Zachos, CK (2014). "Una fórmula compacta para rotaciones como polinomios de matriz de espín". SIGMA . 10 : 084. arXiv : 1402.3541 . Bibcode : 2014SIGMA..10..084C . doi : 10.3842/SIGMA.2014.084 . S2CID 18776942 . 
  2. Dai, Jian S. (2012). "Operadores de tornillo de desplazamiento finito con movimiento de Chasles embebido". Journal of Mechanisms and Robotics . 4 (4): 041002. doi : 10.1115/1.4006951 . Nótese que la fórmula original, dada en la ecuación (28) del artículo, incluye un factor de0,5{\displaystyle 0.5} en ambos argumentos de laatanorte2(.,.){\displaystyle {\rm {atan2}}(.,.)}función. Sin embargo, este factor puede omitirse sin problemas, porqueatan2(αy,αincógnita)=atan2(y,incógnita){\displaystyle \operatorname {atan2} (\alpha y,\alpha x)=\operatorname {atan2} (y,x)}para cualquierα>0{\displaystyle \alpha >0}yincógnita,yR{\displaystyle x,y\in \mathbb {R} }.