QOJ.ac

QOJ

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

#20003. Transformasi Rotasi

Statistics

Sebuah gerakan sederhana, berulang-ulang…

t.A.T.u., «A Simple Motion»

Julia sangat menyukai gerakan sederhana, terutama di ruang tiga dimensi! Baru-baru ini, ia menemukan sebuah matriks yang bersesuaian dengan suatu rotasi mengelilingi sumbu yang melalui titik asal.

Matriks rotasi $A$ memindahkan titik $\begin{pmatrix}x\\y\\z\end{pmatrix}$ ke $\begin{pmatrix}x'\\y'\\z'\end{pmatrix}$ sebagai berikut:

$$ \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}. $$

Rotasi juga dapat dijelaskan secara geometris dengan sebuah vektor satuan (yaitu, panjangnya $1$) $v=\begin{pmatrix}v_x\\v_y\\v_z\end{pmatrix}$ yang menjadi sumbu rotasi, serta sudut rotasi $\alpha$. Misalkan Anda melihat ke arah titik asal dari ujung $v$. Jika rotasi berlawanan arah jarum jam, sudut $\alpha$ positif; jika tidak, sudutnya negatif.

Julia ingin menyatakan secara geometris rotasi yang diberikan oleh sebuah matriks. Sayangnya, Julia tidak mengetahui nilai $v$ dan $\alpha$, sehingga ia meminta Anda mencarinya agar ia dapat melanjutkan gerakan sederhananya.

Masukan

Diberikan matriks $A$: tiga baris yang masing-masing berisi tiga bilangan real. Setiap bilangan diberikan dengan paling banyak $20$ digit setelah tanda desimal. Dijamin terdapat $v$ dan $\alpha$ sedemikian sehingga $1\le|\alpha|\le179$, dan elemen-elemen matriks $A'$ yang bersesuaian dengan rotasi mengelilingi vektor $v$ sebesar sudut $\alpha$ berbeda dari elemen-elemen yang bersesuaian pada $A$ paling banyak sebesar $10^{-13}$.

Keluaran

Pada baris pertama, cetak sudut $\alpha$ dalam derajat. Pada baris kedua, cetak koordinat vektor satuan $v$. Cetak semua bilangan setepat mungkin. Jawaban Anda dianggap benar jika selisih antara $A_{ij}$ dan elemen yang bersesuaian dari matriks yang dibentuk dari sudut dan vektor satuan Anda tidak melebihi $10^{-6}$.

Contoh

Masukan 1

0 -1 0
1 0 0
0 0 1

Keluaran 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.