作者:Jollen / Yii Report 軟體工程與命理分析師
日期:2025-08-19
紫微斗數古書註解:
日月同臨官居侯伯。 日月同未命安醜侯伯之材。
意思是說,太陽與太陰同在命宮時,即形成此格局。在 Yii Report 的分析報告中,如果你的格局出現「noble.riYueTongLin」標籤時,表示你的命盤出現「日月同臨」的命格。
從演算法的設計角度,太陽與太陰同必定在丑宮與未宮「才會同宮」,所以「太陽與太陰同宮在丑宮、未入命格」的格局推論法,也可以簡化為「太陽與太陰同在命宮」即可,如此便可簡化了程式碼的實作。
以下是數學證明。
紫微星系(紫微、天機、太陽、武曲、天同、廉貞)與天府星系(天府、太陰、貪狼、巨門、天相、天梁、七殺、破軍)的排列,可以用下列的對應表來查詢(紫微星系為逆時針、天府星系為順時針):
// 紫微與天府固定對應表
const purpleToTianFu = {
'寅': '寅', '申': '申',
'丑': '卯', '卯': '丑',
'子': '辰', '辰': '子',
'巳': '亥', '亥': '巳',
'午': '戌', '戌': '午',
'未': '酉', '酉': '未'
}
由上述對應可知,可以簡化排星䂂的口訣 為:太陽 = 紫微 + 3(逆時針序列)、太陰 = 天府 + 1(順時針序列)。又因為天府相對紫微的固定落點,可以由 purpleToTianFu
查表得知,所以要讓太陽與太陰同宮,就必須滿足:
紫微 + 3 ≡ 天府 + 1(mod 12) ⇔ (天府 − 紫微) ≡ 2(mod 12)
把 purpleToTianFu
展開成「天府 − 紫微」的相對距離 Δ(以 12 宮為一圈取模)後會得到:
只有 丑、未 兩個紫微落點,天府 − 紫微 = 2
,因此太陽(紫微+3)與太陰(天府+1)會同宮。
總結上述,可得:
太陽 offset = +3
太陰 offset = +1
purpleToTianFu
令 Z
為紫微所在宮位索引、F
為天府所在宮位索引(由 F = map(Z)
給出),太陽、太陰位置分別為:
Sun = Z + 3 (mod 12)
Moon = F + 1 (mod 12)
同宮條件 Sun ≡ Moon
化簡為:
Z + 3 ≡ F + 1 (mod 12)
⟺ (F − Z) ≡ 2 (mod 12)
查 purpleToTianFu
可知 (F − Z) = 2
只在 丑、未 兩種 Z 成立,所以只有這兩個位置,使太陽與太陰必然同宮。
若要檢查命主是否有「日月同臨」的格局,就可以簡化論盤方式如下:
// 只有在 ['丑', '未'] 二宮時,才會為 true
const is_riYueTongLin = (zw) => {
const tf = purpleToTianFu[zw]
const sun = advance(zw, +3) // 紫微
const moon = advance(tf, +1) // 天府
return sun === moon
}
所以,從演算法角度看,答案不涉玄學,只是「兩個等差位移 + 一個固定對映表」在 mod-12 圈上的唯一解,剛好就落在 丑、未。
文章內容僅供參考,古人智慧博大精深,也有不同的解讀與傳承智慧。筆者才疏學淺,敬請指正。