Logo
(追記) (追記ここまで)

28037번 - 3차원 좌표변환 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB310986331.188%

문제

3차원 공간에서 점의 위치를 표현하는 방식은 여러 가지가 있다. 일반적으로 많이 쓰이는 직교좌표계는 x축, y축, z축 방향의 1차원 위치를 통해 점의 위치를 표현한다. 이 문제에서는 점의 3차원 위치를 표현하는 또 다른 두 가지 방식을 소개한다. 편의상 점 $P$의 직교좌표계상 좌표를 $(x, y, z)$라 하자.

  • 원통좌표계: $P$에서 xy평면에 내린 수선의 발을 $H$라고 하자. $\overline{OH}$의 길이를 $r,ドル xy평면을 내려다보면서 x축의 양의 방향을 동경으로 하여 $\overrightarrow{OH}$까지 시계 반대 방향으로 잰 각을 $\phi$라 할 때, $P$의 좌표는 $\left(r, \phi, z\right)$이다. $(r \ge 0;$ 0ドル\le\phi\lt 2\pi)$ 단, $r=0$인 경우 $\phi=0$으로 정의한다.
  • 구면좌표계: $P$에서 xy평면에 내린 수선의 발을 $H$라고 하자. $\overline{OP}$의 길이를 $\rho,ドル z축의 양의 방향을 동경으로 하여 $\overrightarrow{OP}$까지 잰 각 중 크지 않은 것을 $\theta,ドル xy평면을 내려다보면서 x축의 양의 방향을 동경으로 하여 $\overrightarrow{OH}$까지 시계 반대 방향으로 잰 각을 $\phi$라 할 때, $P$의 좌표는 $\left(\rho, \theta, \phi\right)$이다. $(\rho \ge 0;$ 0ドル\le\theta\le\pi;$ 0ドル\le\phi\lt 2\pi)$ 단, $\overline{OH} = 0$인 경우 $\phi=0$으로 정의하고, $\rho=0$인 경우 $\theta=0$으로 정의한다.

직교좌표계, 원통좌표계, 구면좌표계 중 하나를 사용하는 $P$의 좌표가 주어졌을 때, 이를 다른 하나의 좌표계를 사용하는 좌표로 바꿔보자.

입력

첫째 줄에 테스트 케이스의 수 $T$가 주어진다. $(1\le T\le 1,000円)$

둘째 줄부터 테스트 케이스가 주어진다. 각 테스트 케이스는 2ドル$개의 줄로 이루어져 있다.

테스트 케이스의 첫째 줄에는 변환할 좌표의 좌표계 번호와 출력할 좌표의 좌표계 번호가 주어진다. 1은 직교좌표계, 2는 원통좌표계, 3은 구면좌표계이다. 두 좌표계 번호는 서로 다르다.

테스트 케이스의 둘째 줄에는 변환할 좌표를 나타내는 세 실수 $a,ドル $b,ドル $c$가 소수점 아래 여덟째 자리까지 주어진다. $(a, b, c)$는 직교좌표계의 경우 $(x, y, z)$이고, 원통좌표계의 경우 $(r, \phi, z)$이고, 구면좌표계의 경우 $(\rho, \theta, \phi)$이다. $(-100\le x, y, z\le 100;$ 0ドル \le r, \rho \le 100)$

출력

각 테스트 케이스마다 한 줄에 변환한 좌표를 나타내는 세 실수를 출력한다.

절대오차 혹은 상대오차는 10ドル^{-6}$까지 허용한다.

제한

예제 입력 1

6
1 2
1.00000000 2.00000000 3.00000000
1 3
1.00000000 2.00000000 3.00000000
2 1
2.23606798 1.10714872 3.00000000
2 3
2.23606798 1.10714872 3.00000000
3 1
3.74165739 0.64052231 1.10714872
3 2
3.74165739 0.64052231 1.10714872

예제 출력 1

2.23606798 1.10714872 3
3.74165739 0.64052231 1.10714872
1 2 3
3.74165739 0.64052231 1.10714872
1 2 3
2.23606798 1.10714872 3

예제 입력 2

6
1 2
-1.00000000 -2.00000000 -3.00000000
1 3
-1.00000000 -2.00000000 -3.00000000
2 1
2.23606798 4.24874137 -3.00000000
2 3
2.23606798 4.24874137 -3.00000000
3 1
3.74165739 2.50107034 4.24874137
3 2
3.74165739 2.50107034 4.24874137

예제 출력 2

2.23606798 4.24874137 -3.00000000
3.74165739 2.50107034 4.24874137
-1 -2 -3
3.74165739 2.50107034 4.24874137
-1 -2 -3
2.23606798 4.24874137 -3.00000000

예제 입력 3

6
1 2
0.00000000 0.00000000 0.00000000
1 3
0.00000000 0.00000000 0.00000000
2 1
0.00000000 0.00000000 0.00000000
2 3
0.00000000 0.00000000 0.00000000
3 1
0.00000000 0.00000000 0.00000000
3 2
0.00000000 0.00000000 0.00000000

예제 출력 3

0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

힌트

출처

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /