Un movimiento sencillo, una y otra vez…
t.A.T.u., «A Simple Motion»
A Julia le encantan los movimientos sencillos, ¡especialmente en el espacio tridimensional! Hace poco encontró una matriz que corresponde a cierta rotación alrededor de un eje que pasa por el origen.
Una matriz de rotación $A$ lleva el punto $\begin{pmatrix}x\\y\\z\end{pmatrix}$ a $\begin{pmatrix}x'\\y'\\z'\end{pmatrix}$ de la siguiente manera:
$$ \begin{pmatrix}x'\\y'\\z'\end{pmatrix}= \begin{pmatrix}A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}\end{pmatrix} \times\begin{pmatrix}x\\y\\z\end{pmatrix}. $$
Una rotación también se puede describir geométricamente mediante un vector unitario (es decir, de longitud $1$) $v=\begin{pmatrix}v_x\\v_y\\v_z\end{pmatrix}$ alrededor del cual se realiza la rotación, y un ángulo de rotación $\alpha$. Supón que miras hacia el origen desde el extremo de $v$. Entonces, si la rotación es en sentido antihorario, el ángulo $\alpha$ será positivo; de lo contrario, será negativo.
Julia quiere expresar geométricamente la rotación dada por una matriz. Por desgracia, no conoce los valores de $v$ y $\alpha$, así que te ha pedido que los encuentres para poder continuar con su movimiento sencillo.
Entrada
Se te da la matriz $A$: tres líneas con tres números reales en cada una. Cada número tiene como máximo $20$ cifras después del punto decimal. Se garantiza que existen $v$ y $\alpha$ tales que $1\le|\alpha|\le179$ y, además, los elementos de la matriz $A'$, que corresponde a una rotación alrededor del vector $v$ de ángulo $\alpha$, difieren de los elementos correspondientes de $A$ como máximo en $10^{-13}$.
Salida
En la primera línea, imprime el ángulo $\alpha$ en grados. En la segunda, imprime las coordenadas del vector unitario $v$. Imprime todos los números con la mayor precisión posible. Tu respuesta se considerará correcta si la diferencia entre $A_{ij}$ y el elemento correspondiente de la matriz construida a partir de tu ángulo y vector unitario no supera $10^{-6}$.
Ejemplos
Entrada 1
0 -1 0 1 0 0 0 0 1
Salida 1
90 0 0 1