파이썬 소스코드를 웹에서 실행해볼 수 있는 사이트 클릭
위 사이트에 가서 아래 소스코드를 왼쪽창에 붙여 놓고 Run 버튼을 누르면 실행가능
import math
회귀일 = 365.2421896698
삭망일 = 29.5305888531
범위년 = 100000
오차최소 = 회귀일
회귀횟수 = 1
삭망횟수 = 1
print( f'{"years":>8}{"l-mons":>8}{"leaps":>8}{"days( error )":>15}\n' )
while 회귀횟수 < 범위년:
오차일 = 회귀일 * 회귀횟수 - 삭망일 * 삭망횟수
오차제곱 = 오차일 * 오차일
if 오차제곱 < 오차최소:
오차최소 = 오차제곱
print( f'{회귀횟수:8}{삭망횟수:8}{삭망횟수-회귀횟수*12:+8}{math.sqrt( 오차제곱 ):15.8}' )
회귀횟수 += 1
삭망횟수 += 12
else:
if 오차일 < 0:
회귀횟수 += 1
else:
삭망횟수 += 1
* 주의 파이썬은 소스코드 들여쓰기를 맞춰야 한다. ( 나는 4칸 단위로 매줄 앞에 띄우고 있음 )
* 소스코드는 가능한 초보자가 보기 편하게 작성했기에 성능 최적화를 그닥하진 않음
파이썬의 장점은 별도의 번역작업없이 간단히 실행해볼 수 있으며( 인터프리터 언어 )
유니코드를 함수명이나 변수명에 사용할 수 있어, 한글이나 외국어, 특수문자도 쓸 수 있다는 것
컴퓨터에서 돌아가는 IDE 를 설치하면( pycharm 등 )
텐서플로우나 keras, pytorch등 인공지능 모듈을 붙여서 쓰기도 좋고
다른 사람들이 만든 자연언어 처리 모듈을 가져다 쓰기도 쉬운편이다.
맛보기 소개.
명리는 양력을 사용한다.
1년을 12달로 나누어 달의 공전주기와 비슷하게 사용하고는 있지만,
그믐과 보름( 삭망 )으로 나뉘는 달의 주기와 조금씩 차이가 있어서
달의 조석력에 의한 영향을 인간사에 반영하는 것에는 한계가 있다.
부모 세대에서 흔히 사용하던 음력은( 사실 태음태양력 ) 양력에 달의 공전을 반영하고 있고,
양력과 주기가 맞지 않는 부분을 해소하기 위해 두 가지 원칙을 적용한다.
19년 7윤법 :
- 메톤주기( BC 5세기 그리스의 메톤이 달의 주기와 태양의 주기를 맞추기 위해 만든 주기 )
- 19년 동안 7번의 윤달을 두어 맞추는 방법
무중 치윤법 :
- 양력 24절중에서( 황경 15도 구분 ) 중기가 들지 않은 달은 윤달로 두어 잉여달로 본다.
- 정기법에서는 여름의 날 수가 많아 여름에 윤달이 드는 경우가 잦다.
위의 프로그램의 실행결과는
1년과 실제 12달의 기간 사이 약 11일의 차이가 있음을 보여주고,
왜 19년에 7번의 윤달을 넣게 하는가를 보여주는 것이고,
334년이나, 1021년 주기를 사용할 경우 오차를 훨씬 줄일 수 있음을 보여준다.
태양의 궤적인 황도 에서의 각도를( 황경 ) 사용하는 의의는 중력의 영향을 가장 높이 평가하는 것이고
달의 궤적인 백도 에서의 각도를( 백경? ) 사용하는 의의는 중력의 합과 조석력을 이야기하는 것이다.
중력은 질량을 거리의 제곱으로 나눈것에 대한 식이라
태양계에서 가장 무거운 태양이 큰 영향을 미치는데,
조석력은 질량을 거리의 세제곱으로 나눈것에 대한 식이라
가장 가까운 달이 큰 영향을 미치게 되기 때문이다.
비유하자면 양력은 강체역학과 열역학을, 음력은 거기다 유체역학을 포함시키는 해석이 가능하다.
지구도 지표면 70% 이상이 바다로 덥혀있고, 사람의 몸도 그에 준한 정도의 물로 이루어져 있다.
전문적으로 역법을 연구하려는 사람들에게 참고가 되기를.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.