Loading [MathJax]/extensions/TeX/newcommand.js

2 votos

Encontrar todas las rotaciones que envían un vector a otro

En un comentario sobre una respuesta que di en Rotación de un vector 3d a otro , @victorvalbert pregunta "¿Qué hay de encontrar todas las matrices de rotación que giran un punto a otro?"

Quería dar una respuesta, así que la he puesto aquí para poder responder a mi propia pregunta, teniendo un poco más de espacio para hacerlo.

2voto

John Hughes Puntos 27780

\newcommand{\bn}{\mathbf n} \newcommand{\bu}{\mathbf u} \newcommand{\bv}{\mathbf v} \newcommand{\bR}{\mathbf R} \newcommand{\bM}{\mathbf M} \newcommand{\bA}{\mathbf A} \newcommand{\bK}{\mathbf K} \newcommand{\bD}{\mathbf D}

Primer paso: las rotaciones conservan la distancia, por lo que si P y Q son puntos cuyas distancias al origen no son iguales, entonces no hay ninguna matriz de rotación que lleve uno a otro. Así que vamos a restringir a los pares de puntos del mismo radio. Al reducir la escala por este radio, también podríamos suponer que el radio es 1 . Así que en realidad estamos preguntando "Dados los puntos de la esfera unitaria, ¿cuáles son todas las matrices de rotación que llevan uno a otro?" Voy a sustituir el punto P en la esfera por el vector v desde el origen hasta P Sólo para ser pedante, la pregunta es ahora

"Dado un par de vectores unitarios \bu y \bv encontrar todas las matrices de rotación \bM tal que \bM\bu = \bv ."

Consideremos primero un caso sencillo: ¿cuáles son todas las matrices que giran \bn = \pmatrix {0\\0\\1} a sí mismo? Eso es bastante fácil (geométricamente): son rotaciones en el xy -es decir, cada uno de ellos tiene la forma \bR_t = \pmatrix{\cos t & -\sin t & 0 \\ \sin t & \cos t & 0 \\ 0 & 0 & 1} para algunos 0 \le t < 2\pi .

Mantén ese pensamiento.

Ahora veamos el caso general. De la respuesta a la pregunta relacionada, hay una matriz \bM tal que \bM\bu = \bn , donde \bn es el vector del "polo norte", como en el caso anterior. Podemos calcular \bv' = \bM\bv y si podemos encontrar una matriz \bA tal que \bA\bn = \bv' entonces tenemos \bA(\bM\bu) = \bM \bv, para que \bM^{-1} \bA\bM\bu = \bv, es decir, cada matriz de rotación que envía \bu a \bv es en realidad el conjugado de una matriz que envía \bn a \bv' (y viceversa, lo cual es igualmente fácil de demostrar). Ahora vamos a encontrar otra rotación (de nuevo, utilizando la respuesta a la pregunta original) \bK enviando \bn a \bv es decir \bK \bn = \bv. Entonces podemos crear una rotación a partir de \bu a \bv como sigue: rotar \bu al polo norte \bn ; girar el polo norte hacia sí mismo por alguna rotación \bR ; entonces girar el polo norte a \bv es decir, podemos construir al menos una de las rotaciones deseadas generando \bD = \bK\bR\bM Pero al mover las cosas en esta ecuación, obtenemos que \bK^{-1}\bD\bM^{-1} = \bR. De hecho, si \bD es cualquier toma de rotación \bu a \bv entonces \bK^{-1}\bD\bM^{-1} debe ser una rotación que tome \bn a \bn es decir, debe ser \bR_t para algunos t . Así que las matrices de rotación que estamos buscando son exactamente \bD_t = \bK\bR_t\bM donde 0 \le t < 2\pi . En otras palabras: el conjunto de matrices de rotación en SO(3) que envían \bu a \bv es siempre (topológicamente) un círculo en SO(3) .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X