레이블이 계산법인 게시물을 표시합니다. 모든 게시물 표시
레이블이 계산법인 게시물을 표시합니다. 모든 게시물 표시

2023년 11월 20일 월요일

Excel을 이용한 음력 양력 변환기 만들기 : 음력 양력 일괄 변환 가능

2024-10-11 수정


역법이 뭔지는 여길 참고 : 역법, 양력, 음력, 달력 계산하기

4주8자 구하는 법은 여길 참고 :  사주팔자 모든 조합 (51만8천4백) 계산법


1. 음력 양력 변환하는 정확한 공식은 없다.

양력도 반 만 년(4천 년) 지나면 1일 정도 오차가 발생하고, 음력과 양력을 일치 시키는 19년 주기도 반 만 년(5700년) 지나면 26일 정도 오차가 발생한다. 5천 년 전, 5천 년 후 음력 양력을 변환하는 짓은 의미가 없을 것이다. 이런 오차 보정하는 방법으로 윤년, 윤달이란 게 있는데 이도 오랜 세월이 지나면 틀어진다.

그래도 현재와 가까운 시기의 음력 양력을 변환하는 깔끔한 공식이 있다면 좋겠지? 가까운 미래 것은 계산으로 구해야 한다. 해와 달의 주기로 계산 하는 법은 위의 링크에서 역법을 참고할 것. 시간 차가 많이 나면 계산으로 구한 날짜가 틀릴 수도 있다. 양력 24절기는 100년 이내, 음력은 10년 이내에서만 적용하자. 고로 아주 옛날 것은 과거 음력 기록을 가지고 검색해야 한다. 음력의 삭망일의 주기를 보면 진동하는 것처럼 보이기 때문에 단순히 주기 계산을 해서 구한 게 아니다. 오히려 주기를 오랜 동안 누적된 측정 값에서 추출한 것이다. 그래서 긴 시간에 대해선 계산 값과 측정 값과 차이가 있다.


위의 19년 주기를 보면 음력 날짜 규칙이 보이지 않을 것이다. 음력을 계산하려면 일단 양력(24절기)이 필요하다. 양력도 날짜가 아닌 시간 단위까지 필요하다. 24절기 날짜와 시간을 알아야 윤달을 넣어야 할 때를 알 수 있다. 또한 달의 삭/망(초하룻날/보름) 날짜와 시간까지 알아야 한다. 달이 뜨지 않는 삭일 때의 양력 날짜와 시간을 알아야 음력 1일을 결정할 수 있다. 음력 1일이 결정 되면 그 음력의 마지막 날(그믐날)은 자동으로 29/30일로 결정 된다. 음력 15일에 꼭 보름달이 뜨는 건 아니다. 이상하게 보름달이 15, 16, 17일에 걸쳐 있다. 달의 공전 속력이 변하나? 왜 이러지? ㅋㅋㅋ 

이 글은 과거 음력 DB를 이용해서 양음력 변환하는 하는 방법이고, 미래 예측 계산은 위의 역법 글에서 참고 하라. 그리고 음력 날짜에서 4주8자를 결정하는 방법은 4주8자 계산법을 참고하고 여기선 일주만 계산해 주는 방법만 나온다. 년주, 월주는 바로 검색해서 나오니까.


2. 그럼 어떻게 계산할 것이냐? 알고리즘은 다음과 같다.

  1. 양력의 경우 1900년 01월 01일 기준 이후는 컴퓨터가 자동 계산해 준다.
  2. 1900년 01월 01일 이전은 직접 년, 월, 일 분해해서 계산해야 한다. (그래서 안 함)
  3. 공신력 있는 사이트에서 양력 음력 변환 표를 구해 기준 일자를 검색하여 찾는다.
  4. 기준 일자는 1900년 이후의 음력의 각 달 1일에 해당하는 양력일이다.
  5. 음력 X월의 1일 → 양력 날짜, 29/30일 구분, 윤달 표시,  60갑자 표현(년월일)
  6. 4주8자 볼 때의 60갑자 표현은 년월일은 검색으로 찾고 시는 간단하게 계산 된다.
  7. 음력 양력 모두 특정 기준 양력일(음력 X월 1일에 해당)과 날짜 차이로 검색을 한다.
  8. 가장 가까운 기준 월 검색 방법 : 기준 월 ≤ 검색 날짜 < 다음 월
  9. 가장 가까운 기준 월과 날짜 차이(30일 미만)로 나머지는 계산을 한다.

변환 가능한 날자 범위 : 

1900년 이전은 계산이 피곤하니 안 한다. 양력 2050년까지만 변환표가 있다.

  • 음력 범위 1900년 01월 01일 ~ 2050년 11월 01일
  • 양력 범위 1900년 01월 31일 ~ 2050년 12월 14일

변환표는 여기에 : 


주의 : Excel Sheet의 Cell에 들어가는 날짜 범위와 VBA에서 사용하는 날짜 범위가 다르다.
VBA의 Date 자료형의 날짜 범위
최소값 : 100년 1월 1일 (100-01-01)
최대값 : 9999년 12월 31일 (9999-12-31)

Excel Cell의 날짜 범위
최소 날짜 : 1900-01-01 = 일련번호 1
최대 날짜 : 9999-12-31 = 일련번호 2958465 
요즘 인공 지능이 코딩도 해 주니까 음력 양력 변환기를 VBA 코드로 만들어 달라고 해 봐라.


3. 예를 들어 음력 1923년 10월 13일의 양력을 찾고 싶다면?

가장 가까운 기준 일인 음력 1923년 10월 01일(양력 1923년 11월 09일에 해당)을 찾는다.

날짜 차이 계산 : 1923년 10월 13일(검색일) - 1923년 10월 01일(기준일) = 12일 차

기준 음력 날짜 검색 : 

  1. 음력 : 1923년 10월 13일(검색 날짜) = 1923년 10월 01일(기준일) + 12일 
  2. 양력 : 1923년 11월 21일(변환 날짜) = 1923년 11월 09일(기준일) + 12일 
  3. 요일 : 금 = weekday(1923년 11월 21일, 1) 함수 사용, 일~토요일 = 1~7
  4. 윤달 : 평 → 음력으로 검색할 경우는 다음 달이 윤달인지 확인 (윤달이면 2개 표시)
  5. 대소 : 29
  6. 년주 : 계해
  7. 월주 : 계해
  8. 일주 : 병술 = 기준일 60갑자 검색 + 12일 

요약하면 음력 검색일 → 음력 기준일 → 양력 기준일 → 양력 변환일 계산 순서로 처리한다.

이런 처리 방법에 있어 문제는 검색 시간이 많이 소모 되는 것이다. 검색을 빠르게 하기 위해선 검색 표를 쪼개야 한다. 예를 들어 음력은 12개월 단위니까 윤달을 제외하면 년월이 12단위이기 때문에 년월을 뽑아 기준일의 위치를 간단하게 계산할 수 있다. 이 때 같은 달의 윤달이 있단 정보가 검색 되면, 윤달표에서 윤달만 따로 검색한다. 윤달은 목록을 처음부터 비교해서 찾아야 하니 시간 소모가 많다. 윤달에 해당하는 음력 날짜를 변환하면 (윤달인지 아닌지 표시가 되지 않으니까) 양력 날짜 2개가 나와야 한다. 하나는 정상적 달, 그 다음 윤달 이렇게 2개다.

요일 계산법은 Excel 함수 weekday(검색일, 1)을 사용한다. 

이 함수에 문제가 있는데 1900년 1월, 2월은 하루씩 틀린다. 3월부터 사용한다.

그러면 일월화수목금토=1234567 숫자가 나오는데, 문자로 바꾸기만 하면 된다.


4. 반대의 경우로 양력 1923년 11월 21일의 음력을 찾고 싶다면?

가장 가까운 기준 일인 양력 1923년 11월 09일(음력 10월 01일에 해당)을 찾는다.

찾는 방법은 Excel 함수 vlookup(검색일, 표, 칼럼, 유사 일치)를 사용하면 된다.

날짜 차이 계산 : 1923년 11월 21일(검색일) - 1923년 11월 09일(기준일) = 12일 차

기준 음력 날짜 검색 : 

  1. 양력 : 1923년 11월 21일(검색 날짜) = 1923년 11월 09일(기준일) + 12일 
  2. 요일 : 금 = weekday(1923년 11월 21일, 1) 함수 사용, 일~토요일 = 1~7
  3. 음력 : 1923년 10월 13일(변환 날짜) = 1923년 10월 01일(기준일) + 12일 
  4. 윤달 : 평
  5. 대소 : 29
  6. 년주 : 계해
  7. 월주 : 계해
  8. 일주 : 병술 = 기준일 60갑자 검색 + 12일 

요약하면 양력 검색일 → 양력 기준일 → 음력 기준일 → 음력 변환일 계산 순서로 처리한다.

간단한 계산에 의해서 원하는 음력 날짜를 쉽게 얻는다. 여기서 문제는 양력 기준일을 찾는데 시간이 많이 소모된다는 것이다. 양력도 매월 1일 기준 12개월 단위로 배치하면 쉽게 위치 계산을 할 수 있다. 고로 양력 1일을 기준으로 음력 변환표를 만들어 주면 좋겠는데, 문제는 날짜 보간법 계산이 어려운 건 양력이 아니라 음력인 것이다. 그래서 음력으로 매월 1일을 기준으로 삼은 것이다. 왜냐하면 음력 윤달 삽입 지점과 29/30일 대소 구분 규칙을 모르니까. 음력으로 날짜 차이를 더해주려면 다음 달이 윤달인지 아닌지 알아야 하고, 이번 달의 크기(29/30)을 알아야 한다. 그래서 다음 달로 넘어가는 경우를 처리해 줘야 한다. 양력은 그냥 더하면 컴퓨터가 알아서 해주지만, 음력은 프로그래머가 직접 처리 해야 한다.

만약 양력 1일을 기준일로 해서 검색하여 음력 변환을 하겠다면 아래 알고리즘을 따라야 한다.


그래서 위와 같은 알고리즘에 따라 양력일을 양력 기준일(1일)로 빠르게 검색한 후에, 그 날에 해당하는 음력을 다시 음력 기준일(1일)로 빠르게 검색한다. 이 음력 1일과 다음 음력 1일의 양력 기준일 2개로 양력 검색일과 비교하면, 적절한 음력 달의 1일(양력 기준일)을 선택할 수 있게 된다. 이렇게 해야 29/30일 이내의 날짜 차이로 계산을 할 수 있다. 

그래서 이렇게 복잡하게 안 하고, Excel 함수를 이용해서 바로 양력 기준일 검색을 한다. Excel 함수를 사용한다면 vlookup(검색일, 통합 검색표, 원하는 칼럼, 유사 검색)을 쓴다. 그러면 양력 기준일이 그냥 나온다. 유사 검색을 하면 검색 날짜와 같거나 작은 날짜가 검색 된다. 처리 속도도 생각보다 빠르다. 대량으로 일괄 처리 변환이 가능하다. 실제로 이 방법으로 양력 1일 기준의 변환 표를 만들 수 있다.



5. 일주의 60갑자 순서 검색은?

간단한 구현은 60개를 나열하여 기준 날짜의 일주 문자열을 비교 검색하고 60갑자에서 순번을 찾은 후에, 날짜 차이를 더하고, 그 순번을 Index로 하여 다시 일주 문자열을 검색하는 것이다. 첫 단계 문자열 비교 검색에서 시간 소모가 좀 있다. 여러 날짜를 일괄적 변환 처리할 때는 매우 느리게 된다.


위와 같은 2차원 배열을 만들면 문자열 비교 검색을 최대 5~6회 수준에서 빨리 할 수 있고 60갑자의 순서 번호를 빨리 계산할 수 있다. (바보 앞글자, 뒷글자 숫자로 바꾼 후에 12진법으로 계산하면 바로 순서 번호 나오는데? 앞자리 x 12 + 뒷자리 = 순번) 이 순서 번호를 얻었다면 거기에 날짜 차이를 더하고 원하는 60갑자 문자열을 얻는다. 60갑자 순번은 아래 목록과 같다. 

Excel 함수 index(60갑자표, 순번, 원하는 칼럼) 하면 60갑자 검색을 빠르고 쉽게 할 수 있다.

날짜 차를 더했더니 60을 넘게 되면 -60을 해 주면 된다.

  1. 갑자
  2. 을축
  3. 병인
  4. 정묘
  5. 무진
  6. 기사
  7. 경오
  8. 신미
  9. 임신
  10. 계유
  11. 갑술
  12. 을해
  13. 병자
  14. 정축
  15. 무인
  16. 기묘
  17. 경진
  18. 신사
  19. 임오
  20. 계미
  21. 갑신
  22. 을유
  23. 병술
  24. 정해
  25. 무자
  26. 기축
  27. 경인
  28. 신묘
  29. 임진
  30. 계사
  31. 갑오
  32. 을미
  33. 병신
  34. 정유
  35. 무술
  36. 기해
  37. 경자
  38. 신축
  39. 임인
  40. 계묘
  41. 갑진
  42. 을사
  43. 병오
  44. 정미
  45. 무신
  46. 기유
  47. 경술
  48. 신해
  49. 임자
  50. 계축
  51. 갑인
  52. 을묘
  53. 병진
  54. 정사
  55. 무오
  56. 기미
  57. 경신
  58. 신유
  59. 임술
  60. 계해


자, 그러면 대량으로 음력 양력 변환을 할 수 있을 것이다. 날짜 하나씩 바꾸기 피곤하지?

일괄 변환 결과 검증용 사이트 :



이렇게 해서 1900년 ~ 2050년까지 양력 음력을 일괄 변환할 수 있게 되었다. 1900년 이전 것은? DB에서 검색하는 게 안전하고, 2050년 이후 것은? 이건 달 삭망 주기 가지고 계산해야 한다.





요즘 전 세계적으로 보수 우익이 꼴통화 된 거 같다.
왜 질이 떨어지는 대통령들이 자꾸 나오지?

미국의 막말 통령? 트럼프 ㅋㅋㅋ 어디로 튈까?

우크라이나 바지 통령? 젤렌스키는 안 해도 되는 전쟁을 하고, 분단까지 되겠네? 바보

이스라엘 극우 총리? 네타냐후도 안 해도 되는 전쟁을 하고 있네. 이슬람 옛날과 달라
여기 때리고, 저기 때리고 주변 나라를 다 적으로 만들고 있으니... 미쳤나 봐?

한국의 이명박, 박근혜(최순실), 윤석열(김건희) 도대체 이들의 정체는 뭐냐?
사기꾼이냐? 바보냐? 누가 대통령이고 누가 괴뢰傀儡냐?

이거 민주주의 국가의 위기 아닌가? 사이비 정당과 사이비 언론이 국민을 속이네? 
아니면 국민 중에 바보가 많은 것인가? 99%는 정보 부족이니 바보라고 봐야 하겠지?
이 시대 민주주의가 중우정치가 되다니? 학교 교육과 집안 교육이 문제로다.

괴ː뢰 (傀儡) 【명사】① 꼭두각시.② 망석중이.③ 허수아비.

2023년 11월 16일 목요일

4주8자 변환법, 사주팔자 모든 조합 (51만8천4백) 계산법

2024-02-07-수 수정


주의 : 음력 4주8자 → 양력 24절기 4주8자 변환 → 양력 천간지지 사용
일시는 음력 = 양력 같이 사용함 = 무조건 반복하기 때문
현재 한국은 동경시 기준이라 한국 기준으로 자정을 30분 보정
자시는 자정±1시간이라 1/2로 나눠 어제 자정과 오늘 자정으로 구분함
년월은 음력 천간지지 → 24절기 기준 천간지지로 변환
입춘이 해가 바뀌는 기준이고 24절기를 12등분 하기 때문에 음력 윤달 문제 해결
24절기 기준 결정 : 관측은 동지, 천문학에선 춘분 = 0도, 점 볼 때는 입춘 = 새해
24절기는 춘분을 기준으로 천문도에서 황도를 각도로 24등분 함
동지-하지 선은 직선, 춘분-추분 선도 직선, 동지-하지 선과 춘분-추분 선은 직각
 

4주는 년월일시, 8자는 년월일시를 60갑자 2글자로 표현한다.

사ː주―팔자 (四柱八字) [―짜]  【명사】⦗민⦘① 사주의 간지(干支)가 되는 여덟 글자.

60갑자란?

  • 10 천간 : 갑을병정무기경신임계
  • 12 지지 : 자축인묘진사오미신유술해

이 둘을 조합하면 최소공배수 60이 나온다.  


0. 계절/시간은 양력(해)과 일치, 년월일 날짜 표시는 음력(달)에 따른다.

동양은 태음태양력을 사용한다. 즉 양력(24절기) 음력(달력) 모두 사용한다. 24절기 날짜는 해(태양)을 관측해서 정한다. 그런데 날짜는 달(태음)을 관측해서 정한다. 년은 서력 기원을 넘어갈 때만 1년 오차가 있다. 기원 0년이 없기 때문이다. 기원후 1년에서 기원전 1년(0년)이 2년 차이가 아니다. +1에서 -1로 바로 넘어간다.

시간은 1일 = 동양 12시(서양 24시)로 정했기 때문에 오차가 없다. 다만 동양과 서양의 시간 차가 있을 뿐이다. 동양이 낮이면 서양은 밤이다. 동양은 대략 북경에서 일본 동경까지 정도는 같은 시간에 속한다. 우린 일본 동경 시간을 따르기 때문에 실제보단 30분 빠르다.

월은 음력이라 윤달이 필요하다. 19년마다 양력과 대략 일치한다. 1년 365일이 아니라 365.25일, 1개월은 30일이 아니라 29.5일. 29.5 x 12개월 = 354일, 365일(365.25일) - 354일 = 매년 11일(11.25일) 부족하다. 윤달 19년에 7개 넣어야 한다. 

실제 4년 x 365.25일 = 1,461일, 달력 4년 x 365일 = 1,460일, 양력도 4년에 1일 모자란다. 4년에 1일을 더해줘야 한다. 양력은 양력 대로 해에 맞추어야 하고, 음력은 음력 대로 달에 맞추어야 한다. 그래서 1년 365일과 366일이 번갈아 나오고, 음력 1달이 29일과 30일이 번갈아 나온다.

자세한 건 이 글 참고 : 역법, 양력, 음력, 달력 계산하기

윤ː년 (閏年)  【명사】⦗천⦘ 윤달이나 윤일이 든 해《태양력에서는 4년마다 한 번 2월을 29일로 하루 늘리고, 태음력에서는 5년에 두 번의 비율로 1년을 13개월로 함》.

윤ː―달 (閏―)  【명사】⦗천⦘ 윤년에 드는 달《태양력에서는 2월이 평년보다 하루 많고, 태음력에서는 평년보다 한 달을 더하여 윤달을 만듦》. 윤월(閏月).

윤ː일 (閏日)  【명사】태양력에서 윤년에 드는 날《2월 29일》. 윤날.

메톤 주기 (Meton週期)  ⦗천⦘ 기원전 433년에 그리스의 천문학자 메톤이 발견한 역법(曆法)의 순환 주기. 태음력을 태양의 주기에 맞추기 위하여 19태음년에 일곱 번의 윤달을 둠. 메톤기.

sar·os [sέərɑs/-rɔs] n.  〖天〗 사로스《일식·월식의 순환 주기: 6586.32일(약 18년)》. 


태음태양력을 사용하는 동양인은 이 모든 걸 알고 있었다. 서양력은 이집트의 달력을 로마 율리우스 카이사르가 클레오파트라와 놀면서 수입한 거다. 아쉽게도 로마는 그렇게 역법이 발달하지 않았다. 그래서 1582년 갑자기 날짜가 바뀐다.

1582년 로마 교황 그레고리우스 13세는 율리우스력을 그레고리력으로 개정함에 따라
율리우스력 1582년 10월 4일 다음 날 = 그레고리력 1582년 10월 15일
11일을 건너 뛰게 되었다는 것. 달력에서 10일이 사라진 거지. ㅋㅋㅋ 그대로 두면 계절과 안 맞게 되니까.


아래는 양음력 변환기 (일괄적으로 변환해 주는 사이트가 없다)

한국천문연구원 천문우주지식정보 : 월별음양력(한달단위변환 -59년 02월 ~ 2050년 12월)

네이버 음력양력변환(하루단위변환 1900~2037년까지)

※ 참고 : 컴퓨터의 날짜 표시는 1900년부터 시작한다. 

※ 참고 : Excel 등을 이용한 날짜 계산은 1900년 01월 01일부터 가능하다.


1. 시주 (점을 볼 때는 자정을 한반도 기준 30분 보정)

점을 볼 때 4주8자는 양력을 따른다. 일주와 시주는 태양을 기준으로 하니 음력이나 양력이나 같다. 60시간 반복하도록 만든다. 1일은 12시니 12지지이다. 그러니 앞의 10개 천간만 결정해 주면 된다. 일주의 60갑자 글자 "갑/기"일 때 첫 시각은 갑자 시이다. 시와 일은 정수배 주기를 가진다. 즉 5일 = 60시간 반복이다. 고로 60일(60갑자) 반복에 12시간 60갑자 표시가 붙으니까 일주-시주 조합은 60일 x 12시 = 720개이다. 

중국 북경에서 일본 동경까지는 1시간의 오차가 있다. 그 중간에 있는 우리 서울 시간은 일본 동경시를 따라 실제보다 30분 빠르다. 그러나 동양의 1시간은 서양의 2시간 폭이기 때문에 대략 같은 시에 속한다. 일본 동경에서 북경까지 자정 시간에 태어난 사람들은 모두 같은 자시 출생이다. 그러나 한국 자정을 기준으로 하기 때문에 같은 자시라도 어제 자시와 오늘 자시로 구분하니 태어난 날짜가 다르게 된다.


2. 일주

60일(60갑자)로 반복한다. 요일은 7일 단위로, 60갑자는 60일 단위로 무조건 계속 반복 된다. 고로 기준 일요일, 갑자일을 알면 나머진 누적 계산으로 알 수 있다. 60을 계속 더하면 갑자일이다.

  • 양력 1999년 09월 09일 = 갑자일 (9가 반복 되니 외우기 쉽다)
  • 양력 2001년 01월 01일 = 갑자일 (1이 반복 되니 외우기 쉽다)

위의 날짜에서 양력으로 ± 60 x N일 하면 그 날은 갑자일이다. 여기까진 아주 쉽다. 일과 시는 단순 반복이다. 고로 기준 갑자 일과 기준 갑자 시만 알면 된다.


3. 월주 (점을 볼 때는 음력 → 양력 변환 필요)

60개월(60갑자) 반복하도록 만든다. 음력 월은 12개월(윤달이 있으면 13개월)이니 12지지이다. 음력 윤달 경우는 월주가 붙지 않는다. 윤달을 건너 뛰고 계속 이어진다. 그럼 윤달에 태어난 사람은 월주가 없는데 사주팔자를 어떻게 보지? ㅋㅋㅋ 점을 볼 때는 24절기 기준 사주팔자로 바꾼다. 점을 볼 때는 입춘이 해가 바뀌는 기준이고, 무조건 24절기를 12등분 하기 때문에 윤달 문제는 자동 해결 된다. 음력 생일이든 양력 생일이든 만세력으로 변환하여 점을 보니 문제 없다.

년주의 60갑자가 "계/무"로 시작하는 음력 11월(동짓달)은 갑자월이다. 윤달이 빠지면 1년은 정확하게 12개월이기 때문에 이렇게 된다. 이렇게 되면 년주-월주는 일주-시주처럼 연동형이 되기 때문에 나올 수 있는 60갑자 조합은 60년 x 12개월 = 720조합이 된다.


윤달은 앞 달과 같은 숫자이며 60갑자는 붙지 않는다.

음력 월이 29.53일이라서 29일과 30일이 번갈아 나온다. 그래서 월주와 일주는 주기가 정수배로 일치하지 않는다. 중간에 윤달이 들어가면 거의 29/30일을 건너 뛰기 때문에 월주와 일주의 조합은 가능한 모든 조합이 다 나온다. 29일과 30일이 교대로 나오는 주기적 패턴도 없다. 달을 보고 관측해서 달의 주기를 이용해서 날짜를 정하기 때문이다.

1900~2050년까지(년으로 60갑자 2회, 19년 메톤 주기 7회 포함) 1866개월 음력 날 수 조사 하면, 30일 달 990개, 29일 달 874개, 전 달과 같은 날수인 달 460개 = 30일 연속 287회 + 29일 연속 173회. 달의 길이가 일정하지 않고 들쑥날쑥하니 일주와 연동이 안 된다.

  1. 평균 주기 : 29.5311158798283일 (정확한 주기보다 조금 더 길다)
  2. 삭망 주기 : 29.530588일 (정확한 주기)
  3. 29일 달/30일 달 비율 : 88.470150097627% = (30일 - 주기)/(주기 - 29일)
  4. 달력의 29/30 달 비율 : 874/990 = 88.282828...% (29일 달이 좀 모자란다)

윤달은 무중치윤법(그 달에 중기가 없으면, 윤달로 대치하라)으로 결정하기 때문에, 24절기의 날짜(양력)를 알아야 하고, 음력을 양력으로 환산하여 그 달에 중기가 포함 되어 있는지 판단해야 한다. 중기가 포함 되지 않으면 그 달은 윤달로 취급하며 앞의 달 표기(숫자)를 한 번 더 반복한다. 이 말은 음력 달력을 만들 때 이미 양력 달력을 계산해 놓고 그걸 가지고 만든다는 말이다. 먼저 24절기 날짜부터 정해야 하기 때문이다.

예) 7월 → 8월 → 윤8월 → 9월 → 10월

이런 이유로 년주&월주 조합 720가지 x 일주&시주 조합 720가지 = 518,400 조합이 가능하다.


4. 년주 (점을 볼 때는 입춘이 해가 바뀌는 기준)

60갑자로 표현한다. 즉 60년 무조건 반복이다. 기준 갑자년을 알아야 계산이 된다. 

  • 기원후 4년 (일단 4로 끝나야 한다)
  • 기원전 57년 (4 - 60 = -56년, 기원 0년이 없기 때문에 -1을 더함)
  • 1924년 - 과거 세대
  • 1984년 - 현대 세대
  • 2044년 - 미래 세대

여기서 년은 태양에 따르는 게 아니라 음력으로 계산 하기 때문에 1년이 365일이 아니다. 월과 년은 실제 주기가 일치하지 않지만, 윤달을 무시하고, 무조건 음력 12개월이 1년이라고 보면 년주 월주 주기가 정수배로 일치하게 된다. 점을 볼 때는 24절기를 무조건 12등분 하고, 입춘을 기준으로 시작하니까 년주 월주는 완전히 주기가 정수배로 일치한다.

고로 년주&월주 조합 720가지 x 일주&시주 조합 720가지 = 518,400 조합


5. 모든 조합 계산

년주 월주 연동 720개, 일주 시주 연동 720개의 주기는 서로 독립적이기 때문에 이 모든 조합의 4주8자가 가능하다. 고로 51만8천4백 조합이 가능하다. 이 조합 하나가 약 2시간 범위에 해당한다. 고로 4만3200일이고, 118년에 해당한다. 우린 약 최대 100년 정도 살기 때문에 이제 태어난 아이와 막 죽는 사람들의 나이 차이가 약 100년이니 100년 동안 겹치는 사주 팔자는 계산할 수 있겠다.

  • 80년 x 12개월 x 30일 x 12시각 = 345,600 (평균 수명 적용)
  • 100년 x 12개월 x 30일 x 12시각 = 432,000 조합 (100세 한계 수명)
  • 120년 x 12개월 x 30일 x 12시각 = 518,400 조합 (120세 한계 수명)

한국 인구 5천만이니까 평균 수명인 경우 조합을 나누면?

  • 5000만명 ÷ 345,600 조합 = 144.676명
  • 5000만명 ÷ 432,000 조합 = 115.74명
  • 5000만명 ÷ 518,400 조합 = 96.45명

100명 정도 같은 사주팔자로 태어난다는 거네? 같은 운명으로 사는 사람이 100명? ㅋㅋㅋ



그래서 결론은? 난 4주8자 안 믿는다.

4주8자에서 중요한 주기는 달과 시간이다. 이건 물리적으로 달과 해에 맞춘 것이다. 즉 달의 공전과 지구의 자전에 맞춘 것이다. 년주와 일주는 그냥 60번 반복이다. 그러데 윤달을 또 무시하고 넘어간다. 여기에 어떤 과학적 의미가 있겠는가? 달과 해가 우리에게 어떤 영향을 준다고 한다면 윤달도 의미가 있어야 한다.

점을 쳐서 나랏일 하던 때는 고대로 우리 3국 시대 전반까지다. 불교/유교가 들어온 후론 점을 쳐서 나랏일을 하지 않았다. 중세인 고려 시대만 해도 점을 쳐서 국가 일을 하지 않았다. 학문의 시대로 들어온 이 시대에 점쟁이 말에 따라 나랏일을 한다고? 차라리 진심 기도하고 잠을 자면 꿈에 뭔가 해법이 나타나기라도 하지.

점이라고 하는 건 진인사대천명盡人事待天命의 마음으로 할 거 다 하고 마지막으로 의지하는 수단이지, 이성적으로 충분히 해결할 수 있는 일임에도 점쟁이 말을 따라 이상한 짓을 하는 게 아니다. 눈 앞에 바위는 힘들어도 치우면 가능한데, 그걸 하늘에 기도해서 치우려고 하면 늙어 죽을 때까지 못 치운다.

사기꾼 전과자 점쟁이 + 사기꾼 집안 고급 술집 접대부 출신 꽃뱀 + 친일파 집안 돌대가리 검사? 뭐 하자는 거냐? 꾸리꾸리한 애들은 제발 겸손하게 살라고. 그러면 감옥 갈 일 없잖아? 정치판에 나오면 똥꼬까지 다 까발려진다고. 감옥까지 갈 각오할 정도로 권력 뽕맛이 강한가? 악인은 마지막엔 동료까지 배신한다고 악인이다. 범죄자들도 싫어하는 범죄자가 있어!

살인자, 강간범, 사기꾼

세상 모든 사람들이 싫어하는 사람이 있지. 

배신자, 간첩

사기꾼과 배신자는 동료들도 믿지 못 해서 배신하게 되지. 악인들 사이에 의리는 없지.