En esta nueva entrada de la serie dedicada al álgebra geométrica veremos las rotaciones en el espacio euclídeo tridimensional. Como vimos en la entrada anterior, todas las rotaciones en este espacio son simples. De ahí resulta que todos los operadores de rotación, o rotores, del álgebra se pueden expresar como cuaterniones unitarios. Componer rotaciones en tres dimensiones viene a ser multiplicar cuaterniones unitarios. Reconocer en esos cuaterniones unitarios los ángulos y ejes de rotación es muy sencillo. De hecho, el uso de cuaterniones es el método más simple de obtener el ángulo y el eje resultante de la composición de rotaciones en tres dimensiones.
En la pasada entrada ya vimos que todas las rotaciones en el espacio de tres dimensiones son simples, es decir, afectan a la proyección de los vectores sobre un subespacio bidimensional, mientras dejan sin modificar la exclusión de los vectores respecto a ese subespacio, que no queda afectada. El correspondiente operador de rotación, o rotor, correspondiente a una rotación simple de ángulo y de orientación dada por el bivector unitario , es, como vimos:
También vimos que a partir de un vector podíamos obtener el correspondiente vector rotado, , del siguiente modo:
Donde designa propiamente a la rotación que convierte el objeto (en este caso, vector) en su versión rotada, , siendo el operador o rotor asociado a la rotación .
Rotación de un multivector cualquiera
Si hay que rotar un multivector cualquiera, basta recordar que siempre podemos expresarlo como sumas de multivectores de grado homogéneo, y a su vez cada uno de esos multivectores homogéneos se pueden expresar como productos geométricos de vectores (que pueden ser perfectamente los de la base canónica ortonormal). Por ejemplo, si tenemos este multivector:
El multivector rotado, , será el que resulte de aplicar la rotación a cada vector que forme parte de la expresión. Por tanto, si para obtener la rotación de un vector hacemos , obtendremos la rotación del multivector haciendo:
Pero ahora, como resulta que, como ya vimos en la entrada anterior, es el inverso de , tenemos no sólo que , sino también . Por tanto, la expresión para la rotación del multivector se simplificará y tendremos:
Y ahora podemos escribir todo sacando como factor común por la izquierda, y como factor común por la derecha:
Fijémonos la expresión que hemos obtenido finalmente:
Esta expresión que hemos obtenido para un multivector particular del álgebra geométrica asociada al espacio tridimensional euclídeo, , tiene validez absolutamente general para cualquier multivector en cualquier álgebra geométrica, asociada a espacios de cualquier dimensión, euclídeos o pseudoeuclídeos: para rotar un multivector cualquiera basta multiplicarlo a su izquierda por la reversión del rotor correspondiente y a su derecha por el rotor sin revertir, exactamente igual que si fuera un vector.
Rotores en
Cualquier rotación en un espacio tridimensional es simple, y vimos que la expresión del rotor asociado a una rotación simple es , donde es el módulo del ángulo y el bivector unitario simple da la orientación y el plano (salvo paralelismos) de giro. Pero en tres dimensiones también podemos imaginar que las rotaciones son en torno a un eje, en vez de en un plano. Si preferimos dar la rotación con el ángulo y vector director del eje de rotación, basta utilizar el hecho de que en se cumple , donde es el trivector unitario orientado canónico (). Así, podremos expresar el rotor :
Donde es el vector unitario que da la dirección del eje de rotación.
Una forma sencilla de comprobarlo sería expresar el bivector unitario como producto geométrico de dos vectores unitarios ortogonales entre sí: . El pseudoescalar canónico se puede escribir como producto de tres vectores unitarios ortogonales, de forma que los dos primeros sean respectivamente los y de antes: . Por tanto, si multiplicamos ambos lados de la última igualdad por por la izquierda, tendremos:
Ahora basta reconocer que el vector unitario , por construcción perpendicular a la superficie orientada representada por el bivector simple y unitario , no es más que :
Ya tenemos la expresión del rotor de en función del ángulo y eje de rotación de rotación, que no es más que un multivector con términos de grado par que, recordemos, en podemos equiparar a un cuaternión. Podemos decir que un rotor en no es más que un cuaternión unitario (por cumplirse: ).
Composición de dos rotaciones en
El resultado de aplicar a un multivector en primer lugar una rotación , seguida de una rotación , cuyos respectivos rotores asociados sean y , será:
La notación indica simplemente la composición de funciones. En nuestro caso, la composición de las rotaciones con , lo cual permite referirnos a la rotación como:
de modo que:
La expresión para el multivector rotado permite identificar inmediatamente el rotor , asociado a la rotación :
La expresión es totalmente coherente con la propiedad de que la reversión de un producto de multivectores es el producto de las reversiones de los multivectores en orden invertido:
Ejemplo: composición de dos rotaciones sucesivas en torno a dos ejes fijos en el espacio
Como muestra la siguiente figura, tenemos un dado en reposo sobre una superficie. Al principio vemos sus caras marcadas con uno, dos y tres puntos, y tomamos como vectores de nuestra base ortonormal los vectores , y , que he representado precisamente como los vectores perpendiculares a las respectivas caras marcadas con uno, dos y tres puntos, y que apuntan hacia el exterior del dado. Hagamos una primera rotación de ángulo de , en el el plano que contiene a los vectores y y con el sentido de rotación que va de a . Eso quiere decir que el rotor correspondiente será:
En la figura de arriba podemos visualizar el efecto de la rotación, que tiene lugar en el plano de los vectores y , . En la posición final, etiquetada como “2″ en la figura, vemos que la cara del dado marcada con un punto pasa a ocupar la posición que al principio ocupaba la cara marcada con dos puntos, que a su vez pasa a ser la cara sobre la que reposa el dado, mientras que la cara marcada con tres puntos sigue teniendo como vector normal el vector (los vectores de la base ortonormal de referencia, en verde, no los rotamos, sólo el dado).
En la figura siguiente partimos de la posición “2″ a la que se llegó tras la primera rotación y aplicamos una segunda rotación, también de 90º, pero esta vez en el plano de los ejes y y en el sentido que va de a . Como estamos en tres dimensiones, también podemos decir que hemos rotado en torno al eje en el sentido dado por la regla de la mano derecha.[1] Así, el dado acaba finalmente en la posición “3″.
Bien, ahora podemos preguntarnos cuál es la rotación equivalente que lleva el dado directamente de la posición “1″ a la posición “3″. Sabemos que la rotación que buscamos, tiene que ser el resultado de componer la segunda rotación, , con la primera, :
Y que el rotor asociado a la rotación será, por tanto:
En el caso concreto de la rotación del dado, tenemos que:
Para encontrar , habrá que multiplicar las dos expresiones anteriores que, al ser exponenciales de bivectores simples, podremos desarrollar en términos de cosenos y senos, como vimos en la entrada anterior. Además, en el caso tridimensional en que estamos, si recordamos lo dicho en la entrada 13, vemos que estas exponenciales “imaginarias” no son en el fondo más que cuaterniones unitarios:[2]
Como tanto el coseno como el seno de radianes (= 45º) valen , si sustituimos el valor en la expresión anterior tendremos:
Como además , aprovecho para reexpresar el bivector como producto del pseudoescalar por un vector dual (el bivector da el sentido del plano de rotación, mientras que el vector dual, perpendicular al plano de la rotación, da el eje de rotación). Y así vamos arreglando la expresión, acercándonos a la forma deseada:
¿Y cuál es la forma deseada? Pues la forma estándar de expresar un rotor de como exponencial del producto de un bivector unitario por un semiángulo, o sea, . Para eso aún nos queda normalizar el vector entre paréntesis, cuya norma vale . De esta forma el bivector unitario será , donde asimismo identificamos el vector unitario como el que da el eje de la rotación que buscamos:
El ángulo cuyo coseno vale y cuyo seno es positivo[3] es el de 60º ( radianes). De ahí deducimos que el valor del ángulo de la rotación es .
Ya lo tenemos: hemos multiplicado dos cuaterniones unitarios, que eran los rotores y , y hemos obtenido otro cuaternión unitario, , en el que podemos reconocer fácilmente el bivector unitario, , que da el plano y sentido de rotación, y el ángulo de rotación . En lugar de usar el bivector como plano de rotación, podemos usar alternativamente el vector unitario como eje de rotación, considerando positivo el sentido de rotación que sigue la regla de la mano derecha ya hemos elegido el pseudoescalar unitario siguiendo dicha regla. Si nos fijamos en las figuras, el vector unitario que da el eje de rotación es la normalización del vector que parte del origen de coordenadas, en el centro del dado, y apunta al vértice donde confluyen las tres caras visibles del dado. Y efectivamente, se puede comprobar que la rotación resultante es una rotación de 120º positivos según la regla de la mano derecha en torno a eje dado por el vector . Veámoslo en la figura siguiente:
Ejemplo del uso de la formula de rotación de un multivector
Veamos ahora un ejemplo de cómo rotar un multivector, en este caso el bivector , que en la figura vemos que en la posición “1″ del dado aparece superpuesto a la cara del dado marcada con dos puntos:
En el cómputo de los productos cruzados he utilizado el hecho de que en los pseudoescalares conmutan con los vectores y, por tanto, con cualquier multivector de . Ahora queda aplicar que y acabar de simplificar:
De igual modo se aplicaría el mismo procedimiento para rotar vectores. Por ejemplo, el vector normal a la cara marcada con un punto, que en la posición “1″ es , tras la rotación pasaría a ser que daría como resultado el vector . La fórmula de rotación para cualquier multivector viene dada por el sandwich multiplicativo .
Visualización del eje y ángulo de rotación resultante de dos rotaciones mediante el uso de reflexiones
Hemos visto que el producto de dos rotores permite encontrar fácilmente el eje y ángulo de la rotación resultante de componer dos rotaciones. Como un rotor puede ser entendido como un cuaternión, eso quiere decir que la composición de dos rotaciones se puede representar por el producto de dos cuaterniones. El uso de cuaterniones sigue siendo el método más eficiente y elegante para representar rotaciones en el espacio euclídeo tridimensional. La Humanidad no dispuso de ninguna forma para calcular el eje y ángulo de la rotación resultante de componer dos rotaciones hasta el siglo XIX: aunque Euler, durante el siglo XVIII, ya había dado la expresión de las componentes de un vector que sufre una rotación de eje y ángulo dados, no dio ninguna expresión para el eje y ángulo de rotación resultante de la composición de dos rotaciones de ejes y ángulos de rotación dados. Esa expresión fue finalmente encontrada por Olinde Rodrigues (1795-1851) en 1840, quien se adelantó por muy poco al descubrimiento de los cuaterniones por Hamilton, en 1843. ¿Cómo dedujo Rodrigues su fórmula sin utilizar cuaterniones? No está claro cuál fue el origen de su inspiración, pero podría muy bien ser la idea de fabricar una rotación mediante la composición de dos reflexiones respecto a dos (hiper)planos, como vimos ya en la pasada entrada.
Supongamos que queremos visualizar el resultado de componer dos rotaciones: la primera, , de ángulo y un eje que en la figura he representado en amarillo; y la segunda, , de ángulo y eje que en la figura he representado de color fucsia. Los ejes se cortan entre sí en el centro de una esfera, formando cierto ángulo entre ellos. Imaginemos el plano que contiene el punto de corte y los ejes de las rotaciones y : en la figura de abajo es el plano que pasa por el centro de la esfera y que la corta en una circunferencia máxima de la que vemos, en rojo, el arco : llamaré a este plano . Ahora construyamos dos planos más:
1) El primero, que llamaré , será el plano que pasa por el centro de la esfera y se corta con el plano de forma que el ángulo que va de a sea , o sea, la mitad del ángulo de la rotación .
De este modo, podemos considerar la rotación como la composición de dos reflexiones respecto a un plano: la primera respecto al plano , seguida de la reflexión respecto al plano . Como una reflexión es una simetría respecto a un plano, indicaré las reflexiones con la letra , para diferenciarlas de las rotaciones:
2) El segundo plano, que llamaré , será el plano que pasa por el centro de la esfera y se corta con el plano de forma que el ángulo que va de a sea , o sea, también la mitad del ángulo de la rotación .
De este modo, podemos considerar a la rotación como la composición de dos reflexiones respecto a un plano: la primera respecto al plano , seguida de la reflexión respecto al plano :
La rotación , equivalente a efectuar la rotación seguida de la rotación será, por tanto:
Donde se han suprimido los paréntesis, innecesarios debido a la propiedad asociativa de la composición de funciones. Pero, como vemos, aparece la composición de la reflexión consigo misma, y una misma reflexión hecha dos veces consecutivas es lo mismo que no hacer nada (o sea, que tenemos , donde es la función identidad, el elemento neutro de la composición de movimientos). Así pues, tendremos que:
Es decir, hemos conseguido expresar el resultado de la composición de dos rotaciones como la composición de dos reflexiones respecto a dos planos, lo que es equivalente a una rotación cuyo eje es la recta en que se cortan los planos y (recta cuyo vector director en la figura está indicado como ). El ángulo de la rotación resultante, , es el doble del ángulo que va del plano al plano .[4]
En la próxima entrada seguiremos con las rotaciones en el espacio euclídeo tridimensional. En concreto, hablaré de las ventajas y diferencias del método del álgebra geométrica, que utiliza cuaterniones, respecto al método clásico de las matrices ortogonales.
-
En álgebra geométrica, como el sentido de un bivector simple está determinado por el orden de los dos vectores que se multiplican exteriormente, la regla de la mano derecha es en el fondo superflua. En las figuras tridimensionales siempre escojo las bases ortonormales de modo que sigan la regla de la mano derecha (en este caso: , donde he redefinido el producto vectorial de vectores en función del producto exterior y de la contracción con la unidad pseudoescalar, que he escogido, como se ve en la figura, respetando la regla de la mano derecha). Si no hablamos de rotaciones simples “en torno a un eje” sino “en un plano”, el uso de la regla de la mano derecha no es necesario. [↩]
-
Recordemos de la entrada 13 que podemos identificar bivectores unitarios de la base canónica , y con los cuaterniones , y , respectivamente. De ahí resulta que los rotores de , al ser exponenciales de bivectores simples (el análogo tridimensional de un número imaginario puro), se pueden considerar cuaterniones de módulo unidad, análogamente al modo en que una exponencial imaginaria es un número complejo unitario. [↩]
-
Dado el valor del coseno, el valor del seno está fijado, excepto en un signo, por la conocida fórmula . Como el coseno de nuestro ángulo vale , los valores posibles para el seno serían . Pero el valor negativo queda descartado al ver que el factor que está multiplicando a es el valor positivo. [↩]
-
En la figura he tomado el ángulo como ángulo exterior al triángulo esférico en el vértice. También lo podría haber tomado como el ángulo interior sin ningún problema, pero como también ha de ir de a , en este caso el ángulo interior es negativo, y valdría . A ello se correspondería un ángulo de rotación de , es decir, una vuelta completa de 360º menos el valor , que tiene el mismo efecto que rotar un ángulo . [↩]
The Explorando el álgebra geométrica 16 – Rotaciones en el espacio euclídeo tridimensional (I) by Juan Leseduarte, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 Spain License.
Escribe un comentario