基于 AI+算法的飞盘奇门遁甲排盘系统

# 开源项目:基于 AI+算法的飞盘奇门遁甲排盘系统

> 作者:panming | 传统文化 × 现代技术爱好者

---

## 一、项目背景

奇门遁甲作为中国传统预测术之一,历史悠久。目前市面上99%的奇门排盘软件都是**转盘模式**,而**飞盘模式**——这个九星、九门、九神全动的流派——却因资料稀缺、算法复杂,几乎无人实现。

我在学习过程中翻遍《遁甲演义》《御定奇门宝鉴》等古籍,以及龙隐、元亨等论坛的老帖,发现飞盘的算法细节散落各处,没有完整的开源实现。于是,我决定自己做一个。

---

## 二、项目介绍

- **项目名称**:飞盘奇门排盘 
 

这是一个纯前端实现的奇门遁甲排盘系统,支持飞盘模式、真太阳时自动计算、AI智能分析,并且**完全开源**。

---

## 三、核心功能

### 3.1 飞盘模式(阳顺阴逆)

飞盘与转盘的核心区别:

| 模式 | 地盘 | 天盘/人盘/神盘 | 复杂度 |
|------|------|--------------|--------|
| 转盘 | 固定 | 转动 | 低 |
| 飞盘 | 全动 | 全动(阳顺阴逆) | 高 |

实现严格按照《遁甲演义》的**拆补无闰法**,确保算法准确性。

### 3.2 真太阳时自动计算

奇门遁甲要求使用**真太阳时**,而非北京时间。

系统根据用户输入的出生地经纬度,自动计算:
- 经度时差校正(每度4分钟)
- 时区处理(东八区 vs 地方时)
- 历史时区变更(民国时期等)

用户只需输入北京时间,系统自动校正为真太阳时,排盘更精准。

### 3.3 AI 分析引擎

不是简单的 prompt 套壳,而是**规则引擎 + 大模型**的两阶段设计:

```
用户提问
    ↓
状态机判断格局(击刑、入墓、值符值使…)
    ↓
大模型自然语言解读
    ↓
多轮对话追问
```

**规则引擎部分**:
- 击刑判断(庚+戊、戊+癸等)
- 入墓判断(丙墓戌、丁墓丑等)
- 值符值使定位
- 吉格凶格识别

**大模型部分**:
- 基于格局信息生成自然语言解读
- 支持多轮对话,上下文记忆
- 可追问,AI 会反问以聚焦问题

### 3.4 多系统联合

- 奇门遁甲排盘(飞盘模式)
- 八字(四柱)排盘
- 奇门 + 八字**联合分析**

### 3.5 其他特性

- 年命天干自动标注
- 响应式设计,手机、电脑都能用
- 浏览器端计算,隐私安全(数据不传服务器)
- 纯静态页面,可直接部署 GitHub Pages

---

## 四、技术实现

### 4.1 算法部分(核心难点)

飞盘排盘的难点在于古籍资料的不完备性。我对比了多个版本,整理出以下算法流程:

```javascript
// 核心排盘逻辑
function calculateQimen(birthTime, location) {
    // 1. 计算节气(拆补无闰法)
    const solarTerm = calculateSolarTerm(birthTime);

    // 2. 确定阴阳遁
    const isYang = isYangDun(solarTerm);

    // 3. 排九星、九门、九神(阳顺阴逆)
    const stars = arrangeStars(isYang);
    const doors = arrangeDoors(isYang);
    const gods  = arrangeGods(isYang);

    // 4. 推导干支
    const ganZhi = calculateGanZhi(birthTime);

    // 5. 真太阳时校正
    const trueSolarTime = adjustToTrueSolarTime(birthTime, location);

    return { stars, doors, gods, ganZhi, trueSolarTime };
}
```

**难点总结**:
- 古籍《遁甲演义》语焉不详,需要自己补全逻辑
- 现代资料互相矛盾,需交叉验证
- 节气计算涉及黄道角度,精度要求高
- 真太阳时需处理历史时区变更

### 4.2 真太阳时计算

```python
def true_solar_time(beijing_time, longitude):
    # 经度时差:每度4分钟
    time_diff = (longitude - 120) * 4

    # 真太阳时 = 北京时间 + 经度时差(分钟)
    true_time = beijing_time + timedelta(minutes=time_diff)

    return true_time
```

还需考虑:
- 夏令时(历史上有过)
- 民国时期不同地区的时区差异

### 4.3 AI 分析:状态机 + 大模型

**状态机规则示例**:

```javascript
const rules = {
    // 击刑
    jiXing: {
        '庚+戊': true, '戊+癸': true,
        '壬+戊': true, '辛+戊': true, '乙+戊': true
    },
    // 入墓
    ruMu: {
        '丙': '戌', '丁': '丑', '己': '戌',
        '庚': '未', '辛': '辰', '壬': '辰', '癸': '未'
    }
};
```

**大模型调用**:

```javascript
const prompt = `
排盘信息:${panInfo}
用户问题:${question}
请根据奇门遁甲规则,分析这个问题。
`;
const response = await callLLM(prompt);
```

### 4.4 前端架构

- **技术栈**:HTML + CSS + JavaScript(无框架)
- **计算位置**:浏览器端完成,减轻服务器压力
- **部署**:纯静态页面,可部署 GitHub Pages / Vercel
- **响应式**:支持手机、平板、电脑

---

---

## 六、为什么开源?

1. **资料稀缺**:飞盘算法散落在古籍和论坛里,希望开源后能帮到有同样兴趣的人
2. **技术探索**:传统术数有大量规则化知识,适合做知识增强系统
3. **社区共建**:一个人力量有限,欢迎 Issue / PR 共同完善

---

## 七、在线体验 & 开源地址

🔗 **在线体验(免安装)**:https://panma.site

💻 **开源地址**:https://github.com/panming-dev/mingfa-paipan

---

## 八、后续计划

1. 更多流派支持(阴盘奇门、茅山派飞盘等)
2. 历史案例库(收集经典案例,供学习参考)
3. 更深入的分析维度(财官桃花、流年运程、择日择时)
4. 移动端 App(React Native / Flutter,离线可用)

---

## 九、常见问题(FAQ)

**Q1:飞盘和转盘有什么区别?**
A:转盘地盘不动,天盘、人盘、神盘转动;飞盘九星、九门、九神全部动态,阳顺阴逆,更灵活但更复杂。

**Q2:真太阳时有必要吗?**
A:如果出生地不在东八区中央经线(120°E),真太阳时与北京时间有差异,排盘结果会不同。追求精准建议用真太阳时。

**Q3:AI 分析准确吗?**
A:AI 基于规则判断格局,解读部分基于大模型,**仅供参考**,不承诺100%准确。重要决策请线下找专业命理师。

**Q4:可以离线使用吗?**
A:目前是在线版,后续考虑出离线版(PWA 或 App)。

**Q5:支持哪些出生时间格式?**
A:公历时间(年月日时),支持 1900-2100 年。

---

## 十、结语

传统术数 + 现代技术,让古老智慧用现代方式传承。

欢迎 Star ⭐,欢迎 PR,欢迎讨论。

---

**标签**:`奇门遁甲` `飞盘奇门` `开源项目` `AI` `传统文化` `术数` `命理` `JavaScript` `前端`
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值