四化与飞星
禄权科忌从哪来、十天干四化全表、自化与飞化怎么判断。
适合:所有人。代码与完整方法表在页尾
四化是紫微斗数里最重要的动态信息。同一张盘,四化把静态的星耀连成有方向的关系网。
四种化
| 四化 | 标识 | 常见理解 |
|---|---|---|
| 化禄 | sihuaLu | 顺遂、收获、缘起 |
| 化权 | sihuaQuan | 掌控、扩张、力度 |
| 化科 | sihuaKe | 名声、贵人、缓和 |
| 化忌 | sihuaJi | 阻滞、执着、变数 |
四化从天干来
每个天干固定指派四颗星,分别化禄、化权、化科、化忌。这是一张查表:
| 天干 | 化禄 | 化权 | 化科 | 化忌 |
|---|---|---|---|---|
| 甲 | 廉贞 | 破军 | 武曲 | 太阳 |
| 乙 | 天机 | 天梁 | 紫微 | 太阴 |
| 丙 | 天同 | 天机 | 文昌 | 廉贞 |
| 丁 | 太阴 | 天同 | 天机 | 巨门 |
| 戊 | 贪狼 | 太阴 | 右弼 | 天机 |
| 己 | 武曲 | 贪狼 | 天梁 | 文曲 |
| 庚 | 太阳 | 武曲 | 太阴 | 天同 |
| 辛 | 巨门 | 太阳 | 文曲 | 文昌 |
| 壬 | 天梁 | 紫微 | 左辅 | 武曲 |
| 癸 | 破军 | 巨门 | 太阴 | 贪狼 |
庚干化科的分歧
庚干化科历来有太阴、天府、天同等不同说法。x-iztro 采用太阴化科,与 JS iztro 一致。
algorithm 开关不改四化表 —— 中州派与默认派用的是同一张表。
要换成别的取法,走 Config 的自定义四化表:整表替换某个天干的四化,
见 Config 详解。
本命四化
排盘时用出生年干查上表,把四化标记打在对应的星上。 一张盘上的本命四化恰好四个 —— 被化的星里除了十四主星,还有文昌、文曲、左辅、右弼, 这四颗辅星一定在盘上,所以总数不会少。
运限四化
除了本命,每个运限层级还有自己的四化:大限用大限宫干、流年用流年干, 依次类推。它们叠加在同一张盘上,是运限解读的主要抓手。
返回的四颗星顺序固定为禄、权、科、忌。
飞星
宫位也有天干(宫干)。用宫干查四化表,就得到这个宫「飞出去」的四颗星, 再看这四颗星落在哪个宫 —— 这就是飞星,用来描述宫与宫之间的作用关系。
自化
如果一个宫的宫干飞出的化星,正好就落在这个宫自己里面,称为自化。
自化在解读上意味着力量在本宫内部消耗或外泄,与飞入他宫的性质不同。
在代码里怎么取
读本命四化
for p in chart.palaces:
for s in p.major_stars + p.minor_stars:
if s.mutagen:
print(f"{p.name} 的 {s.name} 化{s.mutagen}")财帛 的 武曲 化权
子女 的 太阳 化禄
仆役 的 太阴 化科
疾厄 的 天同 化忌读运限四化
h = chart.horoscope("2024-10-1", 0)
print(h.decadal.mutagen) # 大限四化的四颗星
print(h.yearly.mutagen) # 流年四化的四颗星['太阳', '武曲', '太阴', '天同']
['廉贞', '破军', '武曲', '太阳']判断类方法另有 *_keys 版本(h.yearly.mutagen_keys),判断用它。
判断某宫有没有某个四化
soul.has_mutagen(Mutagen.LU)
soul.not_have_mutagen(Mutagen.JI)飞星判断
let wealth = astrolabe.palace(Palace::Wealth).unwrap();
// 财帛宫的宫干化忌,是否落在命宫
wealth.flies_to(Palace::Soul, &[Mutagen::Ji]);soul.flies_one_of_to(PalaceName.WEALTH, [Mutagen.LU, Mutagen.QUAN])
soul.not_fly_to(0, Mutagen.JI)
places = soul.mutaged_places() # 禄权科忌各自飞入了哪个宫,长度为 4自化判断
soul.self_mutaged(&[Mutagen::Lu]); // 命宫是否自化禄
soul.self_mutaged_one_of(&[]); // 是否有任意一种自化
soul.not_self_mutaged(&[]); // 四种自化都没有self_mutaged_one_of 与 not_self_mutaged 传空即检查全部四化,
也可以只检查其中几种。
完整方法一览
| 方法 | 作用 |
|---|---|
has_mutagen(m) | 本宫是否有指定四化 |
not_have_mutagen(m) | 本宫是否没有指定四化 |
mutagen_stars(ms) | 本宫宫干在指定四化位上对应的星 |
flies_to(target, ms) | 指定化星是否全部落在目标宫 |
flies_one_of_to(target, ms) | 是否有任一颗落在目标宫 |
not_fly_to(target, ms) | 是否一颗都不落在目标宫 |
self_mutaged(ms) | 本宫是否自化指定四化 |
self_mutaged_one_of(ms?) | 本宫是否有任一自化 |
not_self_mutaged(ms?) | 本宫指定自化全无 |
mutaged_places() | 禄权科忌四星各自所在的宫 |
宫上另有 mutagen_star_keys 字段,直接给出本宫宫干化出的四颗星的标识,
顺序为禄、权、科、忌;用了自定义四化表时它也会跟着变。
空四化列表的语义不对称
这是复刻 iztro 的行为,三种编程语言一致:flies_to 在四化列表为空时返回 false,
而 flies_one_of_to 与 not_fly_to 在同样情况下返回 true。
三方四正范围内的四化判断见三方四正。