1. 일식 사건 목록 찾기

UMBRA는 오픈소스 천문 계산 라이브러리인 Astronomy Engine의 SearchGlobalSolarEclipse 와 NextGlobalSolarEclipse 를 사용해 2001년부터 2050년까지의 전 지구적 태양일식 목록을 만듭니다. 이 단계에서 사건의 최대식 시각, 개기·금환·부분 구분, 그림자 축과 지구 중심 사이의 거리 같은 기준값을 얻습니다.

목록은 애니메이션 프레임마다 다시 검색하지 않습니다. 앱이 준비될 때 계산한 사건 목록을 재사용하고, 사용자가 날짜를 선택하면 해당 사건의 시각 주변만 자세히 계산합니다.

2. 선택한 시각의 태양과 달 위치 계산

특정 시각이 주어지면 태양과 달의 지구 중심 기준 벡터를 구합니다. 천구 좌표는 지구 자전과 해당 날짜의 좌표계 회전을 반영해 지구 고정 좌표로 바꿉니다. 같은 UTC라도 경도가 바뀌면 태양 고도와 그림자 위치가 달라지기 때문에 항성시를 함께 사용합니다.

달에서 태양 반대 방향으로 뻗는 축을 만들고, 태양과 달의 반지름 및 거리를 이용해 본영과 반영 원뿔의 단면 반지름을 계산합니다. 그림자 축이 지구와 만나지 않으면 부분식 또는 일식 영역 밖으로, 지표와 만나면 중심식으로 판단합니다.

EPHEMERIS태양·달의 시간별 벡터

Astronomy Engine의 천문 모델을 사용해 선택한 UTC의 위치를 구합니다.

EARTH FIXED회전하는 지구 좌표

날짜 좌표계와 항성시를 반영해 위도·경도로 변환합니다.

SHADOW CONE본영과 반영 원뿔

천체 반지름과 거리에 따라 지표 위치에서의 그림자 폭을 계산합니다.

ELLIPSOID납작한 지구와의 교차

완전한 구가 아니라 적도와 극 반지름 차이를 반영해 중심점을 구합니다.

3. 원이 아니라 실제 지표 경계를 찾기

지표면의 그림자를 단순한 고정 반지름 원으로 그리면 지구 가장자리에서 큰 오차가 생깁니다. UMBRA는 먼저 그림자 안쪽의 기준점을 찾고, 그 지점에서 144개 방위로 이동하면서 안과 밖이 바뀌는 지점을 이진 탐색해 경계선을 만듭니다.

각 후보 지점에서는 그림자 축까지의 거리, 그 위치에서의 본영·반영 반지름, 태양이 지평선 위에 있는지를 다시 확인합니다. 따라서 낮은 태양 고도에서는 중심 그림자가 길쭉한 타원으로 늘어나고, 밤 영역으로 넘어간 경계는 관측 영역에서 제외됩니다.

붉은 띠와 현재 그림자는 별도 계산입니다

붉은 띠는 최대식 전후의 시간을 1분 간격으로 훑어 중심 경로의 좌우 경계를 합친 결과입니다. 검은 그림자는 현재 선택된 한 시각의 본영 또는 반본영입니다.

4. 국가별 일식 검색

국가 검색은 전 세계 모든 좌표를 촘촘하게 계산하지 않습니다. Natural Earth 기반의 국가 경계에서 중심점과 경계 대표 지점 8곳을 뽑은 뒤, Astronomy Engine의 지역 일식 검색을 별도의 Web Worker에서 실행합니다. 브라우저의 지구본 애니메이션을 멈추지 않으면서 2001~2050년 결과를 찾기 위한 선택입니다.

여러 대표 지점에서 같은 사건이 나오면 하나로 합치고, 가장 큰 가림률과 중심식 여부를 보존합니다. 이 방식은 국가 단위의 빠른 탐색에는 유용하지만 작은 섬, 복잡한 국경 또는 국가의 아주 좁은 끝부분만 스치는 사건은 놓칠 수 있습니다.

5. 공개 자료와의 교차 검증

구현 과정에서 2024년 4월 8일, 2026년 8월 12일, 2027년 8월 2일 등 대표적인 중심일식의 이동 방향과 통과 국가를 NASA GSFC 경로표 및 공개 지도와 비교했습니다. 중심선과 경로 폭의 전체적인 형태, 최대식 시각, 개기·금환 분류가 거의 같은 위치에 나타나는지 확인했습니다.

다만 UMBRA는 NASA의 공식 예보 제품을 복제하거나 대체하지 않습니다. 화면 렌더링을 위한 샘플 간격, 단순화된 국가 경계, 지형 고도와 상세 대기 굴절의 생략 때문에 지역별 접촉 시각이나 경계 부근에는 차이가 있을 수 있습니다.

정확도와 사용 범위

적합한 용도
일식의 전 지구적 이동 방향 이해, 과거·미래 사건 탐색, 개기·금환 중심대와 넓은 부분식 영역의 시각적 비교
적합하지 않은 용도
관측 장비 안전 판단, 도시 단위의 초 단위 접촉 시각, 항공·선박 운항, 과학 논문 또는 측량용 정밀 경계 결정
포함하지 않는 정보
실시간 구름과 기상, 지형에 의한 실제 지평선, 건물이나 산의 가림, 관측 장소의 안전 규정

데이터와 구현 자료