QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100

#20003. Transformación de rotación

Statistics

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

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.