Suponga que tiene un vector dado en coordenadas esféricas en un Sistema de referencia "R". Quiero rotar el sistema de referencia para que sean puntos de dirección z a lo largo . Todo lo que tengo que hacer es una primera rotación sobre el eje z con el ángulo y luego una rotación sobre el nuevo eje y con el ángulo . Los ángulos de Eulers podrían hacer el trabajo ( mira aquí, alemán ). Así que defino mi matriz de transformación así, excepto que en las matrices de rotación básicas cada tiene que ser cambiado a (ya que estoy girando el sistema de referencia y no el vector). La matriz resultante es (dado que no giro de nuevo sobre el nuevo eje z, puedo establecer el último ángulo en cero):
Entonces, si quiero saber las coordenadas de un vector en el nuevo sistema de coordenadas R' necesito calcular . Ahora quiero hacer algunas pruebas. Primero, ¿qué es el antiguo vector unitario en el nuevo sistema de coordenadas.
cual es correcta. pero si calculo debería rendir , que no lo hace. ¿Qué estoy haciendo mal?
Así es como lo configuraría, en 3 pasos: primer paso, gire el sistema de coordenadas sobre el eje z (como sugirió) por , de modo que se encuentra en el plano xz (es decir, su componente y es 0). Esto se hace rotando las coordenadas por
¿Cómo supe que el signo menos va ahí? Bien, mapas a , y mapas a (trate de pensar en ello conceptualmente, si eran ).
Comprueba eso (que llamaré ) tiene un componente de 0.
yo obtengo =
Ahora, giremos nuestras coordenadas sobre el eje y para que el eje z se alinee con . De nuevo, mapas a , y mapas a .
Ahora, para hacer nuestras rotaciones, necesitamos
entonces
Conectando esto a nuestro original , parece que esto funciona.
Escribiste una matriz que mapea a . Esa es la inversa de la matriz que mapea a .
Editar: es posible que no lo haya entendido bien, así que analicémoslo.
Quiere definir un conjunto de ejes cartesianos tal que . Sabes en una base antigua desde la que estás rotando. Las bases están relacionadas por un operador de rotación. .
Entonces, echemos un vistazo a los componentes de en la nueva base. queremos evaluar . Esto significa que para encontrar los componentes de sobre la nueva base, puede girarlo inversamente de manera equivalente y encontrar los componentes sobre la base anterior. Pero --imagina esto si no sigues. Que obtuviste el resultado erróneo de que eran iguales me dice que tu matriz no es correcta. No es lo que pensabas que era; probablemente suponga que desea rotar vectores y no los ejes o alguna otra desconexión sutil similar.
Editar editar: en realidad, no estoy seguro de entender lo que dices que encontraste estar en la nueva base. La notación no tiene sentido.
Tercera edición : veamos un cálculo completo del operador de rotación. Hacer esto con dos rotaciones encadenadas es algo oneroso, aunque sencillo. Usaré cuaterniones (espinores, rotores) en un álgebra geométrica (clifford).
La idea aquí es simple: cualquier rotación se puede descomponer en una acción de doble cara de un espinor.
donde los productos aquí son productos clifford. el espinor se forma como exponencial de un bivector. Dados dos vectores ortonormales que abarcan el plano de rotación, el espinor que gira un ángulo es .
Primero, encontramos el vector que se encuentra en el plano que es ortonormal a . La expresión es bastante simple:
Exactamente como cabría esperar. Este vector tiene magnitud , por lo que el vector normalizado es
Como hemos descompuesto el problema en coordenadas esféricas, conocemos el ángulo entre y es . Entonces podemos escribir el espinor como
Con . Ahora pasemos a evaluar los componentes del operador.
Los otros vectores base se asignan a
Verificar que esto sea correcto para el vector completo es un poco complicado, pero he verificado algunos límites importantes ( ) y el comportamiento parece verificarse.
Salto
Cruzará