67 lines
2.1 KiB
Python
67 lines
2.1 KiB
Python
"""사주 계산 상수 — saju-web/lib/saju-calculator.ts 의 상수와 1:1 매핑."""
|
|
|
|
HEAVENLY_STEMS = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
|
|
HEAVENLY_STEMS_KR = ["갑", "을", "병", "정", "무", "기", "경", "신", "임", "계"]
|
|
|
|
EARTHLY_BRANCHES = ["子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"]
|
|
EARTHLY_BRANCHES_KR = ["자", "축", "인", "묘", "진", "사", "오", "미", "신", "유", "술", "해"]
|
|
|
|
FIVE_ELEMENTS = {
|
|
"甲": "木", "乙": "木",
|
|
"丙": "火", "丁": "火",
|
|
"戊": "土", "己": "土",
|
|
"庚": "金", "辛": "金",
|
|
"壬": "水", "癸": "水",
|
|
"寅": "木", "卯": "木",
|
|
"巳": "火", "午": "火",
|
|
"辰": "土", "戌": "土", "丑": "土", "未": "土",
|
|
"申": "金", "酉": "金",
|
|
"子": "水", "亥": "水",
|
|
}
|
|
|
|
FIVE_ELEMENTS_KR = {
|
|
"木": "목", "火": "화", "土": "토", "金": "금", "水": "수",
|
|
}
|
|
|
|
IS_YANG_STEM = {
|
|
"甲": True, "乙": False,
|
|
"丙": True, "丁": False,
|
|
"戊": True, "己": False,
|
|
"庚": True, "辛": False,
|
|
"壬": True, "癸": False,
|
|
}
|
|
|
|
IS_YANG_BRANCH = {
|
|
"子": True, "丑": False,
|
|
"寅": True, "卯": False,
|
|
"辰": True, "巳": False,
|
|
"午": True, "未": False,
|
|
"申": True, "酉": False,
|
|
"戌": True, "亥": False,
|
|
}
|
|
|
|
# 지장간: { 지지: [본기, 중기, 여기] (없으면 생략) }
|
|
HIDDEN_STEMS = {
|
|
"子": ["癸"],
|
|
"丑": ["己", "癸", "辛"],
|
|
"寅": ["甲", "丙", "戊"],
|
|
"卯": ["乙"],
|
|
"辰": ["戊", "乙", "癸"],
|
|
"巳": ["丙", "庚", "戊"],
|
|
"午": ["丁", "己"],
|
|
"未": ["己", "丁", "乙"],
|
|
"申": ["庚", "壬", "戊"],
|
|
"酉": ["辛"],
|
|
"戌": ["戊", "辛", "丁"],
|
|
"亥": ["壬", "甲"],
|
|
}
|
|
|
|
# 본기, 중기, 여기 가중치
|
|
HIDDEN_STEM_WEIGHTS = [1.0, 0.5, 0.3]
|
|
|
|
# 상생 사이클 (목→화→토→금→수→목)
|
|
SHENG_CYCLE = {"木": "火", "火": "土", "土": "金", "金": "水", "水": "木"}
|
|
|
|
# 상극 사이클 (목→토→수→화→금→목)
|
|
KE_CYCLE = {"木": "土", "土": "水", "水": "火", "火": "金", "金": "木"}
|