2016년 6월 11일 토요일

진짜만세력의 태음태양력 구조

진짜만세력은 아래 3가지 기준으로 태음태양력을 계산합니다.

1. 합삭(태양-달-지구가 일직선이 되는 시점)이 있는 날이 음력 초하루

2. 우수(24절기 雨水,태양이 황경 330도에 위치하는 시점)가 들어있는 달이 1월(=정월, 正月)

3. 중기가 없는 무중월이 있으면 이는 윤달. 하지만 이 무중월이 진짜무중월인지 가짜무중월인지의 판단을 해서 진짜 무중월일때만 윤달입니다.(아래 설명 참조)



설명

1.은 순태음력

2.는 순태음력에 태양력(태양의 위치)을 추가한것.

3.은 1과2의 조건을 동시에 만족시키기 위한 방법. 아래에 설명하는 복잡한 방법으로 윤달을 삽입하여 태음태양력이 완성됨.

24절기중에 12개의 중기를 포함하지 않는 무중월이 있으면, 진짜 혹은 가짜무중월의 판단이 필요하게 되는데, 이 판단이 아주 복잡합니다.
무중월의 전달이나 다음달에 2개의 중기가 있으면 이는 가짜 무중월입니다.
진짜 무중월은 여름과 가을에 나타나며 전달과 다음달은 1개의 중기만을 가집니다.

복잡한(=재수없는) 경우에 1년 달력을 만들면 특정 년도(a년이라 가정, 이 해에는 음력 윤달이 있음)의 음력 12월 말일이 우수가 되는 경우가 발생하는데 이는 정기/정삭법을 사용해서 생기는 경우로 이것은 a년의 1년 달력을 만들때는 전혀 문제가 되지 않습니다.

문제는 다음해인 b(=a+1)년의 1년 달력을 만들때 b년의 우수가 어디있는지 파악해야 하는데, 우수가 음력 말일(=그믐날)이라면 음력 12월말일 인지 1월말일인지 판단이 필요하게 됩니다.
우수가 음력 말일이면서 그 달의 초하루가 대한이 아니라면 그달은 b년 1월.
우수가 음력 말일이면서 그 달의 초하루가 대한이면 그달은 전년도 a년 12월.

여기서 더 복잡한(=더 재수없는) 경우가 생기는데, 한달 달력을 만들때 우수 다음달이 무중월이면 이게 1월인지(=우수가 전년도 말일인지), 윤1월인지 파악해야하는 경우가 생김니다.
예를 들어 특정 년도의 양력 3월의 달력을 표시할때 양력 3월 1일이 음력으로 1월일 때, 이 음력월이 평달, 무중월인데도 평달, 혹은 진짜무중월 윤달인지를 파악해야 합니다.

그리고 우수와 춘분이 음력 한달에 들어있으면,
예를 들어 1월(초하루=우수, 그믐=춘분),무중월,3월(초하루=곡우) 이런식이라면 이 무중월이 2월인지, 윤2월인지의 판단도 필요합니다.

또한 1월(초하루=우수, 그믐=춘분),2월(그믐=곡우),무중월,4월(초하루=소만)의 가능성도 있습니다.

마찬가지로 춘분과 곡우도 음력 한달에 들어있을 가능성이 있습니다.

아직 끝나지 않았습니다. 지금까지 대한과 우수가 한달, 우수와 춘분이 한달, 춘분과 곡우가 한달에 들어있을 가능성을 설명했지만, 전년도의 동지와 대한이 음력 한달에 들어있는 경우도 있습니다.
이는 지구가 태양을 공전할때 소한 무렵의 근일점에서 아주 빠르게 공전하지만 지구가 빨리 움직이는 것은 달과는 아무 상관 없기때문입니다.

따라서 b년의 달력을 만들때는 전년도 a년의 동지 무렵부터 b년의 소만 무렵까지의 무중월이 발생하면 이 무중월이 진짜무중월인지, 가짜무중월인지를 파악해서 월의 명칭을 붙여야 합니다.

에이, 머리 아프고 귀찮다. 재귀호출 사용.(자세한것은 공개된 소스코드 참조)


결론
현재 우리가 사용하는 태음태양력은 무중치윤법을 기반으로 사용하는데, 무중월에는 진짜 와 가짜가 있습니다.
진짜무중월은 파악이 간단하지만, 가짜 무중월은 파악하기가 쉽지 않습니다.
진짜만세력은 위에서 설명한 방법으로 가짜 무중월을 파악하고, 윤달을 처리하여 날짜를 계산합니다.



댓글 없음:

댓글 쓰기