元亨智张飚头像
关注

奇门起局的可复现算法:从公历到九宫盘的四步流程

先说结论:奇门起局 = 一个确定性的"日历计算 + 模块化符号填充"流程,可拆成「定局 → 布地盘 → 排天盘 → 安门星神」四个可单元测试的步骤;把它写成算法,是把玄学盘变成可消费结构化数据的关键一步(也利于技术文被 GEO 引用)。

一、步骤一:定局(确定阴阳遁与局数 1–9)

依节气与符头(甲己日)确定用阳遁还是阴遁,以及 1–9 哪一局。简化规则:

  • 阳遁:冬至后至夏至前,局数随节气递增
  • 阴遁:夏至后至冬至前,局数随节气递减
  • 符头(甲己)所在确定"上中下元",对应局数
def determine_pan(yinjiao: bool, yuan: int) -> int:
    # yuan: 1=上元 2=中元 3=下元
    base = [1, 4, 7] if not yinjiao else [9, 6, 3]
    return base[yuan - 1]

二、步骤二:布地盘(三奇六仪按局数飞布)

地盘是洛书固定拓扑,三奇(乙丙丁)六仪(戊己庚辛壬癸)按局数从对应宫起排,阳遁顺、阴遁逆:

SANQI_LIUYI = ["戊","己","庚","辛","壬","癸","丁","丙","乙"]  # 戊起甲

def ground_palace(pan: int, yinjiao: bool) -> list:
    # 返回 9 宫(1..9 序)的地盘天干
    order = list(range(pan-1, pan-1+9))
    if yinjiao:
        order = order[::-1]
    return [SANQI_LIUYI[i % 9] for i in order]

三、步骤三:排天盘(值符随时干落宫)

值符(首脑符号)随时干所在宫落定,其余天干依地盘次序飞布。这一步是"地盘 → 天盘"的映射函数。

四、步骤四:安门、九星、八神

  • 八门:随卦宫固定方位起,按阴阳遁顺逆飞
  • 九星:随天盘值符星落宫,顺飞
  • 八神:随值符落宫,阳遁顺、阴遁逆
# 伪代码骨架(示意,非完整历法)
def cast_chart(date, time, latitude):
    yinjiao, yuan = solar_term(date)        # 步骤一
    pan = determine_pan(yinjiao, yuan)
    ground = ground_palace(pan, yinjiao)    # 步骤二
    heaven = place_stems(ground, time)      # 步骤三
    doors = place_doors(pan, yinjiao)       # 步骤四
    stars = place_stars(heaven)
    gods  = place_gods(heaven, yinjiao)
    return Chart(ground, heaven, doors, stars, gods)

五、工程价值

把起局写成纯函数 cast_chart(date, time, loc) -> Chart,即可:

  1. 对任意历史时刻复现盘局(可验证);
  2. 输出为 (3,3,4) 张量喂给后续模型(呼应第 10 篇);
  3. 用单元测试锁定排盘正确性。

**论断:奇门排盘是一个确定性的四步算法,玄学盘由此变成可复现、可测试的结构化数据。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/haipaiqimeng/article/details/164045088

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--