Wikipedia는 극좌표 에 대해 말합니다 :
수학에서 극 좌표계는 평면상의 각 점이 기준점으로부터의 거리와 기준 방향으로부터의 각도에 의해 결정되는 2 차원 좌표계이다.
이것은 6 각형 그리드를 설명하기에 완벽한 것 같습니다. 예를 들어 다음 6 각형 격자를 보자.
A B C
D E F G
H I J K L
M N O P
Q R S
기준점은 육각형의 중심 ( 'J')이되고 기준 각은 육각형의 왼쪽 상단 모서리 ( 'A')가됩니다. 그러나 각도가 아닌이 점에서 육각형 외부 주변 의 시계 방향 계단 수로 각도를 설명합니다 . 따라서 각도 대신 "스텝 번호"라고합니다.
예를 들어, 'C'는 반경이 2이고 (중심에서 2 개의 고리가 떨어져 있기 때문에 'J'), 2의 단계 번호 ( 'A에서 시계 방향으로 2 단계 앞으로 이동하기 때문에)는 (2, 2)입니다. '). 마찬가지로 'O'는 (1, 3)에 있습니다. 중심에서 1 개의 고리가 떨어져 있고 'E'(기준 각도에 있음)에서 시계 방향으로 3 단계 앞으로 이동하기 때문입니다.
완벽을 기하기 위해 'J'는 (0, 0)에 있습니다. 도달하려면 0 스텝 아웃과 0 스텝이 필요하기 때문입니다.
이제 직교 좌표 로 6 각형을 설명 할 수 있지만 오프셋으로 인해 조금 이상합니다. 극좌표와 마찬가지로 중심을 (0, 0)에 놓습니다. 각 공간도 좌표를 차지하므로 'K'는 (1, 0)이 아닌 (2, 0)입니다. 이렇게하면 'A'가 (-2, 2)에, 'O'가 (1, -1)에 놓입니다.
도전
극 6 각형 좌표가 주어지면 동일한 좌표를 직교 좌표로 출력합니다. 이 코드를 취하고 적절한 형식으로 답변을 출력 할 수 있습니다. 즉, 원하는 경우 입력 순서를 반대로 바꿀 수 있습니다. 이것은 또한 좌표를 (Y, X)로 출력 할 수 있음을 의미하지만, 그렇게하면 혼란을 피하기 위해 답에 언급하십시오.
음의 반지름을 처리 할 필요는 없지만 음의 각도 또는 육각형 주위에서 완전히 회전하는 각도 이상을 얻을 수 있습니다. 예를 들어 (1, 10) 또는 (1, -2)를 입력으로받을 수 있습니다. 이들은 이전 육각형의 'N'에 해당합니다. 입력을 위해 비정 수를 처리 할 필요가 없습니다 .
샘플 IO
#Polar #Cartesian
(0, 0) (0, 0)
(1, 2) (2, 0)
(6, 0) (-6, 6)
(2, -3) (-3, -1)
(4, 23), (-5, 3)
(5, -3), (-8, 2)
(10, 50), (-20, 0)
(6, 10), (10, 2)
(8, 28), (0, -8)
(8, -20), (0, -8)