紫微斗数概念

四化与飞星

禄权科忌从哪来、十天干四化全表、自化与飞化怎么判断。

适合:所有人。代码与完整方法表在页尾

四化是紫微斗数里最重要的动态信息。同一张盘,四化把静态的星耀连成有方向的关系网。

四种化

四化标识常见理解
化禄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_ofnot_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_tonot_fly_to 在同样情况下返回 true

三方四正范围内的四化判断见三方四正

本页目录