stringtranslate.com

Formalismos de rotación en tres dimensiones.

En geometría existen diversos formalismos para expresar una rotación en tres dimensiones como una transformación matemática . En física, este concepto se aplica a la mecánica clásica donde la cinemática rotacional (o angular) es la ciencia de la descripción cuantitativa de un movimiento puramente rotacional . La orientación de un objeto en un instante dado se describe con las mismas herramientas, ya que se define como una rotación imaginaria desde una ubicación de referencia en el espacio, en lugar de una rotación realmente observada desde una ubicación anterior en el espacio.

Según el teorema de rotación de Euler , la rotación de un cuerpo rígido (o sistema de coordenadas tridimensional con origen fijo ) se describe mediante una única rotación alrededor de algún eje. Tal rotación puede describirse de forma única mediante un mínimo de tres parámetros reales . Sin embargo, por diversos motivos, existen varias formas de representarlo. Muchas de estas representaciones utilizan más del mínimo necesario de tres parámetros, aunque cada una de ellas todavía tiene sólo tres grados de libertad .

Un ejemplo donde se utiliza la representación de rotación es en la visión por computadora , donde un observador automatizado necesita rastrear un objetivo. Considere un cuerpo rígido, con tres vectores unitarios ortogonales fijados a su cuerpo (que representan los tres ejes del sistema de coordenadas local del objeto ). El problema básico es especificar la orientación de estos tres vectores unitarios y, por tanto, del cuerpo rígido, con respecto al sistema de coordenadas del observador, considerado como una ubicación de referencia en el espacio.

Rotaciones y movimientos

Los formalismos de rotación se centran en los movimientos propios ( que preservan la orientación ) del espacio euclidiano con un punto fijo , al que se refiere una rotación . Aunque los movimientos físicos con un punto fijo son un caso importante (como los descritos en el marco del centro de masa o los movimientos de una articulación ), este enfoque crea un conocimiento sobre todos los movimientos. Cualquier movimiento propio del espacio euclidiano se descompone en una rotación alrededor del origen y una traslación . Cualquiera que sea el orden de su composición , el componente de rotación "puro" no cambiaría, determinado únicamente por el movimiento completo.

También se pueden entender las rotaciones "puras" como mapas lineales en un espacio vectorial equipado con estructura euclidiana, no como mapas de puntos de un espacio afín correspondiente . En otras palabras, un formalismo de rotación captura sólo la parte rotacional de un movimiento, que contiene tres grados de libertad, e ignora la parte traslacional, que contiene otros tres.

Al representar una rotación como números en una computadora, algunas personas prefieren la representación de cuaternión o la representación de eje+ángulo, porque evitan el bloqueo del cardán que puede ocurrir con las rotaciones de Euler. [1]

Alternativas al formalismo

Matriz de rotación

La tríada de vectores unitarios mencionada anteriormente también se llama base . Especificar las coordenadas ( componentes ) de los vectores de esta base en su posición actual (girada), en términos de los ejes de coordenadas de referencia (no girados), describirá completamente la rotación. Los tres vectores unitarios, û , y ŵ , que forman la base rotada, constan cada uno de 3 coordenadas, lo que produce un total de 9 parámetros.

Estos parámetros se pueden escribir como los elementos de una matriz A de 3 × 3 , llamada matriz de rotación . Normalmente, las coordenadas de cada uno de estos vectores se organizan a lo largo de una columna de la matriz (sin embargo, tenga en cuenta que existe una definición alternativa de matriz de rotación y se usa ampliamente, donde las coordenadas de los vectores definidos anteriormente están organizadas por filas [2] ).

Los elementos de la matriz de rotación no son todos independientes; como dicta el teorema de rotación de Euler, la matriz de rotación tiene sólo tres grados de libertad.

La matriz de rotación tiene las siguientes propiedades:

El ángulo θ que aparece en la expresión del valor propio corresponde al ángulo del eje de Euler y a la representación del ángulo. El vector propio correspondiente al valor propio de 1 es el eje de Euler que lo acompaña, ya que el eje es el único vector (distinto de cero) que permanece sin cambios al multiplicarlo hacia la izquierda (rotarlo) con la matriz de rotación.

Las propiedades anteriores son equivalentes a

( û , , ŵ )base ortonormal

Dos rotaciones sucesivas representadas por las matrices A 1 y A 2 se combinan fácilmente como elementos de un grupo,

La facilidad con la que se pueden rotar vectores usando una matriz de rotación, así como la facilidad de combinar rotaciones sucesivas, hacen de la matriz de rotación una forma útil y popular de representar rotaciones, aunque es menos concisa que otras representaciones.

Eje y ángulo de Euler (vector de rotación)

Una visualización de una rotación representada por un eje y un ángulo de Euler.

Del teorema de rotación de Euler sabemos que cualquier rotación se puede expresar como una sola rotación alrededor de algún eje. El eje es el vector unitario (único excepto el signo) que permanece sin cambios por la rotación. La magnitud del ángulo también es única, estando su signo determinado por el signo del eje de rotación.

El eje se puede representar como un vector unitario tridimensional.

θ

Como el eje está normalizado, tiene sólo dos grados de libertad . El ángulo añade el tercer grado de libertad a esta representación de rotación.

Es posible que desee expresar la rotación como un vector de rotación , o vector de Euler , un vector tridimensional no normalizado cuya dirección especifica el eje y cuya longitud es θ ,

El vector de rotación es útil en algunos contextos, ya que representa una rotación tridimensional con sólo tres valores escalares (sus componentes), que representan los tres grados de libertad. Esto también es válido para las representaciones basadas en secuencias de tres ángulos de Euler (ver más abajo).

Si el ángulo de rotación θ es cero, el eje no está definido de forma única. Combinar dos rotaciones sucesivas, cada una representada por un eje y un ángulo de Euler, no es sencillo y, de hecho, no satisface la ley de la suma de vectores, que muestra que las rotaciones finitas no son realmente vectores en absoluto. Es mejor emplear la matriz de rotación o la notación de cuaterniones, calcular el producto y luego convertir nuevamente al eje y ángulo de Euler.

rotaciones de Euler

Rotaciones de Euler de la Tierra. Intrínseco (verde), precesión (azul) y nutación (rojo)

La idea detrás de las rotaciones de Euler es dividir la rotación completa del sistema de coordenadas en tres rotaciones constitutivas más simples, llamadas precesión , nutación y rotación intrínseca , siendo cada una de ellas un incremento en uno de los ángulos de Euler . Observe que la matriz exterior representará una rotación alrededor de uno de los ejes del marco de referencia, y la matriz interior representa una rotación alrededor de uno de los ejes del marco en movimiento. La matriz del medio representa una rotación alrededor de un eje intermedio llamado línea de nodos .

Sin embargo, la definición de los ángulos de Euler no es única y en la literatura se utilizan muchas convenciones diferentes. Estas convenciones dependen de los ejes alrededor de los cuales se realizan las rotaciones y de su secuencia (ya que las rotaciones sobre una esfera no son conmutativas ).

La convención que se utiliza suele indicarse especificando los ejes alrededor de los cuales se producen las rotaciones consecutivas (antes de componerse), refiriéndose a ellos mediante índice (1, 2, 3) o letra (X, Y, Z) . Las comunidades de ingeniería y robótica suelen utilizar ángulos de Euler 3-1-3. Observe que después de componer las rotaciones independientes, ya no giran alrededor de su eje. La matriz más externa rota a las otras dos, dejando la segunda matriz de rotación sobre la línea de nodos, y la tercera en un marco como moviéndose con el cuerpo. Hay 3 × 3 × 3 = 27 combinaciones posibles de tres rotaciones básicas, pero solo 3 × 2 × 2 = 12 de ellas pueden usarse para representar rotaciones 3D arbitrarias como ángulos de Euler. Estas 12 combinaciones evitan rotaciones consecutivas alrededor del mismo eje (como XXY), lo que reduciría los grados de libertad que se pueden representar.

Por lo tanto, los ángulos de Euler nunca se expresan en términos del marco externo, o en términos del marco del cuerpo rotado en movimiento conjunto, sino en una mezcla. Se utilizan otras convenciones (p. ej., matriz de rotación o cuaterniones ) para evitar este problema.

En la aviación, la orientación de la aeronave generalmente se expresa como ángulos intrínsecos de Tait-Bryan siguiendo la convención z - y ′- x , que se denominan rumbo , elevación y alabeo (o como sinónimos, guiñada , cabeceo y balanceo ).

Cuaterniones

Los cuaterniones , que forman un espacio vectorial de cuatro dimensiones , han demostrado ser muy útiles para representar rotaciones debido a varias ventajas sobre las otras representaciones mencionadas en este artículo.

Una representación de rotación de un cuaternión se escribe como un versor (cuaternión normalizado):

La definición anterior almacena el cuaternión como una matriz siguiendo la convención utilizada en (Wertz 1980) y (Markley 2003). Una definición alternativa, utilizada por ejemplo en (Coutsias 1999) y (Schmidt 2001), define el término "escalar" como el primer elemento cuaternión, con los otros elementos desplazados una posición hacia abajo.

En términos del eje de Euler

y el ángulo θ los componentes de este versor se expresan de la siguiente manera:

La inspección muestra que la parametrización del cuaternión obedece a la siguiente restricción:

El último término (en nuestra definición) suele denominarse término escalar, que tiene su origen en los cuaterniones cuando se entiende como la extensión matemática de los números complejos, escrito como

{ i , j , k }números hipercomplejos

La multiplicación de cuaterniones, que se utiliza para especificar una rotación compuesta , se realiza de la misma manera que la multiplicación de números complejos , excepto que se debe tener en cuenta el orden de los elementos, ya que la multiplicación no es conmutativa. En notación matricial podemos escribir la multiplicación de cuaterniones como

Por lo tanto, combinar dos rotaciones de cuaterniones consecutivas es tan simple como usar la matriz de rotación. Así como dos matrices de rotación sucesivas, A 1 seguida de A 2 , se combinan como

Los cuaterniones son una parametrización muy popular debido a las siguientes propiedades:

Al igual que las matrices de rotación, los cuaterniones a veces deben volver a normalizarse debido a errores de redondeo, para asegurarse de que correspondan a rotaciones válidas. Sin embargo, el costo computacional de renormalizar un cuaternión es mucho menor que el de normalizar una matriz de 3 × 3 .

Los cuaterniones también capturan el carácter espinorial de las rotaciones en tres dimensiones. Para un objeto tridimensional conectado a su entorno (fijo) mediante cuerdas o bandas flojas, las cuerdas o bandas se pueden desenredar después de dos vueltas completas alrededor de algún eje fijo desde un estado inicial desenredado. Algebraicamente, el cuaternión que describe dicha rotación cambia desde un escalar +1 (inicialmente), pasando por valores (escalar + pseudovector) hasta un escalar −1 (en una vuelta completa), pasando por valores (escalar + pseudovector) de nuevo hasta un escalar +1 (en una vuelta completa). dos vueltas completas). Este ciclo se repite cada 2 vueltas. Después de 2 n vueltas (entero n > 0 ), sin ningún intento intermedio de desenredar, las cuerdas/bandas se pueden desenredar parcialmente y volver al estado de 2 ( n − 1) vueltas con cada aplicación del mismo procedimiento utilizado para desenredar de 2 vueltas a 0 vueltas. Al aplicar el mismo procedimiento n veces, un objeto 2 n enredado volverá al estado desenredado o de 0 vueltas. El proceso de desenredado también elimina cualquier torsión generada por la rotación sobre las cuerdas/bandas. Se pueden utilizar modelos mecánicos 3D simples para demostrar estos hechos.

vector de rodrigues

El vector de Rodrigues (a veces llamado vector de Gibbs , con coordenadas llamadas parámetros de Rodrigues ) [3] [4] se puede expresar en términos del eje y ángulo de rotación de la siguiente manera:

Esta representación es un análogo de dimensiones superiores de la proyección gnomónica , que mapea cuaterniones unitarios de una esfera tridimensional al hiperplano de vector puro tridimensional.

Tiene una discontinuidad a 180° ( π radianes): como cualquier vector de rotación r tiende a un ángulo de π radianes, su tangente tiende al infinito.

Una rotación g seguida de una rotación f en la representación de Rodrigues tiene la forma de composición de rotación simple

Hoy en día, la forma más sencilla de probar esta fórmula es en la representación doblete (fiel) , donde g = tan a , etc.

Las características combinatorias de la derivación de la matriz de Pauli que acabamos de mencionar también son idénticas a la derivación del cuaternión equivalente a continuación. Construya un cuaternión asociado con una rotación espacial R como,

R BR AR C = R B R A

Expande este producto de cuaternión a

Divide ambos lados de esta ecuación por la identidad resultante de la anterior,

Ésta es la fórmula de Rodrigues para el eje de una rotación compuesta definida en términos de los ejes de las dos rotaciones componentes. Derivó esta fórmula en 1840 (ver página 408). [3] Los tres ejes de rotación A , B y C forman un triángulo esférico y los ángulos diédricos entre los planos formados por los lados de este triángulo están definidos por los ángulos de rotación.

Los parámetros de Rodrigues modificados (MRP) se pueden expresar en términos de eje y ángulo de Euler mediante

El vector Rodrigues modificado es una unidad de mapeo de proyección estereográfica de cuaterniones desde una esfera tridimensional al hiperplano de vector puro tridimensional. La proyección del cuaternión opuesto q da como resultado un vector Rodrigues modificado diferente p s que la proyección del cuaternión original q . Comparando componentes se obtiene que

Parámetros de Cayley-Klein

Consulte la definición en Wolfram Mathworld.

Análogos de dimensiones superiores

Ley de transformación de vectores

Las rotaciones activas de un vector 3D p en el espacio euclidiano alrededor de un eje n en un ángulo η se pueden escribir fácilmente en términos de productos punto y cruz de la siguiente manera:

pnproducto escalar
pn

es el producto cruzado de p con n .

La fórmula anterior muestra que la componente longitudinal de p permanece sin cambios, mientras que la porción transversal de p gira en el plano perpendicular a n . Este plano está atravesado por la porción transversal de p y una dirección perpendicular tanto a p como a n . La rotación se identifica directamente en la ecuación como una rotación 2D sobre un ángulo η .

Las rotaciones pasivas se pueden describir mediante la misma fórmula, pero con un signo inverso de η o n .

Fórmulas de conversión entre formalismos

Matriz de rotación ↔ ángulos de Euler

Los ángulos de Euler ( φ , θ , ψ ) se pueden extraer de la matriz de rotación A inspeccionando la matriz de rotación en forma analítica.

Matriz de rotación → Ángulos de Euler ( z - x - z extrínseco)

Usando la convención x , los 3-1-3 ángulos extrínsecos de Euler φ , θ y ψ (alrededor del eje z , el eje x y nuevamente el eje) se pueden obtener de la siguiente manera:

Tenga en cuenta que atan2( a , b ) es equivalente a arctana/bdonde también toma en cuenta el cuadrante en el que se encuentra el punto ( b , a ) ; ver atan2 .

A la hora de implementar la conversión hay que tener en cuenta varias situaciones: [5]

Ángulos de Euler ( z - y ′- x intrínseco) → matriz de rotación

La matriz de rotación A se genera a partir de los ángulos intrínsecos de Euler 3-2-1 multiplicando las tres matrices generadas por las rotaciones alrededor de los ejes.

Los ejes de rotación dependen de la convención específica que se utilice. Para la convención x , las rotaciones son alrededor de los ejes x , y y z con ángulos ϕ , θ y ψ , las matrices individuales son las siguientes:

Esto produce

de mano derecha

La interpretación de estas matrices de rotación hacia la derecha es que expresan transformaciones de coordenadas ( pasivas ) en contraposición a transformaciones puntuales ( activas ). Debido a que A expresa una rotación desde el cuadro local 1 al cuadro global 0 (es decir, A codifica los ejes del cuadro 1 con respecto al cuadro 0 ), las matrices de rotación elementales se componen como se indicó anteriormente. Debido a que la rotación inversa es solo la rotación transpuesta, si quisiéramos la rotación global a local del cuadro 0 al cuadro 1 , escribiríamos

Matriz de rotación ↔ eje/ángulo de Euler

Si el ángulo de Euler θ no es múltiplo de π , el eje de Euler ê y el ángulo θ se pueden calcular a partir de los elementos de la matriz de rotación A de la siguiente manera:

Alternativamente, se puede utilizar el siguiente método:

La descomposición propia de la matriz de rotación produce los valores propios 1 y cos θ ± i sen θ . El eje de Euler es el vector propio correspondiente al valor propio de 1, y θ se puede calcular a partir de los valores propios restantes.

El eje de Euler también se puede encontrar mediante descomposición en valores singulares , ya que es el vector normalizado que abarca el espacio nulo de la matriz IA.

Para convertir de otra manera, la matriz de rotación correspondiente a un eje de Euler ê y un ángulo θ se puede calcular de acuerdo con la fórmula de rotación de Rodrigues (con la modificación apropiada) de la siguiente manera:

con I 3 la matriz identidad 3 × 3 , y

es la matriz de productos cruzados .

Esto se expande a:

Matriz de rotación ↔ cuaternión

Cuando se calcula un cuaternión a partir de la matriz de rotación, existe una ambigüedad de signo, ya que q y q representan la misma rotación.

Una forma de calcular el cuaternión

A

Hay otras tres formas matemáticamente equivalentes de calcular q . La inexactitud numérica se puede reducir evitando situaciones en las que el denominador sea cercano a cero. Uno de los otros tres métodos tiene el siguiente aspecto: [6] [7]

La matriz de rotación correspondiente al cuaternión q se puede calcular de la siguiente manera:

o equivalente

Esto se llama fórmula de Euler-Rodrigues para la matriz de transformación.

Ángulos de Euler ↔ cuaternión

Ángulos de Euler ( z - x - z extrínsecos) → cuaternión

Consideraremos los ángulos de Euler extrínsecos de la convención x 3-1-3 para el siguiente algoritmo. Los términos del algoritmo dependen de la convención utilizada.

Podemos calcular el cuaternión.

( ϕ , θ , ψ )

Ángulos de Euler ( z - y ′- x intrínsecos) → cuaternión

Un cuaternión equivalente a los ángulos de guiñada ( ψ ), cabeceo ( θ ) y balanceo ( ϕ ). o los ángulos intrínsecos de Tait-Bryan siguiendo la convención z - y ′- x , se pueden calcular mediante

Cuaternión → Ángulos de Euler ( z - x - z extrínsecos)

Dado el cuaternión de rotación

x 3-1-3 ángulos de Euler extrínsecos ( φ , θ , ψ )

Cuaternión → Ángulos de Euler ( z - y ′- x intrínsecos)

Dado el cuaternión de rotación

Los ángulos de guiñadacabeceointrínsecos de Tait-Bryanz - y ′- x

Eje de Euler – ángulo ↔ cuaternión

Dado el eje de Euler ê y el ángulo θ , el cuaternión

puede ser calculado por

Dado el cuaternión de rotación q , defina

êθ

Matriz de rotación ↔ vector de Rodrigues

Vector de Rodrigues → Matriz de rotación

Dado que la definición del vector de Rodrigues se puede relacionar con cuaterniones de rotación:

q2
r

Conduciendo a la fórmula final:

Fórmulas de conversión para derivados.

Matriz de rotación ↔ velocidades angulares

El vector de velocidad angular

derivada temporald un/d t

La derivación está adaptada de Ioffe [8] de la siguiente manera:

Para cualquier vector r 0 , considere r ( t ) = A ( t ) r 0 y diferencielo:

La derivada de un vector es la velocidad lineal de su punta. Dado que A es una matriz de rotación, por definición la longitud de r ( t ) es siempre igual a la longitud de r 0 y, por tanto, no cambia con el tiempo. Por tanto, cuando r ( t ) gira, su punta se mueve a lo largo de un círculo y la velocidad lineal de su punta es tangencial al círculo; es decir, siempre perpendicular a r ( t ) . En este caso específico, la relación entre el vector de velocidad lineal y el vector de velocidad angular es

movimiento circularproducto vectorial

Por la transitividad de las ecuaciones antes mencionadas,

lo que implica

Cuaternión ↔ velocidades angulares

El vector de velocidad angular

d q/d t[9]
q

Por el contrario, la derivada del cuaternión es

Rotores en un álgebra geométrica.

El formalismo del álgebra geométrica (GA) proporciona una extensión e interpretación del método de los cuaterniones. Central para GA es el producto geométrico de vectores, una extensión de los productos internos y cruzados tradicionales , dado por

donde el símbolo denota el producto exterior o producto en cuña . Este producto de los vectores a y b produce dos términos: una parte escalar del producto interno y una parte bivectorial del producto de cuña. Este bivector describe el plano perpendicular a lo que devolvería el producto vectorial de los vectores.

Los bivectores en GA tienen algunas propiedades inusuales en comparación con los vectores. Bajo el producto geométrico, los bivectores tienen un cuadrado negativo: el bivector x̂ŷ describe el plano xy . Su cuadrado es ( x̂ŷ ) 2 = x̂ŷx̂ŷ . Debido a que los vectores de base unitaria son ortogonales entre sí, el producto geométrico se reduce al producto exterior antisimétrico, por lo que y ŷ se pueden intercambiar libremente a costa de un factor de −1. El cuadrado se reduce a x̂x̂ŷŷ = −1 ya que los propios vectores base cuadran a +1.

Este resultado es válido generalmente para todos los bivectores y, como resultado, el bivector desempeña un papel similar al de la unidad imaginaria . El álgebra geométrica utiliza bivectores en su análogo del cuaternión, el rotor , dado por

plano de rotaciónen serie de potencias de Rfunciones trigonométricasab
inverso

Ejemplo. Una rotación alrededor del eje.

i = x̂ŷẑ

Sin embargo, en el espacio tridimensional, suele ser más sencillo dejar la expresión para = iv̂ , aprovechando el hecho de que i conmuta con todos los objetos en 3D y también eleva al cuadrado −1. Una rotación del vector en este plano en un ángulo θ es entonces

Reconociendo que

v̂x̂v̂

El resultado de la rotación es entonces

Una comprobación sencilla de este resultado es el ángulo θ =2/3π . Tal rotación debería asignar a ŷ . De hecho, la rotación se reduce a

exactamente como se esperaba. Esta fórmula de rotación es válida no sólo para vectores sino para cualquier multivector . Además, cuando se utilizan ángulos de Euler, la complejidad de la operación se reduce mucho. Las rotaciones compuestas provienen de multiplicar los rotores, por lo que el rotor total desde los ángulos de Euler es

R βγ
R γR α

Por tanto, las rotaciones compuestas de los ángulos de Euler se convierten en una serie de rotaciones equivalentes en el marco fijo original.

Si bien los rotores en álgebra geométrica funcionan de manera casi idéntica a los cuaterniones en tres dimensiones, el poder de este formalismo es su generalidad: este método es apropiado y válido en espacios con cualquier número de dimensiones. En 3D, las rotaciones tienen tres grados de libertad, un grado por cada plano linealmente independiente (bivector) en el que puede tener lugar la rotación. Se sabe que se pueden usar pares de cuaterniones para generar rotaciones en 4D, lo que produce seis grados de libertad. y el enfoque del álgebra geométrica verifica este resultado: en 4D, hay seis bivectores linealmente independientes que pueden usarse como generadores de rotaciones.

ángulo-ángulo-ángulo

Las rotaciones se pueden modelar como un eje y un ángulo; como se ilustra con un giroscopio que tiene un eje que pasa por el rotor, y la cantidad de giro alrededor de ese eje se demuestra mediante la rotación del rotor; esta rotación se puede expresar como ángulo ∗ (eje), donde eje es un vector unitario que especifica la dirección del eje del rotor. Desde el origen, en cualquier dirección, se encuentra el mismo eje de rotación, siendo la escala del ángulo equivalente a la distancia desde el origen. Desde cualquier otro punto en el espacio, de manera similar, el mismo vector de dirección aplicado en relación con la orientación representada por el punto inicial en lugar del origen aplica el mismo cambio alrededor de los mismos ejes que especifica el vector unitario. El eje ángulo ∗ que escala cada punto proporciona una coordenada única en notación ángulo-ángulo-ángulo. La diferencia entre dos coordenadas produce inmediatamente el único eje de rotación y el ángulo entre las dos orientaciones.

El logaritmo natural de un cuaternión representa un espacio curvo de 3 ángulos alrededor de 3 ejes de rotación y se expresa en longitud de arco; similar a los ángulos de Euler, pero de orden independiente. [10] Existe una definición de fórmula de producto de Lie para la suma de rotaciones, que es que son suma de pasos infinitesimales de cada rotación aplicada en serie; Esto implicaría que las rotaciones son el resultado de todas las rotaciones que se aplican en el mismo instante, en lugar de una serie de rotaciones aplicadas posteriormente.

Los ejes de rotación están alineados con los ejes cartesianos x , y , z estándar . Estas rotaciones se pueden simplemente sumar y restar, especialmente cuando los marcos que se están rotando están fijados entre sí como en las cadenas IK. Las diferencias entre dos objetos que están en el mismo marco de referencia se encuentran simplemente restando sus orientaciones. Las rotaciones que se aplican desde fuentes externas, o que provienen de fuentes relativas a la rotación actual, aún requieren multiplicaciones; se proporciona la aplicación de la Fórmula Rodríguez.

La rotación de cada coordenada de eje representa la rotación del plano perpendicular al eje especificado simultáneamente con todos los demás ejes. Aunque las medidas pueden considerarse en ángulos, la representación es en realidad la longitud del arco de la curva; un ángulo implica una rotación alrededor de un punto, donde una curvatura es un delta aplicado al punto actual en una dirección inercial.

Sólo una nota de observación: los cuaterniones logarítmicos tienen anillos u octavas de rotaciones; es decir, para rotaciones mayores a 4 π tienen curvas relacionadas. Las curvaturas de las cosas que se acercan a este límite parecen saltar órbitas caóticamente.

Para ángulos "legibles por humanos", la norma 1 se puede utilizar para cambiar la escala de los ángulos para que parezcan más "apropiados":

Representación del cuaternión

Cálculo de la matriz básica

Esto se construyó rotando los vectores (1,0,0) , (0,1,0) , (0,0,1) y reduciendo constantes.

Dada una entrada Q = [ X , Y , Z ] ,

Que se utilizan para calcular la matriz resultante.

Cálculo de base alternativa

Alternativamente se puede utilizar esto. Dado A = [ X , Y , Z ] , convierta al eje del ángulo θ = ‖ A y [ x , y , z ] =A/A.

Calcule algunas expresiones parciales:

Calcule la matriz resultante:

Expandido:

Rotación vectorial

Gire el vector v = ( X , Y , Z ) alrededor del vector de rotación Q = ( X , Y , Z ) .

El ángulo de rotación será θ = ‖ Q .

Calcula el coseno del ángulo multiplicado por el vector a girar, más el seno del ángulo multiplicado por el eje de rotación, más uno menos el coseno del ángulo multiplicado por el producto escalar del vector y el eje de rotación multiplicado por el eje de rotación.

Algunas notas: el producto escalar incluye el coseno del ángulo entre el vector que se gira y el eje de rotación multiplicado por la longitud de v ; el producto vectorial incluye el seno del ángulo entre el vector que se gira y el eje de rotación.

Girar un vector de rotación

Usando la fórmula de rotación compuesta de Rodrigues , para un vector de rotación dado Q = ( X , Y , Z ) , y otro vector de rotación A = ( X ′, Y ′, Z ′) para rotar el marco.

De los vectores de rotación iniciales, extraiga los ángulos y ejes:

El ángulo resultante de la rotación es

El eje de rotación resultante no normalizado:

La fórmula de rotación de Rodrigues llevaría a que el pecado del ángulo resultante anterior se pueda utilizar para normalizar el vector; sin embargo, esto falla en rangos grandes; así que normalice el eje de resultados como cualquier otro vector.

Y la coordenada final de rotación del cuadro:

Rotación de giro alrededor de un eje fijo.

Un vector de rotación Q representa tres ejes; Estos se pueden usar como abreviatura para rotar la rotación usando el método anterior para rotar un vector de rotación. Estas expresiones se representan mejor como fragmentos de código.

Configure algunas constantes utilizadas en otras expresiones.

Conversión de matriz básica

Calcular el determinante de la matriz:

el ángulo-ángulo-ángulo resultante es nθ .

Conversión del vector normal ( Y )

Representación de una normal como una rotación, esto supone que el vector del eje Y (0,1,0) apunta hacia arriba. Si algún otro eje se considera primario, las coordenadas pueden simplemente intercambiarse.

Esto supone un vector de entrada normalizado en la dirección de la normal.

xz (o yxZyzX
(0,0,0)
Y

Alinear normal usando la base

La tangente y bitangente predeterminada de las rotaciones que solo tienen su conjunto normal, da como resultado tangentes y bitangentes que son irregulares. Alternativamente, cree una matriz base y convierta a partir de la base utilizando el método mencionado anteriormente. Calcule la normal de lo anterior y la matriz a convertir.

Alinear normal directamente

O Este es el cálculo directo que resulta con un log cuaternión; Calcula el vector de resultados anterior y luego...

y finalmente calcular el log cuaternión resultante.

Conversión de eje-ángulo

Esto supone que el eje de entrada a = [ X , Y , Z ] está normalizado. Si hay rotación cero, resultado con (0,0,0)

Ver también

Referencias

  1. ^ "Seguimiento de marcadores fiduciales para realidad aumentada".
  2. ^ Weisstein, Eric W. "Matriz de rotación". MundoMatemático .
  3. ^ ab Rodrigues, Olinde (1840). "Des lois géometriques qui regissent les déplacements d'un systéme solide dans l'espace, et de la variación des coordonnées provenant de ces déplacement considérées indépendant des cause qui peuvent les produire". J. Matemáticas. Pures Appl . 5 : 380–440.en línea
  4. ^ cf. J Willard Gibbs (1884). Elementos de análisis vectorial , New Haven, p. 67
  5. ^ Notas de conferencias sobre cinemática directa e inversa, página 5
  6. ^ Mebius, Johan (2007). "Derivación de la fórmula de Euler-Rodrigues para rotaciones tridimensionales a partir de la fórmula general para rotaciones cuatridimensionales". arXiv : matemáticas/0701759 .
  7. ^ Shuster, Malcolm D. (1993). "Una encuesta sobre representaciones de actitudes" (PDF) . Revista de Ciencias Astronáuticas . 41 (4): 439–517.
  8. ^ [1] Física - Mark Ioffe - W ( t ) en términos de matrices
  9. ^ Apuntes de conferencias sobre cuaterniones y rotación, p. 14-15
  10. ^ d3x0r. "Repositorio STFRPhysics". GitHub .{{cite web}}: CS1 maint: numeric names: authors list (link)

Otras lecturas

enlaces externos