《梅花易数》3个数起卦的方式,你知道吗?
《梅花易数》3个数起卦的方式,你知道吗?
《梅花易数》是中国古代占卜法之一。现在的梅花心易就是梅花易数的别称。相传为宋代易学家邵雍所著,梅花易数起源于汉易,是一部以易学中的数学为基础,结合易学中的“象学”进行占卜的书,相传邵雍运用时每卦必中,屡试不爽。
梅花易数依先天八卦数理,即乾一梅花易数奇门遁甲排盘案例,兑二,离三,震四,巽五,坎六,艮七《梅花易数》3个数起卦的方式,你知道吗?,坤八,随时随地皆可起卦梅花易数奇门遁甲排盘案例《梅花易数》3个数起卦的方式,你知道吗?,取卦方式多种多样。我们今天讲报3个数起卦的方式。
一、思路
其实梅花易数的思路很简单,因为都是由阴阳爻构成的八卦,那么我们就用1和0代表阳阴,来定义八个卦:
__BaGua = ([1, 1, 1], [1, 1, 0], [1, 0, 1], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 0, 1], [0, 0, 0])
__ZhongWen = ('乾☰', '兑☱', '离☲', '震☳', '巽☴', '坎☵', '艮☶', '坤☷')
当我们拿到第一个和第二个数的时候,除以列表的长度就可以得出本卦中的上下卦。然后将上下卦合并梅花易数奇门遁甲排盘案例,截取列表,就能获得互卦。然后第三个数除以6之后,求出变的那个爻就可以了。
二、步骤
第一步先求上下卦和互卦:
def Num_One(self, num_one, num_two):
self.num_one = num_one - 1
self.num_two = num_two - 1
#确定上下卦开始
self.bengua_shang = self.__BaGua[self.num_one]
self.bengua_xia = self.__BaGua[self.num_two]
#确定上下卦结束
self.hugua_xia = self.bengua_xia + self.bengua_shang
#合并两个列表
self.hugua_xia = self.hugua_xia[1:4]
self.hugua_shang= self.bengua_xia + self.bengua_shang
self.hugua_shang = self.hugua_shang[2:5]
# self.hugua_xia[1:4]为互卦的下卦,self.hugua_shang[2:5]为互卦的上卦
self.__BenGuaShangGua = self.bengua_shang
self.__BenGuaXiaGua = self.bengua_xia
self.__HuGuaShangGua = self.hugua_shang
self.__HuGuaXiaGua = self.hugua_xia
第二步求变卦:
self.num_three = num_three
self.biangua_shang = self.bengua_shang
self.biangua_xia = self.bengua_xia
if 4 <= self.num_three <= 5:
self.num_three = self.num_three - 4
if self.biangua_shang[self.num_three] == 0:
self.biangua_shang[self.num_three] = 1
else:
self.biangua_shang[self.num_three] = 0
elif self.num_three == 0:
self.num_three = self.num_three + 2
if self.biangua_shang[self.num_three] == 0:
self.biangua_shang[self.num_three] = 1
else:
self.biangua_shang[self.num_three] = 0
else:
self.num_three = self.num_three - 1
if self.biangua_xia[self.num_three] == 0:
self.biangua_xia[self.num_three] = 1
else:
self.biangua_xia[self.num_three] = 0
因为0是第六爻,所以0要单独拿出来进行判定。
拿到的结果可以直接取列表里的值,就完成了整个的排盘程序
第三步,结果
D:\Python\tools\Anaconda3\python.exe D:/Python/pro/我的开发/MXJ_梅花排盘.py
请输入三个三位数:365 765 453
本卦 互卦 变卦
巽☴ 离☲ 巽☴
巽☴ 兑☱ 坎☵
Process finished with exit code 0