질문
안녕하세요..! 저는 충남대학교 전자공하과 3학년 생입니다..궁금한 것은, 제가
julian date에 대한 자료는 있거든요..그럼 julian date를 바탕으로 해서
태양이 움직이는 궤도를 구하는 식입니다.. 만약 이걸로 부족하다면 ..어떤 데이터가
더 필요한지, 그리고 그 식이 무었인지 알려주세요..지금까지 제글을 읽어 주셔서
감사합니다...빠른 답변 부탁합니다...!
답변임무선 wrote:
>
>
> 안녕하세요..! 저는 충남대학교 전자공하과 3학년 생입니다..궁금한 것은, 제가
>
> julian date에 대한 자료는 있거든요..그럼 julian date를 바탕으로 해서
>
> 태양이 움직이는 궤도를 구하는 식입니다.. 만약 이걸로 부족하다면 ..어떤 데이터가
>
> 더 필요한지, 그리고 그 식이 무었인지 알려주세요..지금까지 제글을 읽어 주셔서
>
> 감사합니다...빠른 답변 부탁합니다...!
####
안녕하십니까? 한국천문연구원에서 일하는 사람은 아니지만, 태양계 천체의 위치를 구하는 프로그램을 짜 본 적이 있기에 약간의 도움 말씀을 드릴까 합니다(사실 실질적인 도움은 안될 겁니다).
문의하신 내용에 관한 참고 자료는 전에 제가 올린 답변 글에 모두 소개되어 있습니다. 일출몰 시각, 합삭 시각, 24기 입기 시각 계산과 관련된 답변을 검색하여 읽어 보시면 어떤 책이 필요한지 알게 될 것입니다. 이 글에서는 상세한 계산 방법은 생략하고 꼭 필요한 요소만 몇 가지만 설명하겠습니다.
그런데 태양이 움직이는 궤도를 어떤 좌표계에서 표시할 것인지 전혀 언급하지 않았기 때문에 구체적인 답변을 할 수 없군요. 태양의 위치를 황도 좌표(황경, 황위)로 나타낼 것인지, 아니면 적도 좌표(적경, 적위)나 지평 좌표(고도, 방위각)로 표시하려는 것인지 분명하지 않습니다. 적도 좌표나 지평 좌표로 표시할 경우 좌표 변환식을 사용해야 하므로 프로그램이 조금 더 복잡해집니다. 좌표 변환식 외에도 여러 가지 요소가 프로그램을 복잡하게 만듭니다. 이러한 주변적인 설명은 하지 않겠습니다. 책 사서 열심히 읽는 것이 최선이 방법입니다!
또 한가지! 얼마나 정확한 결과를 원하는지 밝히지 않았습니다. 허용 오차의 범위를 분명히 하지 않았다는 말입니다. 예를 들어, 0.01도(=36") 이내의 오차면 충분한지, 아니면 오차의 상한을 1" 정도로 작게 둘 것인지 미리 정해야만 일이 보다 쉽게 진행됩니다. 성냥 부러뜨리려고 도끼 쓸 필요 없지 않습니까? 만일 최대 오차를 0.01도 정도로만 잡아도 위치 계산식이 상당히 짧아집니다. 하여간 원하시는 답변을 "일반적인" 수준에서 설명해 보겠습니다.
질문에서 태양이 움직이는 궤도라고 하셨는데, 저는 그냥 태양의 위치라고 표현하겠습니다. 임의의 시각의 태양의 위치를 계산하는 절차는 대략 다음과 같이 요약할 수 있습니다.
먼저 임의의 시각을 기점으로 정하고 그 시각(기점)이후 경과한 시간을 계산합니다. 이 때 필요한 것이 율리우스 적일(julian date)입니다. 천문 계산에서는 대개 2000년 기점을 사용합니다. 즉 태양의 위치를 구하려는 시각의 율리우스 적일에서 2000년 1월 1일 정오의 율리우스 적일을 빼서 계산 기준점(기점)으로부터 경과한 시각을 일(day) 단위로 표시합니다. 이렇게 계산된 시간 간격을 36525일로 나누어 경과 시간을 세기(century) 단위로 바꿉니다. 세기 단위로 표시된 시간 간격이 실제의 계산 공식에 들어갈 값입니다.
그 다음으로 태양의 평균 근점이각(mean anomaly)와 평균 경도(mean longitude)를 구합니다. 이 두 가지 값을 구하는 공식은 시간의 함수입니다. 공식의 기본형은 y = a + b*x + c*x^2 입니다.
마지막 단계로, 태양계의 주요 행성들이 지구의 궤도에 미치는 영향을 계산해야 합니다. 이 영향을 섭동이라고 합니다. 섭동 계산에 필요한 공식도 시간의 함수입니다. 섭동항은 사인, 코사인이 뒤섞인 다항식으로 이루어져 있습니다. 섭동에 의한 미세한 위치 변화를 계산하는 공식은 매우 복잡합니다. 특히 장기간에 걸친 위치 변화를 정확히 계산하려면 섭동 계산항이 길어질 수밖에 없습니다. 다행히 태양의 위치 계산에 필요한 계산항은 비교적 짧아 빽빽히 쓴다면 공책 한두 쪽에 모두 쓸 수 있습니다. 그러나 비교적 근래의 위치를 계산할 때에는 적당한 위치에서 짧게 끊어서 사용해도 됩니다.
일단 태양의 황경이 계산되고 나면 필요에 따라 장동(지축의 끄덕거림; nutation) 보정이나 좌표 변환을 해야 합니다. 충분히 설명할 시간과 공간이 없기에 모두 생략합니다.
지금까지의 설명은 대략적인 설명에 불과하고 실제의 프로그램에 쓸 수 있는 계산 원리와 공식은 책이나 논문에서 찾아야 합니다. 참고할 만한 책은 다른 답변 글에서 이미 소개했습니다. 다른 답변 글에서 언급하지 않은 논문 한 편만 소개하고 마치겠습니다.
이용복, 근사식에 의한 태양의 남중 및 출몰 시각 결정에 관하여, 서울교육대학교 과학과 수학교육 논문집
이 논문이 언제 출판된 것인지 모르겠습니다(복사본은 저에게 있습니다). 자세한 내용은 서울교육대학교 과학교육과의 이용복 교수님께 문의해 보시기 바랍니다. 이 논문에 태양의 위치 계산 원리와 계산식이 실려 있습니다. 논문에 수록된 계산식의 적용 범위가 매우 길어서 400년 전후의 태양의 위치를 불과 1'(1/60도) 미만의 오차로 계산할 수 있습니다. 근래의 위치는 그보다 훨씬 정확하게 계산됩니다.
그러면 필요한 자료를 잘 찾아보시고 원하시는 목적을 달성하시기 바랍니다.
김동빈 http://211.57.134.129/~moon/