조회 수 8321 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

3번째 글을 쓴지 벌써 2년이 넘게 지났습니다. 오랫동안 손을 놓고 있었지만, 올해 겨울이 지나기 전에 이 시리즈를 완결토록 하겠습니다.


4번째 글에서는 태양의 위치 계산에 관한 부분과 장동 계산에 대한 부분을 알아보겠습니다. 여기에는 모두 3개의 함수를 씁니다.


1. 태양의 위치 계산

해의 위치 계산에는 2개의 함수를 씁니다. 하나는 케플러 방정식 풀이, 하나는 해의 황경을 계산합니다.  계산 결과는 모두 황도좌표계를 기준으로 출력합니다. 


ANOMALY: 케플러 방정식 풀이
SUN: 태양의 위치 계산(황도좌표)


(1) ANOMALY(AM, EC, AT, AE)

ANOMALY 함수는 입력받은 2개의 궤도요소를 이용하여 케플러 방정식을 풀고, 그 결과를 출력하는 함수입니다. 입력받는 요소는 AM과 EC, 출력하는 요소는 AT와 AE입니다. 여기에서 AM은 평균근점이각(mean anomaly), EC는 이심률(eccentricity)이고, AT는 진근점이각(true anomaly), AE는 이심률이각(eccentric anomaly)는 입니다.

케플러 방정식은 해석적인 방법으로는 풀 수가 없으므로, 이 함수에서는 계산을 반복해서 오차를 줄여가는 식으로 진근점이각과 이심률이각을 찾아냅니다. 이 함수에서 오차는 0.000001라디안인데, 360도법으로 하면 0.21"입니다. 24절기 입기시각의 위치를 1분 이내의 정밀도로 계산하려면 태양의 위치는 2.5"미만의 오차범위 내로 계산하면 충분하다는 점을 고려한다면, 0.21"면 충분한 정밀도라고 볼 수 있습니다.

계산방법은 Astronomical Algorithms(J.Meeus)의 30장에 나오는 두 번째 방법(199쪽)을 이용하고 있습니다. 케플러 방정식에 관해서는 추후 설명토록 하겠습니다.


Private Sub ANOMALY(ByVal AM As Double, ByVal EC As Double, AT As Double, AE As Double)
  Dim A As Double, E1 As Double, E0 As Double
 
  AM = Rev(AM) * DegtoRad: E1 = AM '계산 초기값을 평균근점이각으로 대입
 
  Do  '이 부분이 케플러 방정식을 실제로 풀이하는 부분
    E0 = E1
    E1 = E0 + (AM + EC * Sin(E0) - E0) / (1 - EC * Cos(E0))
  Loop Until Abs(E1 - E0) < 0.000001
  AE = E1
 
  A = Sqr((1 + EC) / (1 - EC)) * Tan(AE / 2)
  AT = Rev(2 * Atn(A) * RadtoDeg)
  AE = Rev(AE * RadtoDeg)
End Sub



(2) SUN(JD, SL, SB, SR)

SUN 함수는 입력받은 시각의 태양의 위치를 계산하는 함수입니다. JD는 계산하고자 하는 날짜, 시각의 율리우스적일(지구시, 높은 정밀도가 필요하지 않다면 UTC로 입력할 수 있음)이고, SL은 지심황경, SB는 지심황위, SR은 전문단위(AU)로 나타낸 지심거리입니다. 계산은 궤도요소를 이용해서 케플러 방정식을 풀이하는 고전적인 방법을 사용하며, 계산 정밀도를 높이기 위하여 주요 섭동항 역시 포함되어 있습니다. 지심황위는 항상 0으로 출력합니다. 실제로 태양은 황도의 적도를 위도 방향으로 1.2" 이상 벗어나는 일이 없으므로, 이렇게 가정해도 충분한 정밀도를 보여주기 때문입니다.


Private Sub SUN(ByVal jd As Double, SL As Double, SB As Double, SR As Double)
  Dim T As Double, T2 As Double, A As Double, B As Double, L As Double, M1 As Double, EC As Double
  Dim A1 As Double, B1 As Double, C1 As Double, D1 As Double, E1 As Double, H1 As Double
  Dim D2 As Double, D3 As Double, AT As Double, AE As Double
 
  T = (jd - 2415020) / 36525: T2 = T * T
 
  A = 100.0021359 * T: B = 360 * (A - Int(A)) '궤도요소 계산
  L = 279.69668 + 0.0003025 * T2 + B
  A = 99.99736042 * T: B = 360 * (A - Int(A))
  M1 = 358.47583 - (0.00015 + 0.0000033 * T) * T2 + B
  EC = 0.01675104 - 0.0000418 * T - 0.000000126 * T2
 
  Call ANOMALY(M1, EC, AT, AE) '케플러 방정식 풀이
 
  A = 62.55209472 * T: B = 360 * (A - Int(A)) '섭동항 계산을 위한 인수 계산
  A1 = 153.23 + B
  A = 125.1041894 * T: B = 360 * (A - Int(A))
  B1 = 216.57 + B
  A = 91.56766028 * T: B = 360 * (A - Int(A))
  C1 = 312.69 + B
  A = 1236.853095 * T: B = 360 * (A - Int(A))
  D1 = 350.74 - 0.00144 * T2 + B
  E1 = 231.19 + 20.2 * T
  A = 183.1353208 * T: B = 360 * (A - Int(A))
  H1 = 353.4 + B
 
  D2 = 0.00134 * Cosd(A1) + 0.00154 * Cosd(B1) + 0.002 * Cosd(C1) '섭동(황위)
  D2 = D2 + 0.00179 * Sind(D1) + 0.00178 * Sind(E1)
 
  D3 = 0.00000543 * Sind(A1) + 0.00001575 * Sind(B1) '섭동(지심거리)
  D3 = D3 + 0.00001627 * Sind(C1) + 0.00003076 * Cosd(D1)
  D3 = D3 + 0.00000927 * Sind(H1)
 
  SL = Rev(AT + L - M1 + D2) '해의 황경 출력
  SR = 1.0000002 * (1 - EC * Cosd(AE)) + D3 '해의 지심거리 계산
  SB = 0 '황위는 0으로 가정
End Sub


함수 내부를 살펴보면, L은 태양의 평균황경, M1은 평균근점이각, EC는 이심률입니다. 섭동은 황경과 지심거리만 계산하는데, D2가 황경, D3가 지심거리에 대한 섭동입니다. 계산방법은 Astronomy with your personal computer(Peter Duffett-Smith, 제2판)에 있는 방법을 사용했습니다. 계산정밀도를 살펴보면 VSOP87과 비교했을 때 1900~2100년 사이에 황경의 평균오차는 3.46", 평균편차는 4.62", 최대오차는 20.20"이고, 거리의 최대오차는 0.000021AU입니다. 최대오차량으로 보아 입기시각 계산에 9분 정도의 오차가 발생할 수는 있지만, 실제로 이 기간동안의 음양력 계산에는 영향을 미치지 않습니다.


2. 장동

장동은 달이 지구 주위를 공전하면서 지구의 자전축이 조금씩 기울어지는 현상으로, 황경 방향으로는 ±17", 황도경사각은 ±9" 범위 내에서 영향을 줍니다. 입기시각 예측에 최대 7분 정도의 영향을 주는 요소이므로, 반드시 계산에 반영해야합니다. 장동 계산에는 단 하나의 함수만 사용하는데, 황경 방향의 요소만 계산합니다.


Nutation: 황경 방향의 장동 계산


(1) Nutation(JDE, dPsi)

Nutation 함수는 입력받은 시각의 황경방향 장동운동의 양을 계산합니다. 입력값인 JDE는 지구시로 나타낸 시각이고 출력값인 dPsi는 황경방향의 장동운동의 양입니다. 출력값의 단위는 360분법으로 나타낸 초(acsecond)입니다.


Private Sub Nutation(ByVal JDE As Double, dPsi As Double)
  Dim eps0 As Double
  Dim OM As Double, T As Double, L1 As Double, L2 As Double, T2 As Double
 
  T = (JDE - 2451545) / 36525
  T2 = T * T
  L1 = Rev(280.466457 + 36000.7698278 * T + 0.00030322 * T2 + 0.00000002 * T2 * T)
  L2 = Rev(218.3164477 + 481267.88123421 * T - 0.0015786 * T2 + T2 * T / 538841 - T2 * T2 / 65194000)
  OM = Rev(125.04452 - 1934.136261 * T + 0.0020708 * T2 + (T2 * T) / 450000) 
 
  dPsi = -17.2 * Sind(OM) - 1.32 * Sind(2 * L1) - 0.23 * Sind(2 * L2) + 0.21 * Sind(2 * OM)
End Sub


이 함수에 쓰인 계산식은 IAU1980에서 정의되어 있는 계산법에서 가장 중요한 몇 개의 항만 추려서 간단히 줄인 계산식으로 계산 정밀도는 황경방향으로 0.5" 이내입니다(입기시각 계산에서는 10초 이내의 오차요인으로 작용). 함수 내의 L1(태양의 평균황경), L2(달의 평균황경), OM(달의 승교점 경도)는 ELP-2000/82B에서 사용하는 식으로 고쳤습니다. 정밀도를 더 높이기 위한 조치이지만, 단순히 각 상수의 유효자릿수만 늘인 것으로 큰 의미는 없습니다.


다음 글에서는 해와 달의 절입시각/정삭시각 계산에 관한 내용을 다루도록 하겠습니다.

?

  1. 이프랑티스 포켓 8x22 쌍안경 사용기

    이 쌍안경은 아주 저렴한 쌍안경입니다. 실제 구입가는 2만원대 초반(2017년 7월 기준)입니다. 가격이 낮아 부담은 없지만, 성능이 매우 떨어지기 때문에 구입을 권하지 않습니다. 경험으로 보아, 소형 쌍안경(구경이 30mm 내외인 쌍안경)은 대략 10만원대(7~...
    Date2017.07.16 Category천문장비 By창환 Views906
    Read More
  2. MyScope 15x70 쌍안경 사용기

    MyScope 15x70 쌍안경 * 이미 잘 알려지고 사용기가 여럿 있는 모델이라 간략히 정리만 합니다. - 기본 사양 * 구경 : 70mm(내부 차폐를 감안하면 62mm) * 배율 : 15배 * 프리즘 : Bak4 소재, Porro Prism 방식 * 코팅 : Fully Multicoating(프리즘을 포함한 ...
    Date2017.07.05 Category천문장비 By창환 Views1712
    Read More
  3. Nexstar SE 가대용 외부 전원 소개

    Nexstar SE 가대에 쓰는 외부전원 사용기입니다(Nexstar GT 계열이나 혹은 12V 전원을 쓰는 다른 장비에도 적용됩니다). Nexstar SE 가대는 AA 전지 8개를 씁니다. 그런데 관측을 하다보면 배터리 소모가 심하고 추운 날에는 전력 공급이 제대로 되지 않아 새...
    Date2017.03.12 Category천문장비 By창환 Views25324
    Read More
  4. Celestron C70 Mini Mak 사용기

    Celestron C70 Mini Mak Spotting Scope 사용기 [사양] * 구경 : 70mm * 초점거리 : 750mm * 구경비(F) : 10.7 * 구성 : 막스토프 카세그레인식 * 코팅 : 멀티 코팅 * 중앙차폐율 : 31%(지름 기준), 10%(면적 기준) * 배율 : 25~75배 * 시야 : 1.25도(25배)~0....
    Date2017.02.15 Category천문장비 By창환 Views1044
    Read More
  5. 작은 자작 망원경 이야기

    쌍안경에서 나온 렌즈를 재활용해서 만든 자작 망원경입니다. 구경 48mm, 초점 거리 175mm이므로 F3.65입니다. 평범한 아크로매틱 렌즈이므로, 굉장히 초점 거리가 짧은 편이지만 색수자가 아주 심하진 않습니다. 20~30배 정도까지는 그냥저냥 볼만 합니다. ...
    Date2017.02.12 Category천문 일반 By창환 Views1153
    Read More
  6. 위상차 보정 코팅과 확인법

    위상차 보정 코팅은 루프프리즘을 쓰는 쌍안경에 적용하는 코팅입니다. 좋은 광학 품질을 얻기 위해서는 필요한 코팅이지만, 별도의 공정이 추가되므로 상대적으로 비싼 고급 쌍안경에만 적용됩니다(포로 프리즘을 쓰는 쌍안경엔 근본적으로 불필요한 않은 코...
    Date2017.02.07 Category천문 일반 By창환 Views760
    Read More
  7. 솔로몬 BF 8x42 쌍안경 사용기

    솔로몬 BF 8x42(BF9 8x42) 쌍안경 - 구경 : 42mm (광로 차단을 포함한 실제 구경은 40mm로 추정) - 배율 : 8배 (실배율은 7.7배) - 시야 : 6.3도(110m @ 1000m) - 사출동공 지름 : 5.2mm - 아이릴리프 : 18mm - 최근접 초점거리 : 2.5m - 특징 : 삼각대 고정 ...
    Date2017.01.28 Category천문장비 By창환 Views47866
    Read More
  8. 솔로몬 EL 10x56ED 쌍안경 사용기

    솔로몬 EL 10x56ED(UnitedOptics BW19 10x56ED) - 구경 : 56mm (광로 차단을 포함한 실제 구경은 53~54mm로 추정) - 배율 : 10배 - 시야 : 6.1도(107m @ 1000m) - 사출동공 지름 : 5.6mm - 아이릴리프 : 21.1mm - 최근접 초점거리 : 2.5m - 특징 : 위상차 보정...
    Date2017.01.27 Category천문장비 By창환 Views2491
    Read More
  9. Celestron UpClose G2 20x50 쌍안경

    UpClose G2 20x50 쌍안경은 Celestron에서 판매하는 저가형 쌍안경입니다. 천체관측보다는 탐조나 여행 같은 일상적인 야외활동에 적합한 쌍안경으로 안내하고 있습니다. 이 제품군은 구경에 비하여 가격이 상당히 낮게 책정되어 있음에도, 생활방수, 멀티코...
    Date2016.08.20 Category천문장비 By창환 Views1689
    Read More
  10. 아이패드에서 쓸만한 천문 앱

    1. SkySafari - 제작사 : Southern Stars - 홈페이지 : http://www.southernstars.com/products/skysafari/ iOS 기반 천문앱으로는 최고의 앱입니다. iOS 계열에는 실제 천체관측에 쓰기보다는 화면으로 즐기기 위한 앱이 많은 편인데, 이 앱은 실제 천체관측...
    Date2014.10.19 Category천문 일반 By창환 Views2144
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 20 Next
/ 20
Powered by XE