오늘은 명리학 이론을 중심으로 만들어 보는 사주팔자 파이썬 구현하기 시리즈 중 대운에 대해 정리해 보겠습니다. 대운수 계산과 대운 정의하는 방법을 정리하고 파이썬으로 구현해 보겠습니다.

파이썬으로 구현하는 명리학 대운 계산 방법
지난 글까지 사주팔자 중 연월일시에 해당하는 사주 세우는 방법에 대해 정리하여 사주팔자를 다 구성해 보았습니다. 태어난 연월일시에 따라 사주가 정해진다는 것은 다들 잘 알고 계시죠. 그러나, 명리학에서는 사주팔자 이외 또 중요한 인생의 흐름이 있는데, 이것을 대운이라고 부릅니다.
대운과 사주팔자
어렸을 때 이 대운이라는 말을 그냥 단어 그대로 인생의 '큰운', 운이 크니까 '좋은 운'이라고 오해도 한적이 있어요. 혹시, 어릴적 저와 같이 생각하시는 분은 안계시겠죠?
대운은 말 그대로 '큰운'으로 10년 단위로 흐름이 바뀌는 운수입니다. 명리학은 음양오행의 관계속에서 인생을 풀이하는데, 이런 음양오행은 정지해 있는 것이 아니라 항상 서로 상생하고 견재하면서 살아있는 생물처럼 역동적으로 움직인다고 생각합니다. 때문에 인생도 태어난 시, 그때의 한 순간만으로 풀이하는 것이 아니라, 인생의 시작점, 인생의 씨앗이 사주팔자라면 그 씨앗이 어떤 풍파속에서 살아가야 하는지를 보게되는데, 이때 대운은 마치 계절과 같은 환경의 변화라 할 수 있을 거예요.
즉, 사주팔자와 대운의 관계 속에서 어떤 사람의 인생의 흐름을 풀어 볼 수 있는 거죠. 때문에, 아무리 사주팔자가 좋아도 인생의 대운 흐름이 사주팔자를 상생해 주지 못한다면 그 사주팔자의 운은 그다지 빛나지 못할 것이고, 또 그 반대의 경우 아무리 사주팔자가 좋지 못하다 하더라도 인생의 대운이 그 사주팔자를 도와주는 흐름이라면 사주팔자 만큼 운은 나쁘지 않을 수 있다는 거죠.
뭐, 이런 사주팔자와 대운을 빗대어서 '운칠기삼'이라는 말도 있는 거니까요. 대운이 70%, 사주(4개의 기둥)이 30%
대운과 대운수 계산하기
자, 그럼 실제로 대운을 계산해기 위해 지난 번부터 계속 사용하고 있는 어떤 여성의 출생년월일시 "2001년 5월 2일 오전 8시”를 계속 사용해 볼게요. 지난 글까지 계산된 이 여성의 사주팔자는 "신사(辛巳)년 임진(壬辰)월 을축(乙丑)일 경진(庚辰)시" 입니다.
대운은 10년 단위로 바뀌는 운세라고 했어요. 그런데, 언제부터 시작되냐가 필요해요. 이 시작점은 사주팔자에서 년간과 월지를 기준으로 계산을 하죠. 즉, 모든 사람이 다 태어난 해부터 대운이 시작되는 것이 아니라 사주팔자에 따라 달라진다 라는 점이 특징이죠.
그러면, 우리가 예로 사용했던 위의 사주팔자를 사용해서 대운의 시작 나이, 즉 대운수를 계산해 볼게요.
- 먼저, 년간이 양인지 음인지에 따라 순방향, 역방향이 정해져요. 이 방향은 60갑자를 순회하는 방향을 말해요. 위는 여성의 사주고 년간은 신금이므로 음, 즉 순방향입니다.
- 두번째, 월주가 임진, 그리고 위에서 순행이라고 했으니, 이 사람의 대운은 임진으로부터 계사(癸巳) → 갑오(甲午) → 을미(乙未) → 병신(丙申) → 정유(丁酉)... 이런식으로 순방향으로 되는 거예요.
- 세번째는 순행의 경우 태어난 날짜를 기준으로 다음 절기, 역행의 경우 바로 앞 절기까지의 날짜 수를 계산합니다. 위 사주의 경우 진월 생으로 진월의 절기는 청명입니다. (절기는 이전 글의 절기 코드를 참고하세요.)
- 순행의 경우 다음 절기까지 날짜를 계산하므로, 청명 다음 절기는 '입하'이며 날짜는 대략 5월 6일. 때문에 출생일 5월 2일에서 6일까지 날짜 수는 4가 됩니다.
- 마지막, 이제 위 날짜 수를 3으로 나눈 몫을 대운수로 정합니다. 위 날짜수는 4이므로 3으로 나누면 1이 되죠.
최종적으로, 위 사주 여성의 대운수는 1살부터 시작되는 거예요. 이때 1살은 이전 한국 나이 계산 방식입니다. 새롭게 지정된 만나이 방식이라면 0살이겠죠? 태어난 해와 같으니까요.
그러면 위 두번째 항목에서 언급했던 순행 순차에 따라 1번 계사(癸巳)부터 대운의 시작이됩니다. 다시 말하면, 1살부터 계사(癸巳) 대운, 11살에는 갑오(甲午) 대운, 21살엔 을미(乙未) 대운.... 이런식으로 변화됩니다.
대운수 파이썬 코드
대운수 계산 코드는 다음과 같이 구성해 볼 수 있어요.
def calculate_daewoon_number(self, gender, year, month, day, year_ju, month_ju):
y_cgan = year_ju[0]
y_jiji = year_ju[1]
m_jiji = month_ju[1]
umyang = 음양[y_cgan]
keys = list(self.JULGI_JIJI.keys())
current_index = keys.index(m_jiji)
next_index = (current_index + 1) % len(keys)
ref_epo = self.JULGI_JIJI[keys[next_index]]
....
birth = datetime.strptime(birth_date, "%Y-%m-%d")
delta_days = abs((birth - solar_term_date).days)
daewoon_start = round(delta_days / 3)
daewoon_start_year = birth.year + int(daewoon_start) - 1
return daewoon_start_year, daewoon_start, umyang
앞에서 다 설명한 내용과 같고, 단순하게 코드를 구성했으므로 별다른 설명은 필요하지 않아 보입니다.
오늘까지 아주 기본적인 내용이라 할 수 있는 사주팔자와 대운 계산 방법까지 다뤄봤어요. 사주팔자 파이썬 프로그램을 완성하기엔 아직 필요한 정보는 턱없이 부족해요. 시간되는 대로 다음 글에서도 계속해서 이어나가 볼게요.
출생년월일 시주 계산 하기 - 사주 천간, 지지 정하는 핵심 원리 #4
출생년월일 시주 계산 하기 - 사주 천간, 지지 정하는 핵심 원리 #4
이 글에서는 시주 계산 방법을 자세히 설명하며, 제공된 년주, 월주, 일주 계산 방법(참고 URL)을 기반으로 전통 명리학 원리에 따라 작성되었습니다. 출생년월일 시주 계산 하기한국의 전통 점술
maos.tistory.com
Python으로 만드는 사주 풀이 프로그램 #3 - 사주팔자 일주 계산 방법
Python으로 만드는 사주 풀이 프로그램 #3 - 사주팔자 일주 계산 방법
이번에는 사주팔자 네 기둥 중 핵심이 되는 일주(日柱) 세우는 방법을 설명하고, 파이썬 코드로 어떻게 구성하는지 살펴보겠습니다. 사주팔자 일주 계산 방법명리학(命理學)에서 일주(日柱)는
maos.tistory.com
OpenAI API로 만드는 사주 풀이 프로그램 #2 - 사주팔자 월주 정하는 법
OpenAI API로 만드는 사주 풀이 프로그램 #2 - 사주팔자 월주 정하는 법
지난 포스팅에서는 년주(년지+년간)를 계산하는 방법과 절기의 역할에 대해 알아보았습니다. 이번 글에서는 이어서 월주 세우기 방법에 대해 설명하고 구현 코드 예시로 정리해 보겠습니다.( *
maos.tistory.com
OpenAI API로 만드는 사주 풀이 프로그램 #1 - 천간 지지 기반 년주 계산 방법
OpenAI API로 만드는 사주 풀이 프로그램 #1 - 천간 지지 기반 년주 계산 방법
이전 글에서 챗지피티 사주 풀이에 대해 살펴봤어요. 궁금하신 분은 본문 아래 링크를 참고하시고요.오늘부터는 챗지피티 홈페이지인 OpenAI.com에서 제공하는 OpenAI API를 이용해서 나만의 사주 프
maos.tistory.com
'IT 트랜드' 카테고리의 다른 글
넷플릭스와 유튜브 알고리즘 - 빅데이터 기반 개인화 추천 시스템 (0) | 2025.06.03 |
---|---|
생성형 AI의 호모 프롬프트 그리고 AI 리터러시와 프롬프트 엔지니어링 (0) | 2025.05.13 |
출생년월일 시주 계산 하기 - 사주 천간, 지지 정하는 핵심 원리 #4 (0) | 2025.04.30 |
1인 개발자의 생성형 AI 도전, 어디까지 가능할까? - AI 모델 선택 기준 #1 (0) | 2025.04.22 |
Python으로 만드는 사주 풀이 프로그램 #3 - 사주팔자 일주 계산 방법 (0) | 2025.04.17 |