小成图排盘库 - XiaoChengTu divination library for TypeScript/JavaScript
npm install xiaochengtu小成图排盘 TypeScript/JavaScript 库
A TypeScript/JavaScript library for XiaoChengTu (小成图) divination, implementing the traditional Chinese Yi-Jing based prediction method.
``bashnpm
npm install xiaochengtu
快速开始 / Quick Start
`typescript
import { XiaoChengTu, Trigram } from 'xiaochengtu'// 方式1: 使用卦象直接创建
const xct = new XiaoChengTu({
baseHexagram: { upper: Trigram.Kan, lower: Trigram.Li }, // 水火既济
changedHexagram: { upper: Trigram.Dui, lower: Trigram.Gen }, // 泽山咸
})
// 执行排盘
const result = xct.divine()
console.log(result)
// 输出格式化结果
console.log(xct.toString())
// 方式2: 使用数字起卦
const xct2 = XiaoChengTu.fromNumbers({
baseUpper: 6, // 坎
baseLower: 3, // 离
changedUpper: 2, // 兑
changedLower: 7, // 艮
})
// 方式3: 随机起卦
const xct3 = XiaoChengTu.random()
// 方式4: 时间起卦
const xct4 = XiaoChengTu.fromTime() // 使用当前时间
const xct5 = XiaoChengTu.fromTime(new Date('2024-01-15T10:30:00')) // 指定时间
`八卦编号 / Trigram Numbers
使用先天数:
| 数字 | 八卦 | Trigram |
| ---- | ---- | ------- |
| 1 | 乾 | Qian |
| 2 | 兑 | Dui |
| 3 | 离 | Li |
| 4 | 震 | Zhen |
| 5 | 巽 | Xun |
| 6 | 坎 | Kan |
| 7 | 艮 | Gen |
| 8 | 坤 | Kun |
API
$3
主要的排盘类。
#### 构造函数
`typescript
new XiaoChengTu(input: XiaoChengTuInput)
`#### 静态方法
-
XiaoChengTu.fromNumbers(input: NumberDivinationInput) - 从数字创建
- XiaoChengTu.random() - 随机起卦
- XiaoChengTu.fromTime(date?: Date) - 时间起卦#### 实例方法
-
divine(): XiaoChengTuResult - 执行排盘,返回完整结果
- getPalaceAnalysis(palace: Palace): PalaceAnalysis | undefined - 获取指定宫位分析
- toString(): string - 输出格式化的盘面字符串$3
#### Trigram (八卦)
`typescript
enum Trigram {
Qian = 'qian', // 乾
Dui = 'dui', // 兑
Li = 'li', // 离
Zhen = 'zhen', // 震
Xun = 'xun', // 巽
Kan = 'kan', // 坎
Gen = 'gen', // 艮
Kun = 'kun', // 坤
}
`#### Palace (九宫)
`typescript
enum Palace {
Kan = 1, // 坎宫 - 正北
Kun = 2, // 坤宫 - 西南
Zhen = 3, // 震宫 - 正东
Xun = 4, // 巽宫 - 东南
Center = 5, // 中宫 - 中央
Qian = 6, // 乾宫 - 西北
Dui = 7, // 兑宫 - 正西
Gen = 8, // 艮宫 - 东北
Li = 9, // 离宫 - 正南
}
`#### FourImages (四象)
`typescript
enum FourImages {
He = 'he', // 阖 - 向心/凝聚
Pi = 'pi', // 辟 - 离心/发散
Wang = 'wang', // 往 - 外引
Lai = 'lai', // 来 - 内引
}
`$3
`typescript
// 数字转八卦
numberToTrigram(num: number): Trigram// 生成互卦
generateMutualHexagram(hexagram: Hexagram): Hexagram
// 判断是否为八纯卦
isPureHexagram(hexagram: Hexagram): boolean
// 判断是否为同位异性卦
isOppositeHexagram(hexagram: Hexagram): boolean
// 计算中宫
calculateCenterPalace(baseHexagram: Hexagram, changedHexagram: Hexagram): Trigram
// 计算四象
calculateFourImages(skyTrigram: Trigram, earthTrigram: Trigram): FourImages
// 计算配对结果
calculateMatchResult(skyTrigram: Trigram, earthTrigram: Trigram): MatchResult
// 获取八卦中文名
getTrigramChineseName(trigram: Trigram): string
// 获取宫位中文名
getPalaceChineseName(palace: Palace): string
`示例输出
`
========================================
小成图排盘结果
========================================
本卦: 坎离
变卦: 兑艮
本互卦: 离坎
变互卦: 乾巽九宫布局:
----------------------------------------
| 兑 | 坎 | 坎 |
| 巽 | 离 | 坤 |
----------------------------------------
| 艮 | 乾 | 巽 |
| 震 | 中 | 兑 |
----------------------------------------
| 离 | 离 | 乾 |
| 艮 | 坎 | 乾 |
----------------------------------------
各宫分析:
坎宫(正北): 天盘离 地盘坎 → 吉 - 内引得配,宜守成
坤宫(西南): 天盘坎 地盘坤 → 凶 - 外引失配,奔波徒劳
...
``MIT