원뿔 좌표계에서의 거리

시간 제한2초메모리 제한128 MB

요약
원뿔 표면 위의 두 점을 꼭짓점까지 거리와 각도로 표현했을 때, 표면을 따라가는 최단 경로 길이를 구하는 문제입니다.
난이도

보통10점 중 7점

유형
기하, 수학
정답자
아직 제출이 없습니다

문제

반지름이 r인 밑면이 평면 z = 0 위에 있고, 밑면의 중심이 (0, 0, 0)인 직각원뿔이 있다. 원뿔의 꼭짓점은 (0, 0, h)에 있으므로 높이는 h이다.

원뿔 위의 한 점 p는 원뿔 좌표 (d, A)로 나타낸다. d는 꼭짓점 (0, 0, h)에서 p까지의 거리이다. A는 평면 y = 0과, p, (0, 0, 0), (0, 0, h)를 지나는 평면 사이의 각을 x축의 양의 방향에서 시작해 반시계 방향으로 잰 값이며, 0 <= A < 360이다.

점은 항상 원뿔의 곡면 위에 있으므로 d는 3차원 공간에서 꼭짓점과 p를 잇는 선분의 길이와 같다.

원뿔 좌표로 주어진 두 점 p1 = (d1, A1), p2 = (d2, A2)에 대해, 원뿔의 곡면 위로만 이동할 때 두 점 사이의 최단거리를 구하라.

입력

입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 여섯 실수 r, h, d1, A1, d2, A2로 주어진다.

출력

각 테스트 케이스마다 두 점 사이의 원뿔 곡면 최단거리를 소수 둘째 자리까지 반올림하여 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3.0 4.0 2.0 0.0 4.0 0.0
    3.0 4.0 2.0 90.0 4.0 0.0
    6.0 8.0 2.14 75.2 9.58 114.3
    3.0 4.0 5.0 0.0 5.0 90.0
    
    예상 출력
    2.00
    3.26
    7.66
    4.54