천체 타원 궤도의 기하학과 역학
이 글은 천체 역학에서 타원 궤도의 수학적 원리와 동역학을 설명한다. 행성이 어떤 경로로 이동하는지를 이해하기 위해, 케플러의 행성 운동 제1법칙에 따라 행성 궤도를 타원으로 설명하는 개념을 소개하는 것으로 시작한다. 그리고 궤도를 정의하기 위해 긴반지름(semi-major axis), 이심률(eccentricity), 근점(periapsis), 원점(apoapsis) 같은 주요 파라미터를 소개한다. 또한 승교점 경도(longitude of the ascending node), 궤도 경사(inclination), 근점 인수(argument of periapsis)를 이용해 궤도면의 자세를 기술한다. 추가로, 주어진 시각에 행성의 위치를 계산하기 위해 평균 근점 이각(mean anomaly), 진근점 이각(true anomaly), 이심 근점 이각(eccentric anomaly)의 개념을 설명한다.
이 글은 태양계 시뮬레이터 시리즈의 일부다:
- Three.js 좌표계 기초
- Three.js PBR (물리 기반 렌더링) 재질 기초
- 사실적인 지구 만들기
- 사실적인 태양 만들기
- 고리가 있는 행성 만들기
- 불규칙한 형태의 위성 만들기
- 태양에 후광 효과 추가하기
- 은하수 배경 만들기
- 천체 궤도 계산하기
행성의 타원 궤도
태양계의 행성들은 완전한 원이 아니라 타원을 따라 태양 주위를 돈다. 이 타원 운동은 요하네스 케플러가 행성 운동 제1법칙에서 처음으로 기술했다. 타원은 두 초점을 가지는 “늘어난” 원으로 생각할 수 있으며, 한 초점에 태양이 위치한다. 원점을 중심으로 하는 타원은 직교 좌표계에서 수학적으로 다음과 같이 표현할 수 있다.
\[\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1,\]여기서 \(a\)는 긴반지름, 즉 타원에서 가장 긴 반지름이고, \(b\)는 짧은반지름(semi-minor axis), 즉 타원에서 가장 짧은 반지름이다. 타원의 형태를 기술하기 위해 이심률 \(e~(0\leq e \lt 1)\)라는 파라미터도 사용한다. 이심률은 \(e:={\sqrt{a^2-b^2}}/{a}\)로 정의되며, 두 초점은 중심으로부터 \((\pm ea, 0)\)에 위치한다. 이심률은 타원이 얼마나 늘어났는지를 정량화하며, 값이 0이면 완전한 원, 1에 가까울수록 더 늘어난 형태를 의미한다.
타원 궤도는 극좌표로도 표현이 가능한데, 타원 위의 위치는 오른쪽 초점으로부터의 거리 \(r=\sqrt{(x - ea)^2 + y^2}\)와 양의 x축에 대한 각 \(\theta\)로 기술된다:
\[r = \frac{a(1-e^2)}{1+e \cos \theta}\]위 식을 유도하기 위해, 초점 중 하나인 \((ea, 0)\)을 원점으로 잡고, 타원 위 임의의 점에서 두 초점까지의 거리의 합이 긴반지름의 두 배와 같다는 공식을 사용한다.
그러면 한 초점은 \((0, 0)\)에, 다른 초점은 \((-2ea, 0)\)에 위치한다. 타원 위 임의의 점 \((x, y)\)에 대해, 두 초점으로부터의 거리의 합은 다음을 만족한다.
\[\sqrt{x^2 + y^2} + \sqrt{(x+2ea)^2 + y^2} = 2a.\]\(\sqrt{x^2 + y^2} = r\)을 이용해 양변에서 \(r\)을 빼고 제곱한다.
\[(x+2ea)^2 + y^2 = (2a - r)^2\]그런 다음 \(x\)와 \(y\)를 각각 \(r \cos \theta\)와 \(r \sin \theta\)로 치환한다.
\[r^2 + 4ea\cdot r \cos \theta + 4e^2a^2 = 4a^2 - 4ar + r^2\]이를 정리하면 다음을 얻는다.
\[r = \frac{4a^2 - 4e^2a^2}{4a + 4ea \cdot \cos \theta} = \frac{a (1-e^2)}{1+e \cos \theta}\]궤도면에서 행성의 위치를 계산하는 방법
행성의 궤도 형태를 정의한 후에는 주어진 시각에 행성의 위치를 결정해야 한다. 특정 시각에 궤도에 놓여있는 행성의 실제 위치를 진근점 이각(true anomaly)이라 한다. 그러나 진근점 이각을 계산하려면 평균 근점 이각(mean anomaly)과 이심 근점 이각(eccentric anomaly)이라는 두 추가적인 이각 계산이 필요하다.

평균 근점 이각
평균 근점 이각은 행성이 타원 궤도와 같은 주기를 가지는 원 궤도를 따라 일정한 속도로 움직인다고 가정한 가상의 각도이다. 타원 궤도의 주기는 \(T = \sqrt{\frac{4\pi^2}{Gm} a^3}\)이며, 여기서 \(G\)는 중력 상수, \(a\)는 원점(apoapsis)에서의 궤도 반지름이다. 따라서 평균 근점 이각을 위한 가상 원의 반지름도 위 그림에서처럼 \(a\)이다.
임의의 시각 \(t\)에서 평균 근점 이각 \(M\)은 다음과 같이 정의된다.
\[M = \frac{2\pi}{T} (t-t_p), \tag{1}\label{eq:mean-anomaly}\]여기서 \(T = \sqrt{\frac{4\pi^2}{Gm} a^3}\)은 궤도 주기, \(t_p\)는 근점(periapsis)을 지나는 시각이다.
이심 근점 이각
이심 근점 이각은 타원의 기하를 통해 평균 근점 이각과 진근점 이각을 연결하는 중간 각이다. 이는 위에서 설명한 보조원(auxiliary circle) 상에서, 진위치와 \(x\) 좌표가 동일한 한 점의 위치를 나타낸다.
이심 근점 이각 \(E\)는 다음으로부터 계산된다.
\(M = E - e \cdot \sin E,\tag{2}\label{eq:ecc-anomaly}\) ^eq-ecc-anomaly
여기서 \(e\)는 이심률이며, 위 식을 케플러 방정식(Kepler’s equation)이라 한다.

케플러 방정식을 유도하기 위해 케플러의 행성 운동 제2법칙을 사용한다: 행성과 태양을 잇는 선분은 같은 시간 간격 동안 같은 면적을 쓸고 지나간다1. 위 그림에서 케플러 제2법칙에 따라 초록색과 파란색 면적은 궤도 면적에 대해 같은 비율이어야 한다. 초록색 면적의 크기 \(S_E\)는 다음과 같다.
\[S_E = \frac{1}{2} a^2 E - \frac{1}{2} ae \cdot a\sin E\]따라서 파란색 면적의 크기는
\[S = \frac{b}{a} S_1 = \frac{1}{2} a b (E - e \sin E)\tag{3}\label{eq:kepler-second-law}\]이다. 그러므로 \(S_M\)과 \(S\)는 다음을 만족한다.
\[\frac{S_M}{\pi a^2} = \frac{M a^2}{2 \pi a^2} = \frac{S}{\pi a b}.\]위 식에서 \(S\)를 식 \eqref{eq:kepler-second-law}로 치환하면, 마침내 식 \eqref{eq:ecc-anomaly}를 얻는다.
주어진 \(M\)에 대해 \(E\)는 최적화 방식으로 풀 수 있다. \(f(E) = E - e \cdot \sin E - M\)이라 하자. 그러면 \(f(E)\)의 값이 0이 되어야 한다. \(f'(E) = 1 - e \cdot \cos E\)이므로, 뉴턴-랩슨(Newton-Raphson) 방법으로 \(E\)를 반복적으로 업데이트하여 \(E\)를 계산할 수 있다.
\[\begin{align} E_{i+1} &= E_i - f(E_i)/f'(E_i) \\\nonumber &= E_i - \frac{E_i - e \cdot \sin E_i - M}{1 - e \cdot \cos E_i}. \end{align}\]진근점 이각
마지막으로, 진근점 이각은 다음으로부터 유도된다.
\[\cos \theta = \frac{\cos E - e}{1 - e\cdot \cos E}, \tag{4}\label{eq:true-anomaly}\]여기서 \(E\)는 이심 근점 이각, \(e\)는 이심률이다.
위 그림에서 진근점 이각과 이심 근점 이각에 대응하는 두 점의 \(x\) 값이 서로 같다는 것을 이용하면, 아래 식을 세울 수 있다.
\[ea + r \cos\theta = a \cos E\]\(r\)을 \(a(1-e^2)/(1+e \cos\theta)\)로 치환하면, 위 식은 다음과 같이 변형된다.
\[\frac{a(1-e^2)\cos \theta}{1+e\cos\theta} = a (\cos E - e).\]위 식을 \(\theta\)에 대해 정리하면, 마침내 식 \eqref{eq:true-anomaly}를 얻는다.
\(E\)가 \(\pm\pi\) 근처일 때의 수치적 문제를 피하기 위해, 관계식
\[\tan^2 \frac{E}{2} = \frac{1 - \cos E}{1 + \cos E},\]을 사용하면 다음을 얻는다.
\[\tan \frac{\theta}{2} = \sqrt{\frac{1 + e}{1 - e}} \tan \frac{E}{2}.\]마침내, 이 세 가지 근점 이각을 이용해 특정 시각에서 행성의 위치를 계산하고 행성의 운동을 기술할 수 있다.
궤도면의 자세
행성들의 타원 궤도는 서로 완벽하게 정렬되어 있지 않다. 각 궤도는 아래 그림처럼 황도면(ecliptic plane, 지구가 태양 주위를 도는 궤도면)이라는 기준면에 대해 특정 각도만큼 기울어져 있다. 이 기울기는 행성의 운동을 기술할 때, 복잡성을 더하는 요인 중 하나이다.

궤도 파라미터
3차원 공간에서 행성 궤도의 자세를 기술하기 위해 세 개의 파라미터들을 사용한다.
-
승교점 경도 \(\Omega\): 기준 방향과 승교점 사이의 각.
-
궤도 경사 \(i\): 행성의 궤도면과 기준면 사이의 각.
-
근점 인수 \(\omega\): 승교점과 근점 사이의 각.
이 3개의 파라미터들은 행성 궤도의 3차원 자세를 결정하며 행성의 정확한 위치를 추적하기 위한 틀을 제공한다. 행성을 도는 위성의 경우, 기준면은 보통 행성의 적도를 포함하는 평면이다2. 태양계의 행성들의 경우, 기준면과 기준 방향은 각각 황도(지구의 궤도면)와 춘분점 방향이다.
-
춘분점 방향, ♈︎: 태양이 지구의 승교점을 지날 때 지구에서 태양을 향하는 방향.
-
승교점, ☊: 행성이 위로 이동하면서 기준면(예: 황도면)을 가로지르는 점.
-
강교점, ☋: 승교점의 반대편 위치.
기준 좌표계에서 행성의 위치를 계산하는 방법
행성 궤도면의 자세를 수학적으로 기술하기 위해 좌표 변환 과정을 사용한다. 궤도면에서 기준 좌표계(황도면)로 좌표를 변환하기 위해, 세 번의 연속적인 회전을 적용한다.
- \(\Omega\)(승교점 경도)만큼 회전:
이는 승교점을 황도면 내 궤도 경사 축에 정렬한다.
\[\mathrm{R}_z (\Omega) = \begin{bmatrix} \cos \Omega & -\sin \Omega & 0 \\ \sin \Omega & \cos \Omega & 0 \\ 0 & 0 & 1 \end{bmatrix}\]- \(i\)(궤도 경사)만큼 회전:
이는 궤도면을 황도면에 대해 기울인다.
\[\mathrm{R}_x (i) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos i & -\sin i \\ 0 & \sin i & \cos i \end{bmatrix}\]- \(\omega\)(근점 인수)만큼 회전:
이는 궤도면 내에서 궤도를 회전한다.
\[\mathrm{R}_z (\omega) = \begin{bmatrix} \cos \omega & -\sin \omega & 0 \\ \sin \omega & \cos \omega & 0 \\ 0 & 0 & 1 \end{bmatrix}\]따라서 연속적으로 곱해진 회전 행렬 \(\mathrm{R}_z (\Omega)~ \mathrm{R}_x (i) ~ \mathrm{R}_z (\omega)\)는 궤도면에서의 행성의 2D 위치를 기준 좌표계의 3D 위치로 변환한다:
\[\begin{align} \mathbf{p}_\text{ref} &= \begin{bmatrix} x_\text{ref} \\ y_\text{ref} \\ z_\text{ref} \end{bmatrix} \\ &= \begin{bmatrix} \cos \Omega & -\sin \Omega & 0 \\ \sin \Omega & \cos \Omega & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos i & -\sin i \\ 0 & \sin i & \cos i \end{bmatrix} \begin{bmatrix} \cos \omega & -\sin \omega & 0 \\ \sin \omega & \cos \omega & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} r \cos \theta \\ r \sin \theta \\ 0 \end{bmatrix}, \end{align}\]여기서 \(r=a (1-e^2)/(1+e \cos \theta)\)는 궤도 중심으로부터 행성까지의 거리이고, \(\theta\)는 주어진 시각의 진근점 이각이다.
주어진 시각에 행성의 위치를 결정하는 방법
마지막으로, 주어진 시각에 행성의 위치를 결정하는 데 필요한 마지막 항은 식 \eqref{eq:mean-anomaly}의 \(t_p\)다. 식 \eqref{eq:mean-anomaly}에서 시간 오프셋을 사용하는 대신, 평균 근점 이각 오프셋 \(M_0\)를 사용했다:
\[M = \frac{2 \pi}{T}t + M_{0}\]\(M_0\)는 2000년 추분, 즉 2000년 9월 22일 17:27 UTC에서의 행성 평균 근점 이각을 나타낸다. 그러면 지구의 위치는 추분점으로 결정된다. 다른 행성과 그 위성의 위치를 결정하기 위해, Stellarium 같은 소프트웨어를 사용해 지구 좌표계에서 그들의 적경(right ascension)과 적위(declination)를 알아낼 수 있다. 지구 중심에서 측정된 적경과 적위 방향으로 뻗는 직선과 각 행성 및 위성의 궤도가 만나는 교점(또는 가장 가까운 점)을 찾음으로써 위 식의 오프셋이 결정되고, 따라서 천체의 정확한 위치를 계산할 수 있다.

위 그림은 직선과 벡터 \(\mathbf{v} = \mathbf{x}_{\text{obj}} - \mathbf{x}_{\text{earth}}\)의 내적을 각 행성 또는 위성의 진근점 이각(궤도 위상)의 함수로 보여준다. \(\mathbf{x}_{\text{obj}}\)와 \(\mathbf{x}_{\text{earth}}\)는 기준 좌표계에서 천체와 지구의 3D 위치다. 내적이 1에 가까우면, 그 점에서 직선의 방향이 궤도상 행성 또는 위성의 방향과 일치함을 의미한다. 이 궤도 위상들은 2000년 추분에서 각 행성 또는 위성의 진근점 이각 값을 나타낸다.