En geometría , existen varios 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 previa 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 sola rotación alrededor de algún eje. Una rotación de este tipo puede describirse de forma única mediante un mínimo de tres parámetros reales . Sin embargo, por diversas razones, hay varias formas de representarlo. Muchas de estas representaciones utilizan más del mínimo necesario de tres parámetros, aunque cada uno de ellos todavía tiene sólo tres grados de libertad .
Un ejemplo en el que 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 fijos 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, el 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 conservan 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 solo la parte de rotación de un movimiento, que contiene tres grados de libertad, e ignora la parte de traslación, 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 rotacion
La tríada de vectores unitarios antes mencionada también se denomina base . La especificación de las coordenadas ( componentes ) de los vectores de esta base en su posición actual (rotada), en términos de los ejes de coordenadas de referencia (no rotada), describirá completamente la rotación. Los tres vectores unitarios,, y , que forman la base rotada, cada uno consta de 3 coordenadas, lo que da un total de 9 parámetros.
Estos parámetros se pueden escribir como los elementos de una matriz A de 3 × 3 , denominada matriz de rotación . Por lo general, 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:
- A es una matriz ortogonal real,por lo que cada una de sus filas o columnas representa un vector unitario .
- Los valores propios de A son
- donde i es la unidad imaginaria estándar con la propiedad i 2 = −1
- El determinante de A es +1, equivalente al producto de sus valores propios.
- La traza de A es 1 + 2 cos θ , equivalente a la suma de sus valores propios.
El ángulo θ que aparece en la expresión de valor propio corresponde al ángulo del eje de Euler y 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 multiplicándolo por la izquierda (rotándolo) con la matriz de rotación.
Las propiedades anteriores son equivalentes a:
que es otra forma de decir que forman una base ortonormal 3D . Estas declaraciones comprenden un total de 6 condiciones (el producto cruzado contiene 3), dejando la matriz de rotación con solo 3 grados de libertad, según sea necesario.
Dos rotaciones sucesivas representadas por las matrices A 1 y A 2 se combinan fácilmente como elementos de un grupo,
(Tenga en cuenta el orden, ya que el vector que se gira se multiplica por la derecha).
La facilidad con la que los vectores se pueden rotar usando una matriz de rotación, así como la facilidad de combinar rotaciones sucesivas, hacen que la matriz de rotación sea una forma útil y popular de representar rotaciones, aunque es menos concisa que otras representaciones.
Eje y ángulo de Euler (vector de rotación)
Del teorema de la rotación de Euler sabemos que cualquier rotación puede expresarse como una sola rotación alrededor de algún eje. El eje es el vector unitario (único excepto por el signo) que permanece inalterado por la rotación. La magnitud del ángulo también es única, y su signo está determinado por el signo del eje de rotación.
El eje se puede representar como un vector unitario tridimensional
y el ángulo por un escalar θ .
Dado que el eje está normalizado, solo tiene dos grados de libertad . El ángulo agrega el tercer grado de libertad a esta representación de rotación.
Uno puede desear 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 solo tres valores escalares (sus componentes), que representan los tres grados de libertad. Esto también es cierto 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. La combinación de dos rotaciones sucesivas, cada una representada por un eje y un ángulo de Euler, no es sencilla 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 notación de matriz de rotación o cuaternión, calcular el producto y luego convertir de nuevo al eje y ángulo de Euler.
Rotaciones de Euler
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 representará una rotación alrededor de uno de los ejes del marco móvil. La matriz del medio representa una rotación alrededor de un eje intermedio llamado línea de nodos .
Sin embargo, la definición de ángulos de Euler no es única y en la literatura se utilizan muchas convenciones diferentes. Estas convenciones dependen de los ejes sobre los que se realizan las rotaciones y de su secuencia (ya que las rotaciones no son conmutativas ).
La convención que se utiliza suele indicarse especificando los ejes sobre los que tienen lugar las rotaciones consecutivas (antes de componerse), refiriéndose a ellos por í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 hace girar a las otras dos, dejando la segunda matriz de rotación sobre la línea de nodos y la tercera en un marco que convive con el cuerpo. Hay 3 × 3 × 3 = 27 combinaciones posibles de tres rotaciones básicas, pero solo 3 × 2 × 2 = 12 de ellas se pueden utilizar para representar rotaciones 3D arbitrarias como ángulos de Euler. Estas 12 combinaciones evitan rotaciones consecutivas alrededor de un mismo eje (como XXY) que reducirían 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 girado que se mueve conjuntamente, sino en una mezcla. Se utilizan otras convenciones (por ejemplo, matriz de rotación o cuaterniones ) para evitar este problema.
En la aviación orientación de la aeronave se expresa generalmente como intrínseca Tait-Bryan ángulos siguiendo el z - y '- x " convención, que se llaman partida , elevación , y banco (o como sinónimos, yaw , pitch y rodillo ).
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 cuaternión de rotación se escribe como 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 del cuaternión, con los otros elementos desplazados hacia abajo una posición.
En términos del eje de Euler
y á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) a menudo se denomina término escalar, que tiene su origen en cuaterniones cuando se entiende como la extensión matemática de los números complejos, escrito como
y donde { i , j , k } son los números hipercomplejos que satisfacen
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 debe tenerse 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
- ,
podemos representar esto con parámetros de cuaternión de una manera igualmente concisa:
Los cuaterniones son una parametrización muy popular debido a las siguientes propiedades:
- Más compacta que la representación matricial y menos susceptible a errores de redondeo
- Los elementos del cuaternión varían continuamente sobre la esfera unitaria en ℝ 4 , (denotado por S 3 ) a medida que cambia la orientación, evitando saltos discontinuos (inherentes a las parametrizaciones tridimensionales)
- La expresión de la matriz de rotación en términos de parámetros de cuaternión no implica funciones trigonométricas
- Es simple combinar dos rotaciones individuales representadas como cuaterniones usando un producto de cuaterniones
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 corresponden 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) por 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 desenredado inicial. Algebraicamente, el cuaternión que describe tal rotación cambia de un escalar +1 (inicialmente), a través de valores (escalar + pseudovector) a escalar -1 (en una vuelta completa), a través de (escalar + pseudovector) valores de nuevo a escalar +1 (en dos vueltas completas). Este ciclo se repite cada 2 vueltas. Después de 2 n vueltas (entero n > 0 ), sin ningún intento de desenredado intermedio, las cuerdas / bandas se pueden desenredar parcialmente de nuevo al estado de 2 ( n - 1) vueltas con cada aplicación del mismo procedimiento utilizado para desenredar de 2 vueltas a 0 vueltas. Si aplica el mismo procedimiento n veces, un objeto de 2 n enredos volverá al estado desenredado o de giro 0. El proceso de desenredado también elimina cualquier torsión generada por la rotación alrededor de 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 dimensión superior de la proyección gnomónica , mapeando 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 del doblete (fiel) , donde g = n̂ 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,
Entonces, la composición de la rotación R B con R A es la rotación R C = R B R A , con el eje y el ángulo de rotación definidos por el producto de los cuaterniones,
es decir
Expanda este producto de cuaternión para
Dividir ambos lados de esta ecuación por la identidad resultante de la anterior,
y evaluar
Esta es la fórmula de Rodrigues para el eje de una rotación compuesta definido en términos de los ejes de las rotaciones de dos componentes. Derivó esta fórmula en 1840 (véase la página 408). [3] Los tres ejes de rotación A , B y C forman un triángulo esférico y los ángulos diedros 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 de Rodrigues modificado es una unidad de mapeo de proyección estereográfica cuaterniones de una esfera tridimensional al hiperplano de vector puro tridimensional.
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 sobre un ángulo η se pueden escribir fácilmente en términos de productos de puntos y cruces de la siguiente manera:
donde
es la componente longitudinal de p a lo largo de n , dada por el producto escalar ,
es la componente transversal de p con respecto a n , y
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 an . Este plano está atravesado por la parte transversal de p en sí y una dirección perpendicular tanto a p como a n . La rotación es directamente identificable en la ecuación como una rotación 2D sobre un ángulo η.
Las rotaciones pasivas se pueden describir con 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 inspeccionando la matriz de rotación en forma analítica.
Matriz de rotación → Ángulos de Euler ( z - x - z extrínsecos)
Usando la convención x , los ángulos de Euler extrínsecos 3-1-3 φ , θ y ψ (alrededor del eje z , eje x y nuevamente el-axis) se puede obtener de la siguiente manera:
Tenga en cuenta que atan2 ( a , b ) es equivalente a arctana/Bdonde también tiene en cuenta el cuadrante en el que se encuentra el punto ( b , a ) ; ver atan2 .
Al implementar la conversión, se deben tener en cuenta varias situaciones: [5]
- Generalmente hay dos soluciones en el intervalo [−π, π] 3 . La fórmula anterior funciona solo cuando θ está dentro del intervalo [0, π] .
- Para el caso especial A 33 = 0 , φ y ψ se derivarán de A 11 y A 12 .
- Hay infinitas pero numerables soluciones fuera del intervalo [−π, π] 3 .
- El que todas las soluciones matemáticas se apliquen a una aplicación determinada depende de la situación.
Ángulos de Euler ( z - y ′ - x ″ intrínsecos) → matriz de rotación
La matriz de rotación A se genera a partir de los ángulos de Euler intrínsecos 3-2-1 multiplicando las tres matrices generadas por las rotaciones sobre los ejes.
Los ejes de rotación dependen de la convención específica que se utilice. Para la convención x, las rotaciones se refieren a los ejes x , y y z con ángulos ϕ , θ y ψ , las matrices individuales son las siguientes:
Esto produce
Nota: Esto es válido para un sistema de la mano derecha , que es la convención utilizada en casi todas las disciplinas de ingeniería y física.
La interpretación de estas matrices de rotación para diestros es que expresan transformaciones de coordenadas ( pasivas ) en contraposición a transformaciones puntuales ( activas ). Debido a que A expresa una rotación desde el fotograma local 1 al fotograma global 0 (es decir, A codifica los ejes del fotograma 1 con el fotograma 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 desde el fotograma 0 al fotograma 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 autovector correspondiente al autovalor de 1, y θ se puede calcular a partir de los autovalores restantes.
El eje Euler se puede también encontrar utilizando descomposición de valor singular ya que es el vector normalizado que abarca el espacio nulo de la matriz I - A .
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 de 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
de la matriz de rotación A es la siguiente:
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]
La matriz de rotación correspondiente al cuaternión q se puede calcular de la siguiente manera:
dónde
lo que da
o equivalente
Á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
desde los ángulos de Euler ( ϕ , θ , ψ ) de la siguiente manera:
Ángulos de Euler ( z - y ′ - x ″ intrínsecos) → cuaternión
Un cuaternión equivalente a los ángulos de guiñada ( ψ ), cabeceo ( θ ) y balanceo ( ϕ ). o ángulos intrínsecos de Tait-Bryan que siguen 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
la convención x 3-1-3 ángulos de Euler extrínsecos ( φ , θ , ψ ) se pueden calcular mediante
Cuaternión → Ángulos de Euler ( z - y ′ - x ″ intrínsecos)
Dado el cuaternión de rotación
los ángulos de guiñada , cabeceo y balanceo, o ángulos intrínsecos de Tait-Bryan que siguen la convención z - y ′ - x ″ , se pueden calcular mediante
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
Entonces el eje de Euler ê y el ángulo θ se pueden calcular mediante
Fórmulas de conversión para derivadas
Matriz de rotación ↔ velocidades angulares
El vector de velocidad angular
se puede extraer de la derivada temporal de la matriz de rotaciónd A/d t por la siguiente relación:
La derivación está adaptada de Ioffe [7] de la siguiente manera:
Para cualquier vector r 0 , considere r ( t ) = A ( t ) r 0 y diferenciarlo:
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 lo tanto, no cambia con el tiempo. Así, 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
(ver movimiento circular y producto transversal ).
Por la transitividad de las ecuaciones antes mencionadas,
lo que implica
Cuaternión ↔ velocidades angulares
El vector de velocidad angular
se puede obtener de la derivada del cuaternión d q/d tcomo sigue: [8]
dónde es el conjugado (inverso) de .
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 del cuaternión. En el centro de GA es el producto geométrico de los vectores, una extensión de los productos internos y cruzados tradicionales , dado por
donde el símbolo ∧ denota el producto exterior o el producto en cuña . Este producto de vectores a y b produce dos términos: una parte escalar del producto interior y un bivector parte del producto de cuña. Este bivector describe el plano perpendicular a lo que devolvería el producto cruzado 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 base unitarios son ortogonales entre sí, el producto geométrico se reduce al producto exterior antisimétrico: x̂ y ŷ pueden intercambiarse libremente al costo de un factor de -1. El cuadrado se reduce a - x̂x̂ŷŷ = −1 ya que los propios vectores base cuadran a +1.
Este resultado se aplica generalmente a todos los bivectores y, como resultado, el bivector desempeña un papel similar al de la unidad imaginaria . El álgebra geométrica usa bivectores en su análogo al cuaternión, el rotor , dado por
donde B̂ es una unidad bivector que describe el plano de rotación . Como B̂ se eleva al cuadrado de −1, la expansión de la serie de potencias de R genera las funciones trigonométricas . La fórmula de rotación que mapea un vector a a un vector rotado b es entonces
dónde
es el reverso de (invirtiendo el orden de los vectores en equivale a cambiar su signo).
Ejemplo. Una rotación sobre el eje
se puede lograr convirtiendo v̂ en su bivector dual,
donde i = x̂ŷẑ es el elemento de volumen unitario, el único trivector (pseudoescalar) en el espacio tridimensional. El resultado es
En el espacio tridimensional, sin embargo, a menudo es más sencillo dejar la expresión para B̂ = iv̂ , usando el hecho de que i conmuta con todos los objetos en 3D y también se eleva al cuadrado a -1. Una rotación de la x vector en este plano en un ángulo θ es entonces
Reconociendo que
y que - v̂x̂v̂ es la reflexión de x̂ sobre el plano perpendicular a v̂ da una interpretación geométrica a la operación de rotación: la rotación conserva las componentes que son paralelas a v̂ y cambia solo las perpendiculares. A continuación, se calculan los términos:
El resultado de la rotación es entonces
Una simple verificación de este resultado es el ángulo θ = 2/3π . Tal rotación debería mapear x̂ a ŷ . De hecho, la rotación se reduce a
exactamente como se esperaba. Esta fórmula de rotación es válida no solo 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 de los ángulos de Euler es
pero
Estos rotores vuelven a salir de las exponenciales así:
donde R β se refiere a la rotación en las coordenadas originales. De manera similar para la rotación γ ,
Teniendo en cuenta que R γ y R α conmutan (las rotaciones en el mismo plano deben conmutar), y el rotor total se convierte en
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 casi de manera 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 los pares de cuaterniones se pueden usar para generar rotaciones en 4D, lo que da seis grados de libertad, y el enfoque de á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 a través del rotor, y la cantidad de giro alrededor de ese eje demostrado por la rotación del rotor; esta rotación se puede expresar comodonde 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, con 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 con respecto a la orientación representada por el punto de inicio en lugar del origen aplica el mismo cambio alrededor de los mismos ejes que especifica el vector unitario. Laescalar cada punto da una coordenada única en notación Ángulo-Ángulo-Ángulo. La diferencia entre dos coordenadas produce inmediatamente el eje único de rotación y el ángulo entre las dos orientaciones.
El logaritmo natural de un cuaternión representa el espacio curvo en 3 ángulos alrededor de 3 ejes de rotación y se expresa en longitud de arco; similar a los ángulos de Euler, pero independiente del orden. [9] Existe una definición de fórmula de producto de Lie de la suma de rotaciones, que es que son la suma de pasos infinitesimales de cada rotación aplicada en serie; esto implicaría que las rotaciones son el resultado de todas las rotaciones en el mismo instante que se aplican, en lugar de una serie de rotaciones aplicadas posteriormente.
Los ejes de rotación están alineados con el cartesiano estándar. ejes. Estas rotaciones se pueden sumar y restar simplemente, especialmente cuando los marcos que se giran 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 de fuentes externas, o que son de fuentes relativas a la rotación actual aún requieren multiplicaciones, se proporciona la aplicación de la Fórmula de 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 se pueden considerar 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.
Solo una nota de observación: los cuaterniones de registro tienen anillos u octavas de rotaciones; eso es para rotaciones mayores de 4tienen curvas relacionadas. Las curvaturas de las cosas que se acercan a este límite parecen saltar de órbita 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"; al igual que Celsius podría considerarse más correcto que Fahrenheit.
Otros valores relacionados son inmediatamente derivables:
El ángulo total de rotación ...
El eje de rotación ...
Representación del cuaternión
Cálculo de la matriz de base
Esto se construyó a partir de la rotación de los vectores (1,0,0), (0,1,0), (0,0,1) y las constantes reductoras.
Dada una entrada
Que se utilizan para calcular la matriz resultante ...
Cálculo de base alternativa
Alternativamente, esto se puede utilizar
dado:
convertir a eje angular , y =
Calcule algunas expresiones parciales:
Calcule la matriz resultante:
Expandido :
Rotación vectorial
Rotar el vector alrededor del vector de rotación .
El ángulo de rotación será .
Calcule el coseno del ángulo multiplicado por el vector a rotar, 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 cruzado incluye el seno del ángulo entre el vector que se gira y el eje de rotación.
Rotar un vector de rotación
Uso de la fórmula de rotación compuesta de Rodrigues
Para un vector de rotación dado y otro vector de rotación para rotar el marco.
De los vectores de rotación iniciales, extraiga los ángulos y ejes:
Eje de rotación normalizado para el fotograma actual:
Eje de rotación normalizado para rotar el marco alrededor:
El ángulo de ángulo resultante de la rotación es
- o
El resultado, eje de rotación no normalizado:
- o
La fórmula de rotación de Rodrigues llevaría a que el pecado del ángulo resultante anterior se pueda usar para normalizar el vector, sin embargo, esto falla para rangos grandes; así que normaliza el eje de resultados como cualquier otro vector.
Y la coordenada de rotación del cuadro final:
Girar la rotación alrededor de un eje fijo
Un vector de rotacion representa tres ejes; estos pueden usarse como una abreviatura para rotar la rotación usando el 'Rotar un vector de rotación' anterior. Estas expresiones se representan mejor como fragmentos de código.
Configure algunas constantes utilizadas en otras expresiones.
const nx = Qx / Q.length; const ny = Qy / Q.length; const nz = Qz / Q.length; ángulo constante = Q.length; const s = Math.sin (ángulo); const c1 = Math.cos (ángulo); constante c = 1-c1;
utilizando los valores anteriores ...
// calcula la 'x' para el marco que representa este vector de rotación const cnx = c * nx xAxis = {x: cnx * nx + c1 , y: cnx * ny + s * nz , z: cnx * nz - s * ny}
o
// calcula la 'y' para el marco que representa este vector de rotación const cny = c * ny; yAxis = {x: (cny * nx) - s * nz , y: (cny * ny) + c1 , z: (cny * nz) + s * nx}
o
// calcula la 'z' para el marco que representa este vector de rotación const cnz = c * nz; eje z = {x: (cnz * nx) + s * ny , y: (cnz * ny) - s * nx , z: (cnz * nz) + c1}
Conversión de la matriz de base
Calcule el determinante de la matriz ...
Convertir al ángulo de rotación ...
calcular el factor normal ...
el ángulo-ángulo-ángulo resultante:
Conversión de vector normal (Y)
Representación de una normal como una rotación, esto supone que el vector depende'. 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
El ángulo es simplemente la suma de la coordenada x / z (o y, x si Z está 'arriba', o y, z si X está 'arriba') ...
si el ángulo es 0, el trabajo está hecho, el resultado es
Algunos valores temporales; estos valores son solo parciales a los que se hace referencia más adelante ...
Utilice la normal proyectada en el eje Y como ángulo para rotar ...
Alinear Normal usando Basis
La tangente y bitangente predeterminada de las rotaciones que solo tienen su conjunto normal, dan como resultado tangentes y bitangentes que son irregulares. Alternativamente, construya una matriz de base y convierta a partir de la base utilizando el método mencionado anteriormente. Calcule la normal de lo anterior y la matriz para convertir ...
Y luego use la base para registrar la conversión de cuaterniones ...
Alinear normal directamente
O Este es el cálculo directo para dar como resultado un cuaternión logarítmico; calcular el vector de resultado anterior y luego ...
Este es el angulo
Estos productos parciales se utilizan a continuación ...
Calcule el vector de rotación normalizado (eje de rotación) ...
y finalmente calcular el cuaternión logarítmico resultante.
Conversión de eje-ángulo
Esto asume el eje de entrada está normalizado. Si hay 0 rotación, resulte con
Ver también
- Filtro de Euler
- Orientación (geometría)
- Rotación alrededor de un eje fijo
- Operador de rotación tridimensional
Referencias
- ^ "Seguimiento de marcadores fiduciales para realidad aumentada" .
- ^ Weisstein, Eric W. "Matriz de rotación" . MathWorld .
- ^ a b 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 provennant de ces déplacement considérées indépendant des cause qui peuvent les produire". J. Math. Pures Appl . 5 : 380–440. en línea
- ^ cf. J Willard Gibbs (1884). Elementos de análisis vectorial , New Haven, p. 67
- ^ Apuntes de clase de cinemática directa e inversa , página 5
- ^ Mebius, Johan (2007). "Derivación de la fórmula de Euler-Rodrigues para rotaciones tridimensionales a partir de la fórmula general para rotaciones tetradimensionales". arXiv : matemáticas / 0701759 .
- ^ [1] Física - Mark Ioffe - W (t) en términos de matrices
- ^ Cuaterniones y notas de la conferencia de rotación , p. 14-15
- ^ d3x0r. "Repositorio STFRPhysics" .
Otras lecturas
- Shuster, MD (1993). "Una encuesta de representaciones de actitudes" (PDF) . Revista de Ciencias Astronáuticas . 41 (4): 439–517. Código bibliográfico : 1993JAnSc..41..439S . Archivado desde el original (PDF) el 25 de septiembre de 2019.
- Taubin, G. (2011). "Rotaciones 3D" . Aplicaciones y gráficos informáticos IEEE . 31 (6): 84–89. doi : 10.1109 / MCG.2011.92 . PMID 24808261 .
- Coutsias, E .; Romero, L. (2004). "Los Cuaterniones con una aplicación a Rigid Body Dynamics" . Informe técnico Sandia . Laboratorios Nacionales Sandia. SAND2004-0153.
- Markley, F. Landis (2003). "Representaciones de error de actitud para el filtrado de Kalman". Revista de Orientación, Control y Dinámica . 26 (2): 311–7. Código Bibliográfico : 2003JGCD ... 26..311M . doi : 10,2514 / 2,5048 . hdl : 2060/20020060647 .
- Goldstein, H. (1980). Mecánica clásica (2ª ed.). Addison – Wesley. ISBN 0-201-02918-9.
- Wertz, James R. (1980). Determinación y control de la actitud de la nave espacial . D. Reidel . ISBN 90-277-1204-2.
- Schmidt, J .; Niemann, H. (2001). "Uso de cuaterniones para parametrizar rotaciones 3-D en optimización no lineal sin restricciones". Actas de la Conferencia de Visualización y Modelado de Visión 2001 . págs. 399–406. ISBN 3898380289.
- Landau, L .; Lifshitz, EM (1976). Mecánica (3ª ed.). Pergamon Press . ISBN 0-08-021022-8.
- Klumpp, AR (diciembre de 1976). "Extracción libre de singularidad de un cuaternión de una matriz de dirección-coseno". Diario de naves espaciales y cohetes . 13 (12): 754–5. Código Bibliográfico : 1976JSpRo..13..754K . doi : 10,2514 / 3,27947 .
- Doran, C .; Lasenby, A. (2003). Álgebra geométrica para físicos . Prensa de la Universidad de Cambridge. ISBN 978-0-521-71595-9.
- Terzakis, G .; Lourakis, M .; Ait-Boudaoud, D. (2018). "Parámetros de Rodrigues modificados: una representación eficiente de la orientación en gráficos y visión 3D" . Revista de Visión y Imágenes Matemáticas . 60 (3): 422–442. doi : 10.1007 / s10851-017-0765-x .
- Rowenhorst, D .; Rollett, AD; Rohrer, GS; Groeber, M .; Jackson, M .; Konijnenberg, PJ; De Graef, M. (2015). "Representaciones consistentes y conversiones entre rotaciones 3D" . Modelado y Simulación en Ciencia e Ingeniería de Materiales . 23 (8): 083501. Código Bibliográfico : 2015MSMSE..23h3501R . doi : 10.1088 / 0965-0393 / 23/8/083501 .
enlaces externos
- EuclideanSpace tiene una gran cantidad de información sobre la representación de rotación
- Q36. ¿Cómo genero una matriz de rotación a partir de ángulos de Euler? y Q37. ¿Cómo convierto una matriz de rotación a ángulos de Euler? - Preguntas frecuentes sobre Matrix y Quaternions
- Los números imaginarios no son reales - el álgebra geométrica del espacio - tiempo - la sección "Rotaciones y álgebra geométrica" deriva y aplica la descripción del rotor de las rotaciones
- Tutorial DCM de Starlino - Tutorial y aplicaciones de la teoría de la matriz de coseno direccional. Algoritmo de estimación de la orientación espacial utilizando dispositivos IMU de acelerómetro, giroscopio y magnetómetro. Uso de filtro complementario (alternativa popular al filtro de Kalman) con matriz DCM.