1. 地支六冲
地支之间存在六组相冲关系,分别为: - 子午相冲 - 丑未相冲 - 寅申相冲 - 卯酉相冲 - 辰戌相冲 - 巳亥相冲 冲的含义:象征冲突、背离、动荡、解散与快速变动。古语有云:“冲者散也”,即表示事物趋于瓦解或突变的状态。2. 地支六合
地支之间的六种合化关系如下: - 子与丑合 - 寅与亥合 - 卯与戌合 - 辰与酉合 - 巳与申合 - 午与未合 合的含义:代表融合、协作、稳定、牵连和持久。合多主“迟”,意味着事情进展缓慢但可能持续较长时间。 优先级说明: 当命局中同时出现生克与合的情况时,应以“合”为主;若同时存在冲与克,则优先论“冲”,因为冲的力量通常强于克。1. 六冲卦
指在一个卦中,初爻与四爻、二爻与五爻、三爻与上爻的地支两两形成相冲关系,构成“六冲”格局。 常见的六冲卦共有10个,来源于八宫首卦以及两个特殊卦例: - 《乾为天》 - 《坤为地》 - 《震为雷》 - 《巽为风》 - 《坎为水》 - 《离为火》 - 《艮为山》 - 《兑为泽》 - 《天雷无妄》 - 《雷天大壮》 六冲卦的象征意义: 主冲突、破裂、突发状况、局势不稳、持续时间短。 适合用于占问:官司诉讼、疾病发作、人际纠纷等(凶事遇冲反而易化解)。 不利占问:婚姻缔结、合作项目、求财置业、建造房屋等(吉事逢冲则易失败)。 古诀记载:“近病逢冲即愈,久病逢冲即死。”说明短期病症遇到六冲反有利康复,而长期慢性病则可能因此恶化。2. 六合卦
指卦中初爻与四爻、二爻与五爻、三爻与上爻的地支两两相合,形成“六合”格局。 常见六合卦共8个: - 《地天泰》 - 《天地否》 - 《雷地豫》 - 《山火贲》 - 《地雷复》 - 《泽水困》 - 《火山旅》 - 《水泽节》 六合卦的象征意义: 主和谐、团结、安定、拖延、情感羁绊。 适合占问:婚恋关系、合作协议、签约事项、感情发展等。 不适合占问:需迅速解决的问题、摆脱困境、解除忧虑等情形(因“合”导致迟滞)。 古诀提示:“诸占皆吉,唯用神有气方验;若用神休囚,合反为绊。”意指即使卦象为合,若所用之神衰弱无力,反而会被合住成绊脚石。
package com.tarzan.maxkb4j.core.tool;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
public class Demo {
// 八卦名称及其对应的二进制表示
static String[] TRIGRAMS = {"坤", "艮", "坎", "巽", "震", "离", "兑", "乾"};
// 八宫五行归属
static final String[] GONG_FIVE_ELEMENTS = {
"坤宫:土", "艮宫:土", "坎宫:水", "巽宫:木", "震宫:木", "离宫:火", "兑宫:金", "乾宫:金"
};
// 八宫名称数组
static String[] GONG_NAMES = {
"坤宫", "艮宫", "坎宫", "巽宫", "震宫", "离宫", "兑宫", "乾宫"
};
// 六十四卦名称表(按宫排列)
static String[][] SIXTY_FOUR_GUA_NAMES = {
// 坤宫(土)
{"坤为地", "地雷复", "地泽临", "地天泰", "雷天大壮", "泽天夬", "水天需", "水地比"},
// 艮宫(土)
{"艮为山", "山火贲", "山天大畜", "山泽损", "火泽睽", "天泽履", "风泽中孚", "风山渐"},
// 坎宫(水)
{"坎为水", "水泽节", "水雷屯", "水火既济", "泽火革", "雷火丰", "地火明夷", "地水师"},
// 巽宫(木)
{"巽为风", "风天小畜", "风火家人", "风雷益", "天雷无妄", "火雷噬嗑", "山雷颐", "山风蛊"},
// 震宫(木)
{"震为雷", "雷地豫", "雷水解", "雷风恒", "地风升", "水风井", "泽风大过", "泽雷随"},
// 离宫(火)
{"离为火", "火山旅", "火风鼎", "火水未济", "山水蒙", "风水涣", "天水讼","天火同人"},
// 兑宫(金)
=== 六爻排盘 === 六爻(十进制 ):[2, 5, 7, 3, 6, 1] 六爻(二进制 ):[000010, 000101, 000111, 000011, 000110, 000001] 六爻(四象):[2, 1, 3, 1, 2, 1] 本卦:110110 卦名:兑为泽(六冲卦) 卦宫:兑宫(金) 干支:甲辰年 丙寅月 戊戌日 辛酉时
以下是六十四卦的排列结构,按八卦宫位分类整理。每个卦宫包含八个卦象,以二进制形式表示阴阳爻的变化规律。
特殊卦象列表:
public static String convert(int[] gua) {
List<String> list = Arrays.stream(gua)
.boxed()
.map(String::valueOf)
.collect(Collectors.toList());
return String.join("", list);
}
public static int[] getRandomNumbers() {
Random random = new Random();
int[] numbers = new int[6];
for (int i = 0; i < 6; i++) {
int randomNumber = random.nextInt(8);
numbers[i] = randomNumber;
}
return numbers;
}
public static List<String> toBinary(int[] numbers) {
List<String> list = new ArrayList<>();
for (Integer i : numbers) {
String binary = String.format("%3s", Integer.toBinaryString(i)).replace(' ', '0');
list.add(binary);
}
return list;
}
public static int[] toFourQuadrant(int[] numbers) {
int[] gua = new int[6];
for (int i = 0; i < numbers.length; i++) {
int yao = numbers[i];
if (yao == 0) {
gua[i] = 0;
} else if (List.of(1, 2, 4).contains(yao)) {
gua[i] = 1;
} else if (List.of(3, 5, 6).contains(yao)) {
gua[i] = 2;
} else if (yao == 7) {
gua[i] = 3;
}
}
return gua;
}
public static int[] toSixYao(int[] fourQuadrant) {
int[] gua = new int[6];
for (int i = 0; i < fourQuadrant.length; i++) {
int yao = fourQuadrant[i];
if (yao < 2) {
gua[i] = 0;
} else {
gua[i] = 1;
}
}
return gua;
}
public static String getGongFiveElement(String gong) {
for (String element : GONG_FIVE_ELEMENTS) {
if (element.contains(gong)) {
return element.split(":")[1];
}
}
return null;
}
public static String getGuaGong(String gua) {
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < SIXTY_FOUR_GUA.length; i++) {
String[] guas = SIXTY_FOUR_GUA[i];
for (String _gua : guas) {
map.put(_gua, i);
}
}
int index = map.get(gua);
return GONG_NAMES[index];
}
public static String getGuaName(String gua) {
// 确定内卦和外卦
int innerGuaIdx = getTrigram(gua.substring(0, 3));
int outerGuaIdx = getTrigram(gua.substring(3));
// 打印结果
System.out.println("内卦: " + TRIGRAMS[innerGuaIdx] + " 外卦: " + TRIGRAMS[outerGuaIdx]);
for (int i = 0; i < SIXTY_FOUR_GUA.length; i++) {
String[] gong_gua = SIXTY_FOUR_GUA[i];
for (int j = 0; j < gong_gua.length; j++) {
=== 六爻排盘 === 六爻(十进制):[0, 3, 3, 1, 3, 6] 六爻(二进制):[000, 011, 011, 001, 011, 110] 六爻(四象):[0, 2, 2, 1, 2, 2] 内卦: 巽 外卦: 巽 本卦:011011 卦名:巽为风(六冲卦) 卦宫:巽宫(木) 干支:乙巳年 戊亥月 壬子日 庚戌时
// 根据三爻的二进制字符串获取对应的八卦序号
private static int getTrigram(String binaryStr) {
return Integer.parseInt(binaryStr, 2);
}
// 匹配六十四卦名称,通过上下卦对照查找对应卦象
for (int i = 0; i < SIXTY_FOUR_GUA_NAMES.length; i++) {
if (gua.equals(gong_gua[j])) {
return SIXTY_FOUR_GUA_NAMES[i][j];
}
}
}
return null;
扫码加好友,拉您进群



收藏
