5 votos

Rotación de 3 líneas en el espacio 3D

Espero que usted me puede ayudar con un problema matemático estoy tratando de resolver (por muchos días) y hasta ahora sin éxito.

Dados 2 conjuntos P=[p_1,p_2,p_3] y Q=[q_1,q_2,q_3], de 3 de infinitas líneas cada uno en el espacio 3D (cada p_i y q_i (i=1,2,3) es una línea 3D representado por un punto 3D y un vector unitario). así que en total tenemos 6 líneas.
Necesito encontrar una matriz de rotación R (3x3) de modo que si puedo rotar todas las líneas en P por R entonces puedo obtener nuevas líneas P_rotate=[p_1_rotate, p_2_rotate, p_3_rotate], de modo que p_i_rotate y q_i (i=1,2,3) se cortan el uno al otro.
Sé que no podría ser una matriz de rotación y en algunos casos puede ser la rotación infinita matrices (por ejemplo, si todas las líneas de 6 están en el mismo plano y el eje de rotación es perpendicular a ese plano). pero aquí el supuesto que existe una matriz de rotación y si hay más de uno, a continuación, puede elegir cualquiera de ellos.

Esto es lo que he tratado de hacer hasta ahora:
Es en realidad la resolución de 3 ecuaciones de 3 variables (las variables son los 3 ángulos alrededor de los ejes x,y,z). pero las ecuaciones eran muy complejos que no podía resolverlos (y ni siquiera estoy seguro de que se pueden resolver). Usted puede calcular el girado líneas como una función de los 3 ángulos. lo que significa que cada girado línea contendrá un nuevo punto y un nuevo vector tanto como una función de los 3 ángulos. entonces tengo que calcular para cada línea de la distancia a la línea correspondiente en P. y necesito saber para que los ángulos de las 3 distancias son cero. Me supone aquí que primero me gire alrededor del eje Z, luego alrededor del eje y, y, a continuación, alrededor del eje X. Creo que el orden no importa ya que el orden que yo elija me pueden obtener diferentes ángulos, pero el final de la matriz de rotación será el mismo. De todos modos, el final de las 3 ecuaciones fueron muy larga y con muchas multiplicaciones de las variables desconocidas por lo que en realidad era imposible para mí para resolverlos.

También traté de resolver de una manera diferente. no utilizando la matriz de rotación. pero Rodrigues' rotación de la fórmula. en Rodrigues' fórmula I girar alrededor de un eje de la línea que pasa por el origen por un ángulo theta. así que realmente necesitan encontrar v_x,v_y,theta donde v_x, v_y son las componentes x y y de un vector unitario del eje de la línea (v_z puede ser calculado por v_x y v_y desde el vector de la unidad). y theta es el ángulo de rotación alrededor de este eje. de nuevo, tengo 3 muy largas y complejas ecuaciones que yo no podía resolver.

Alguien tiene alguna idea de cómo solucionarlo? o puede darme un enlace que (con suerte) explica al respecto? Le agradezco cualquier ayuda!

Gracias
David

2voto

G Cab Puntos 51

Como usted dijo, cada línea puede ser por escrito, en forma paramétrica, como $$ \left( {\matriz{ x \cr y \cr x \cr } } \right) = \left( {\matriz{ {a_x } \cr {a_y } \cr {a_z } \cr } } \right) + \lambda \left( {\matriz{ {v_x } \cr {v_y } \cr {v_z } \cr } } \right) $$

Por lo que podemos representar cada grupo de tres líneas en notación matricial como $$ {\bf X} = \left( {\matriz{ {x_{\,1} } & {x_{\,2} } & {x_{\,3} } \cr {y_{\,1} } & {y_{\,2} } & {y_{\,3} } \cr {z_{\,1} } & {z_{\,2} } & {z_{\,3} } \cr } } \right) = {\bf A} + {\bf V}\;{\bf \Lambda }\quad \quad {\bf X}' = \left( {\matriz{ {x'_{\,1} } & {x'_{\,2} } & {x'_{\,3} } \cr {y'_{\,1} } & {y'_{\,2} } & {y'_{\,3} } \cr {z'_{\,1} } & {z'_{\,2} } & {z'_{\,3} } \cr } } \right) = {\bf}' + {\bf V}'\;{\bf \Lambda }' $$ donde es claro el significado de las matrices , y, en particular, que el ${\bf \Lambda }$ ${\bf \Lambda }'$ matrices diagonales.

Ahora bien, si cada línea del primer grupo fue para cruzar la correspondiente línea en el segundo grupo, que significa que hay valores específicos de $\lambda_k$ ${\lambda '}_j$ tal que ${\bf X} ={\bf X}' $, es decir, $$ {\bf A} + {\bf V}\;{\bf \Lambda } = {\bf}' + {\bf V}'\;{\bf \Lambda }' $$ o $$ \;{\bf \Lambda } = {\bf V}^{\, - \,{\bf 1}} \left( {{\bf}' - {\bf A}} \right) + {\bf V}^{\, - \,{\bf 1}} {\bf V}'\;{\bf \Lambda }' = diag $$

Que se traduce en un sistema lineal de seis ecuaciones con tres incógnitas $\lambda'$, lo que, a continuación, determinar el $\lambda$.

Si en lugar de cada línea del primer grupo fue a interceptar una línea de 2º de grupo, diferente, pero no necesariamente el correspondiente, luego tendremos ${\bf X} \, {\bf P} ={\bf X}' $, o v. v, donde ${\bf P}$ es uno de los $6$ Permutación de matrices.

También, si cada línea del primer grupo fue a interceptar una línea de 2º de grupo, no necesariamente distintos, luego tendremos ${\bf X} ={\bf X}' \, {\bf Q} $ donde ${\bf Q}$ es uno de los $9$ "$0/1$" matrices, que tiene sólo una $1$ en cada columna.

Por último, como por su pregunta, podemos introducir una matriz de Rotación, dependiendo $3$ ángulos, que va a multiplicar ${\bf X}$ $$ {\bf R}\,\left( {{\bf A} + \,{\bf V}\;{\bf \Lambda }} \right) = \left( {{\bf}' + {\bf V}'\;{\bf \Lambda }'} \right)\;\left( {{\bf P}\,{\rm o}\;{\bf Q}} \right) $$ para resolver mediante la imposición de la diagonalización de la condición anterior. es decir, $$ {\bf \Lambda } = {\bf V}^{\, - \,{\bf 1}} \;{\bf R}^{\, - \,{\bf 1}} \;\left( {{\bf}'{\bf Q} - {\bf R}\,{\bf A}} \right) + {\bf V}^{\, - \,{\bf 1}} \;{\bf R}^{\, - \,{\bf 1}} {\bf V}'\;{\bf \Lambda }'{\bf Q}\; $$ Mediante la imposición de que el "6" fuera de la diagonal de los elementos de la RHS de la matriz se null, tenemos sistema de $6$ ecuaciones en el $3$ incógnitas ${\lambda}'$, y en el $3$ ángulos de rotación, para cada uno de los $9$ ${\bf Q}$ las matrices que están dispuestos a considerar como el "cruce de condiciones".
( deje que los componen en ${\bf Q}$ también los casos particulares de la unidad y de permutación de matrices).

Ahora, el sistema homogéneo es lineal en la ${\lambda}'$ pero contiene producto de $\sin $ $ \cos$ de los ángulos, y usted está pidiendo una forma de simplificar.

La primera forma en la que puedo ver en este momento es que, el reinicio de la identidad $$ {\bf R}\,\left( {{\bf A} + \,{\bf V}\;{\bf \Lambda }} \right) = \left( {{\bf}' + {\bf V}'\;{\bf \Lambda }'} \right)\;{\bf Q} $$ tomando la transpuesta (indicado por el sombrero) $$ \left( {\overline {\bf A} + \;{\bf \Lambda }\,\overline {\bf V} } \right){\bf R}^{\, - \,{\bf 1}} = \overline {\bf Q} \left( {\overline {{\bf}'} + {\bf \Lambda }'\;\overline {{\bf V}'} } \right)\; $$ podemos deshacernos de la rotación, multiplicando la primera por la segunda a la izquierda

$$ \left( {\overline {\bf A} + \;{\bf \Lambda }\,\overline {\bf V} } \right)\left( {{\bf A} + \,{\bf V}\;{\bf \Lambda }} \right) = \overline {\bf Q} \left( {\overline {{\bf}'} + {\bf \Lambda }'\;\overline {{\bf V}'} } \right)\left( {{\bf}' + {\bf V}'\;{\bf \Lambda }'} \right)\;{\bf Q} $$ sin embargo en el costo de la introducción de una ecuación cuadrática entre dos formas, simétrico, por lo $6$ ecuaciones.
Sin embargo, esta ecuación tiene la ventaja de que no requieren $\bf V$ a sea invertible.

En este punto puede ser rentable para expresar cada línea con el vector de posición ($\bf a$) normal a la dirección del vector ($\bf v$) y a normalizar el último.
Que va a dar a ese $\overline {\bf A} \, {\bf V}$ tiene la diagonal principal nulos, mientras que para $\overline {\bf V} \, {\bf V}$ es unitaria.
Así que podría empezar a partir de la equiparación de las diagonales ...

Perdón por no ser esta, en realidad, una respuesta, pero esta es la mejor ayuda que me puedan ofrecer.

--- P. S. -----

Como por tu último comentario, el caso de dos grupos de incidente líneas introduce muchas simplificaciones con respecto al caso general de todo sesgo, y puede ser abordado de manera muy diferente. Es digno de que se abra otro post. En cualquier caso, queda por aclarar la intersección esquema (por ejemplo, dos líneas de 1er grupo confluyen en la misma línea, en el grupo 2, y el tercero, cualquiera de las restantes?)

0voto

yoliho Puntos 340

Esta no es una respuesta a la pregunta que se plantea, sino más bien un boceto si las rotaciones pueden ser sobre cualquier eje.

Fijar el conjunto de $P=\{P_1,P_2,P_3\}$ de las líneas. El conjunto $Q=\{Q_1,Q_2,Q_3\}$ se movió. Gire $Q$ alrededor de un eje que pasa por el origen, con los ejes no paralelos a las direcciones de las tres $Q$-líneas, y no ortogonal a la dirección de los tres $P$-líneas, hasta que $Q_1$ flequillo en $P_1$ a punto de $a$. Creo que si el eje es lo suficientemente genérico, $Q_1$ llegará $P_1$. No estoy seguro de que tienen la genericity condiciones correctas, pero algunas de las hipótesis de trabajo.

Ahora spin $Q$ sobre el vector desde el origen a $a$ hasta $Q_2$ flequillo en $P_2$ a punto de $b$. De nuevo tengo que asumir que no accidental degeneraciones para garantizar la colisión. Tenga en cuenta el $Q_1 \cap P_1$ intersección se mantiene.

Finalmente, el spin $Q$ sobre la línea que contiene a $ab$. Este eje es (en general) no pasa por el origen. Restricción de degeneraciones, $Q_3$ bang en $P_3$, mientras que el $Q_1 \cap P_1$ $Q_2 \cap P_2$ intersecciones permanecen.

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