¿Cómo se puede probar que cualquier rotación de un objeto rígido en un espacio tridimensional (3D) puede representarse mediante una secuencia de tres rotaciones alrededor de ejes prefijados por 3 ángulos de Euler? Veo esta declaración en muchos libros de texto, pero hasta ahora no encontré una prueba de la declaración.
Entiendo que generalmente se necesitan 3 parámetros para representar la rotación de un objeto 3D (por ejemplo, de Goldstein, Poole y Safko, Classical Mechanics, 3rd Ed. Ch. 4). Sin embargo, no puedo estar seguro de que 3 ángulos de Euler puedan ser tales 3 parámetros.
Por ahora acepto que, para cualquier rotación 3D, existe una única matriz en el grupo SO(3) que transforma las coordenadas de un punto en el objeto rotado. También acepto que tal matriz para la rotación alrededor del -eje por ángulo se expresa como
¿Existe una prueba simple sin pasar por mucha manipulación algebraica?
Un algoritmo que resuelve para , , y para cualquier matriz de rotación adecuada de 3 × 3 dada constituye una prueba constructiva.
Multiplicando esto se obtiene
Tenga en cuenta que el último elemento de la última fila es . Dada una matriz de rotación adecuada , uno puede encontrar tomando el coseno inverso de ese elemento:
Hay un problema con esta solución, y es cuando . Esto sucede cuando es ±1. Los elementos restantes en la última columna y la última fila son idénticos a cero en este caso. Esto se llama "bloqueo de cardán". Mi "lío caliente" se vuelve mucho más simple en este caso:
Su secuencia zyz es bastante extraña, en dos aspectos. La secuencia de rotación canónica de Euler es una rotación alrededor de z seguida de una segunda rotación alrededor del eje x rotado una vez seguida de una tercera rotación alrededor del eje z rotado dos veces . La suya es una rotación sobre el eje z inicial , seguida de una segunda rotación sobre el eje y inicial , seguida de una tercera rotación sobre el eje z inicial. Esas son solo dos de las veinticuatro secuencias de rotación diferentes que a menudo se denominan ángulos de Euler. En los veinticuatro casos, encontrarás que
Hay una prueba constructiva que se puede entender intuitivamente. Supongo que z es vertical e y es adelante/atrás. Gira el objeto sobre el eje z hasta que la parte superior esté en algún lugar del plano xz, es decir, y=0. Esto hace que la parte superior del objeto apunte perpendicular al eje y, por lo que puede rotar sobre el eje y hasta que apunte hacia arriba. Y ahora solo necesita rotarlo en el eje z hasta que adelante apunte en la dirección correcta.
Si desea saber cuál fue la rotación original, simplemente tome el opuesto de cada uno de esos pasos y póngalos en orden inverso. Por ejemplo, si rotaste 10°, -30°, 50°, entonces para obtener la rotación original de la rotación correcta es solo -50°, 30°, -10°.
Esta secuencia de operaciones siempre se puede realizar independientemente de cómo se oriente un objeto. No es necesariamente único. Si arriba ya está apuntando hacia arriba, entonces estará en el plano correcto sin importar cuánto gire sobre el eje z. Pero el punto es que hay algo de rotación sobre el eje z que lo deja en el plano correcto, que lo hay.
Editar:
Si desea algo estrictamente más matemático, suponga que tiene un marco ortogonal de vectores, y .
es la parte superior del objeto, así que primero lo rotamos para que . Solo lo rotamos , y termina apuntando a . Y girarlo otro si eso obtuvo un negativo en lugar de un positivo, entonces es . sólo está realmente indefinido en el caso de , en cuyo caso no lo gire en absoluto.
Ahora giramos sobre el -eje por y obtenemos que debe ser ya que es un vector unitario. Nuevamente, si no está definido, no necesitamos rotarlo.
Ya que y solo estamos rotando, .
A partir de ahí sabemos , entonces tenemos .
Simplemente gírelo en el -eje por más un extra si mira en sentido contrario, y obtenemos . y eso es solo , ya que es un vector unitario.
En este caso y ambos no pueden ser cero, así que no tenemos que preocuparnos por siendo indefinido en absoluto.
Dado que giramos en el -eje, y ya estaba en el -eje, .
Todo lo que nos queda es . Ya que , y solo estamos rotando, .
Por conveniencia, primero me gustaría cambiar la convención de signos. Eso es,
A continuación, recuerde que la matriz de rotación 3D se determina únicamente especificando dónde están los tres vectores unitarios , , y están mapeados. [Estas son de hecho las tres columnas de .]
Es sencillo comprobar que está asignado a
A continuación, supongamos que arreglamos y , y establecer . Tenemos , y los dos vectores unitarios y (definido análogamente a ) cumplen las siguientes condiciones:
(1) Ambos se encuentran en el plano que es perpendicular a y contiene el origen.
(2) Tienen una orientación fija [porque ].
(3) .
Al seguir girando sobre por un ángulo arbitrario , podemos ajustar y ser cualesquiera dos vectores unitarios que satisfagan las restricciones establecidas anteriormente. Por lo tanto, una matriz de rotación 3D arbitraria puede ser representado por
Ahora nota que mapea el vector unitario (es decir, ) a . Por eso,
Ján Lalinský
Juan Alexiou
david hamen
david hamen