Bosquejo de solución: Llamar a la rotación $R$. El punto de $P$ a que $RL_1$ $L_2$ se cruzan (en todo caso), es la imagen de $RQ$ de un punto de $Q$ $L_1$ que está a la misma distancia desde el eje de rotación de la $L_3$$P$. Este problema es equivalente a encontrar $P\in L_2$ $Q\in L_1$ que equidistan de a $L_3$ y se sitúan en un plano perpendicular a él. Una forma de encontrar estos dos puntos es para parametrizar $L_1$ $L_2$ y, a continuación, utilizar las fórmulas conocidas para la distancia entre un punto y la línea en 3-D. una Vez que se tienen estos dos puntos, calcular el ángulo formado por ellos y el eje de rotación es sencillo.
Actualización: Un mejor enfoque a la búsqueda de $P$ $Q$ es para parametrizar $L_3$ $S(\lambda)=(1-\lambda)A+\lambda B$ donde $A$ $B$ son dos conveniente puntos en esta línea. A continuación encontrará $P(\lambda)$$Q(\lambda)$, las intersecciones de $L_1$$L_2$, respectivamente, con el plano perpendicular a $L_3$ a través de $S$. Solucionar $\|P-S\|=\|Q-S\|$, que puede plaza de obtener una simple ecuación cuadrática, por $\lambda$, y usted tiene los tres puntos que usted necesita para calcular el ángulo de rotación requerido. No puede ser cero, uno o dos soluciones.
Actualización (ampliando mi comentario de abajo): una Vez que tienes los puntos $P$, $Q$ y $S$, adecuado a la transformación de la matriz puede ser construido sin explícitamente computación en cualquier ángulo.
Deje $\mathbf u$ ser una unidad de vector de dirección para $L_3$ ($B-A$ normalizado va a hacer), $\mathbf v=(P-S)/\|P-S\|$$\mathbf w=(Q-S)/\|Q-S\|$. Puesto que usted no ha especificado una orientación para $L_3$, no está claro qué entiende usted por una rotación en sentido antihorario, pero digamos que significa que le gustaría que el ángulo de rotación en el rango $[0,\pi]$. Examinar el signo de la triple producto escalar $\mathbf u\cdot\mathbf v\times\mathbf w=\det\begin{bmatrix}\mathbf u&\mathbf v&\mathbf w\end{bmatrix}$. Si esta es negativa, entonces la inversa de a $\mathbf u$. Si es cero, entonces cualquiera de las $L_1$ $L_2$ ya se intersecan en $P$ o $\mathbf w=-\mathbf v$, en cuyo caso el ángulo de rotación se $\pi$ y no hay necesidad de hacer ajustes. De hecho, no es necesario realizar ningún ajuste en todos: los cambios de orientación cancelar cuando el cambio de base de las matrices se combinan a continuación, para terminar con la misma matriz de transformación de cualquier manera.
Ahora, tanto en $\mathscr B_1=(\mathbf u,\mathbf v,\mathbf u\times\mathbf v)$ $\mathscr B_2=(\mathbf u,\mathbf w,\mathbf u\times\mathbf w)$ son diestros bases ortonormales para $\mathbb R^3$. Esto significa que las matrices $$\begin{align}R_1&=\begin{bmatrix}\mathbf u&\mathbf v&\mathbf u\times\mathbf v\end{bmatrix} \\ R_2&=\begin{bmatrix}\mathbf u&\mathbf w&\mathbf u\times\mathbf w\end{bmatrix}\end{align}$$ represent rotations that map the standard basis onto $\mathscr B_1$ and $\mathscr B_2$, respectively. Therefore, the homogeneous transformation matrix that represents the rotation you're looking for is $$R=\left[\begin{array}{c|c}R_2&S\\\hline0&1\end{array}\right]\left[\begin{array}{c|c}R_1&S\\\hline0&1\end{array}\right]^{-1}.$$ You can avoid the matrix inversion by taking advantage of block structure and the fact that $R_1$ is orthogonal: $$\left[\begin{array}{c|c}R_1&S\\\hline0&1\end{array}\right]^{-1}=\left[\begin{array}{c|c}R_1^{-1}&-R_1^{-1}S\\\hline0&1\end{array}\right]=\left[\begin{array}{c|c}R_1^T&-R_1^TS\\\hline0&1\end{array}\right]$$ and multiplying it all out yields $$R=\left[\begin{array}{c|c}R_2R_1^T&(I-R_2R_1^T)S\\\hline0&1\end{array}\right].$$ Note that you may use any convenient point on the line instead of $S$ para esta parte de la construcción.