일식의 종류는 먼저 글에 적었듯이 크게 6종류가 있는데 이 중에 이종식(hybrid solar eclipse)을 판별하는 방법을 소개하고자 한다.
1. 부분식(partial solar eclipse)
2. 개기식(total solar eclipse)
3. 금환식(annular solar eclipse)
4. 비중심 개기식(non-central total solar eclipse)
5. 비중심 금환식(non-central annular solar eclipse)
6. 이종식(hybrid solar eclipse)
이종식을 판별해 내기 위해서는 최소한 3 지점(points)에 대해 일식의 종류를 판별해야 한다. 시작 시점과 최대식 시점과 끝 시점이다. 이종식은 달 그림자의 중심축(shadow axis) 이 지표면에 닿는 중심식이다. 저 세 시점은 중심축이 닿아 있는 시점을 의미한다.
중심식의 시작과 끝 시점을 계산하는 방법에는 크게 두 가지가 있는데 하나는 베젤의 보조항을 계산하여 t (시간)를 계산하는 것이고 또 하나는 역보간법을 이용하는 것이다. 결과적으로는 동일한 결과를 산출하는데 역보간법이 코드의 길이는 훨씬 짧다. 그런데 이 두 가지 방법에 약간의 문제가 있다. 어떠한 방법을 사용하든 아주 정확한 중심식의 시작과 끝 계산이 안된다는 것이다. 아주 미세하지만 중심식이 미처 일어나기 직전의 시간 또는 중심식이 바로 끝난 시점에서의 시간이 구해지는 경우가 종종 있기 때문이다. 그 차는 1초 미만이기 때문에 초 단위에서의 시간에는 큰 영향을 안준다. 다만 이것은 식이 어떤 종류이냐를 판별하는데 영향을 준다.
이종식은 중심식이다. 중심식의 시작과 끝 시점에서 금환식이냐 개기식이냐를 판별해야 한다. 따라서 그 시점은 그림자의 축이 지표에 닿아있는 순간이어야 한다. 그런데 1차 계산으로 얻어진 값에서 가끔씩 중심식이 안 일어난 시점이 계산되어진다. 따라서 1차로 얻어진 시간 값에서 중심식이 일어나기까지 시간을 점진적으로 증가 또는 감소하여 2차 결과를 얻어야 한다. 그 때서야 비로소 중심식의 종류를 판별할 수가 있다.
좀 더 전문적으로 들어가면 중심식 판별에 쓰는 식이 있다. zeta1 = sqrt(1 - ksi^2 - eta1^2). 이 값이 허수가 되는 경우가 1차 계산에서 종종 발생한다. 이 식이 허수가 된다는 것은 중심식이 일어나지 않았다는 의미이기 때문에 1차에서 얻은 t 값에 0.1초 단위로 가감하여 zeta1 이 허수에서 갓 벗어난 시점을 잡아내야 한다. 이 것은 간단한 루틴으로 해결된다.
그림에서 보이듯 case1 의 경우는 시작 시점에서 허수가 발생한 경우이고, case2 의 경우는 끝 시점에서 허수가 발생한 경우이다. case1 의 경우는 +0.1초 단위로 zeta1 이 허수에서 벗어난 시점을 찾고, case2 는 -0.1 초 단위로 zeta1 이 허수에서 벗어난 시점을 찾는다.
왜 0.1 초 단위 보정이냐. 이것은 단지 실험값이다. 1초, 0.5 초, 0.25초 단위로 모두 해보았지만 값이 너무 커서(?)인지 만족할만한 답이 나오지 않았다. 0.1 초 단위로 보정했을 때 만족할 만한 결과가 나왔다. 물론 단위를 더 작게도 할 수 있지만 그러면 루틴 돌리는 시간이 길어지기 때문에 적당한 보정폭을 잡아야 한다. 0.1초 단위면 아직까지는 충분해 보인다.
* 그림에서 나오는 것처럼 중심식의 길이가 저렇게 짧지는 않고 개념 설명을 위해 스케일은 생략하고 그렸다.