Chuyện là đợt vừa rồi mình với ông anh mới làm xong một dự án tìm hiểu về Tử Vi, đề bài đơn giản chỉ là từ thông tin cá nhân của một người: bao gồm tên tuổi, ngày tháng năm sinh, giới tính, giờ sinh, từ đó tìm cách lập ra được một lá số tử vi của người đó.

Nghe thì có vẻ đơn giản, nhưng mà lúc làm mình cũng phải khá mất công tìm hiểu cũng như biết được chính xác cách xác định vị trí các Sao (gọi là an sao), rồi Chính Tinh, Phụ Tinh, Tràng Sinh các thứ, rồi đến đủ loại sao Lưu, Tứ Đức, Tứ Hóa,…

Thực ra trong quá trình làm, mình thấy nó không hề khó, chỉ hơi vướng mắc chỗ logic an sao, vì mỗi phái (Nam phái, Bắc phái) lại có một cách thức, phương pháp an sao khác nhau, nên nếu sử dụng không đúng cách thức thì sẽ an sao sai và lá số lúc đó sẽ bị sai lệch, việc luận giải cũng trở nên không chính xác.

Được rồi, bây giờ mình sẽ đưa các bạn đi lần lượt tìm hiểu những thứ cơ bản nhất, sau đấy là đến cách thức lập một lá số tử vi như thế nào, còn về cách luận giải thì nó khá là khó nên mình sẽ không đề cập nó quá sâu.

Tử Vi là gì

Tử Vi là một bộ môn nghiên cứu, phỏng đoán, luận giải về tính cách, hoàn cảnh, vận mệnh của con người dựa trên căn cứ triết lý Kinh Dịch, thuyết âm dương ngũ hành, thiên can, địa chi,…

Theo quan niệm của tử vi, các yếu tố thiên văn như vị trí các hành tinh (Sao) và các khía cạnh liên quan trong biểu đồ ngày sinh của một người có thể tác động đến tính cách, sự nghiệp, mối quan hệ, gia đình, bạn bè, công việc và các sự kiện khác trong cuộc sống của họ.

Các chuyên gia tử vi có thể đọc và phân tích biểu đồ ngày sinh để đưa ra dự đoán và khuyến nghị cho một người dựa trên các yếu tố thiên văn được xem là có liên quan đó. Từ đó có thể giúp đưa ra định hướng về cuộc sống, công việc, định hình phong cách sống cho người khác được đúng đắn.

Tuy nhiên, tử vi không được coi là một khoa học chính thống và không có bằng chứng khoa học rõ ràng để chứng minh tính chính xác của nó. Nhiều người xem tử vi như một hình thức giải trí hoặc tìm hiểu về bản thân, trong khi những người khác tin rằng nó có thể cung cấp thông tin hữu ích về vận mệnh và tương lai.

Tuy nhiên xét về góc độ cá nhân thì mình thấy Tử Vi, Bát Tự (Tứ Trụ Tử Bình) thuộc những bộ môn huyền học có độ chính xác cao, và mình có khá nhiều sự tin tưởng vào bộ môn này, tuy nhiên việc ứng nghiệm một lá số vào một người còn phụ thuộc vào nhiều yếu tố: cách sống, cách nhìn nhận cuộc đời, cách đối nhân xử thế, phúc đức của người đó ở thời điểm hiện tại cũng sẽ giúp thay đổi vận mệnh của người đó.

Ở Việt Nam, mình thấy tồn tại một vài loại hình như sau:

  1. Xem Tử Vi: độ chính xác khoảng 60~70%)
  2. Xem Bát Tự (tứ trụ tử bình): (bộ môn huyền học này độ chính còn cao hơn tử vi nữa, ngày trước và bây giờ mình cũng đang ngâm cứu cái này, để có thời gian mình sẽ viết một bài khác)
  3. Các thầy bà đồng bóng xem bói, mê tín dị đoan: loại hình này bị bài xích và nghiêm cấm, tuy nhiên một bộ phận dân chúng vẫn coi đây là cái gì đó tâm linh, và bám víu vào nó.

Lá Số Tử Vi là gì

Lá số tử vi là một lá số được thành lập từ các thông tin: năm, tháng, ngày, giờ sinh của đương số, giới tính, từ đó cấu thành nên một hệ thống sơ đồ vị trí các sao, cũng như một số thông tin thêm khác nhau.

Nhờ vào đó có thể cung cấp được nhiều thông tin về vận mệnh trong tương lai của chủ nhân lá số. Những chuyển biến của các phương diện trong cuộc sống như tài lộc, tình duyên, công danh sự nghiệp, các mối quan hệ liên kết xã hội,… đều sẽ được tiết lộ qua lá số tử vi.

Dưới đây là hình ảnh một lá số mẫu:

Một lá số tử vi mẫu

Cấu trúc một lá số tử vi

Nhìn như trên hình các bạn có thể thấy, lá số tử vi được chia thành hai phần chính: Thiên Bàn ở chính giữa, và 12 ô Địa Bàn nằm xung quanh thiên bàn.

Thiên Bàn

Khu vực thiên bàn này nằm ở khu vực chính giữa của lá số tử vi, nó cung cấp các thông tin sau:

  • Dương lịch: ngày tháng năm sinh dương lịch
  • Âm lịch: ngày tháng năm sinh âm lịch
  • Giờ sinh dương lịch, giờ sinh âm lịch
  • Năm hạn: chính là năm muốn xem vận hạn (có thể có hoặc không, nếu muốn xem chi tiết năm nào thì cần thêm thông tin này)
  • Phạm giờ: tức là một người sẽ có khả năng rơi vào một vài giờ phạm như là: ví dụ như giờ quan sát hoặc kim xà thiết tỏa,…, nếu có thông tin này thì sẽ được hiển thị ở phần phạm giờ
  • Âm dương: Âm Nam, Dương Nữ, Âm Nữ, Dương Nam
  • Mệnh: dựa vào thiên can, địa chi để xác định ra mệnh, ở đây ví dụ mệnh 1989 là Đại Lâm Mộc.
  • Cục: bao gồm 5 cục sau Kim Tứ Cục, Mộc Tam Cục, Thủy Nhị Cục, Hỏa Lục Cục, Thổ Ngũ Cục
  • Cung phi: việc xác định cung phi hơi dài dòng, logic mình sẽ nói chi tiết sau, nó được cấu thành bởi các thông tin: giới tính, năm sinh âm lịch.
  • Mệnh chủ: địa chi năm sinh như nào thì mệnh chủ đó, mệnh chủ đi kèm địa chi năm sinh
  • Thân chủ: địa chi năm sinh như nào thì thân chủ đó, thân chủ cũng đi kèm địa chi năm sinh
  • Cung âm dương: sẽ có là âm dương thuận lý hoặc âm dương nghịch lý
  • Mệnh cục: sẽ có các trường hợp như là: Bản mệnh sinh cục, bản mệnh khắc cục, cục khắc bản mệnh, cục sinh bản mệnh, cục hòa bản mệnh
  • Thân cư: là vị trí của cung Thân, đây không phải là một cung cố định như 12 cung, mà là một cung ứng thêm vào một trong 12 cung trên vòng địa bàn. Ví dụ như trên hình thì cung Thân ứng vào vị trí cung THÊ THIẾP, nên ở cung THÊ THIẾP ở vòng địa bàn có một ngoặc nhỏ ghi cung THÂN màu đỏ bên cạnh

Địa Bàn

Khu vực địa bàn gồm 12 ô, ta sẽ gọi là 12 cung trên vòng địa bàn, được xác định bắt đầu từ: Tí, Sửu, Dần,…Hợi, tương ứng với các số thứ tự từ 1->12.

Vị trí của cung Tí luôn luôn nằm ở vị trí ô thứ 2 hàng dưới cùng tính từ phải sang trái, như trên ảnh lá số mẫu thì nó nằm ở cái cung Phụ Mẫu nhé các bạn, tuy nhiên các bạn nên nhớ là: việc cung phụ mẫu nằm ở cung tí như ảnh trên sẽ không liên quan gì đến việc cung phụ mẫu ở đâu thì cung tí ở đó nhé, không là sẽ bị nhầm lẫn.

Từ Cung Tí, xoay thuận chiều kim đồng hồ, sẽ ra được các cung: Sửu, Dần….Hợi, các bạn có thể xem hình dưới để dễ xác định hơn:

Vì trí mặc định của 12 cung Địa Bàn

Về cấu trúc của một cung Địa Bàn thì hoàn toàn là giống nhau, các bạn có thể xem ảnh sau để biết được một cung Địa Bàn sẽ bao gồm những thông tin gì:

Cấu trúc 1 cung địa bàn
1 cung địa bàn mẫu: ở đây là cung Tí từ lá số tử vi ban đầu

Nó sẽ cung cấp cho chúng ta những thông tin sau:

  • Tên vị trí của Cung: như ảnh trên là cung Bính Tí
  • Cung Chức: phần phía trên và chính giữa địa bàn là tên cung chức, ví dụ ở đây là Phụ Mẫu, và mỗi cung tương ứng một tên khác nhau: cung Mệnh, Phụ Mẫu, Phúc Đức, Điền Trạch, Quan Lộc, Nô Bộc, Thiên Di, Tật Ách, Tài Bạch, Tử Tức, Thê Thiếp, Huynh Đệ
  • Tên Chính Tinh: ngay phía dưới của tên cung sẽ là tên các chính tinh và đặc tính của nó: sẽ có 14 chính tinh được an vào các cung, còn đặc tính thì sẽ dựa vào sao và số thứ tự của cung để tìm ra đặc tính: M (Miếu), V (Vượng), ĐĐ(Đắc Địa), BH (Bình Hòa), H (Hãm)
  • Tên Phụ Tinh: ngay phía dưới chính tinh, sẽ là các sao phụ tinh, sẽ chia thành sao tốt và sao xấu: sao tốt bên trái, sao xấu bên phải. Các sao phụ tinh thì tùy sao sẽ có đặc tính hoặc không
  • Tên Tiểu Hạn: nằm ở vị trí dưới cùng bên trái, tiểu hạn là 1 năm
  • Tên Vòng Tràng Sinh: nằm ở chính giữa dưới cùng của cung địa bàn, bao gồm 12 sao trong vòng tràng sinh: Tràng Sinh, Mộc Dục, Quan Đới, Lâm Quan, Đế Vượng, Suy, Bệnh, Tử, Mộ, Tuyệt, Thai, Dưỡng
  • Tên Nguyệt Hạn: nằm ở góc phải dưới cùng của cung địa bàn, chính là số của tháng hạn trong năm
  • Tên Đại Hạn: số nằm ở góc phải trên cùng của cung địa bàn, đại hạn 10 năm
  • Vị trí Tuần, Triệt: đây không phải là vị trí của sao, mà nó là vị trí kẹp giữa hai cung liên tiếp nhau.

Các bạn để ý rằng là mỗi sao có màu sắc như là: xanh, đỏ, vàng, đen, xám chính là đại diện cho ngũ hành nạp âm của sao đó: ví dụ như Thiên Khôi ở hình trên có màu đỏ tức là mang ngũ hành Hỏa.

  • Màu đen: Hành Thủy
  • Màu xám: Hành Kim
  • Màu đỏ: Hành Hoả
  • Màu xanh lá: Hành Mộc
  • Màu vàng: Hành Thổ

Demo logic cách lập lá số tử vi

Ngoại trừ phần Thiên Bàn, thì việc xác định phần Địa Bàn về bản chất là tìm ra vị trí của Sao an tại vị trí nào trên vòng tròn 12 cung (đánh số từ 1->12), ở đây mình sẽ demo một vài logic an sao, vì nó khá nhiều, các phần cũng khá tương tự nhau nên làm lại sẽ không có ý nghĩa mấy

Xác định vị trí cung Mệnh

Muốn xác định được cung Mệnh ta cần dựa vào tháng và giờ sinh âm lịch. Tháng 1 trong năm bắt đầu từ cung Dần, từ đó xác định theo chiều thuận kim đồng hồ sẽ xác định được tháng sinh. Coi cung tháng sinh vừa xác định là giờ Tý, sau đó đếm ngược chiều kim đồng đến giờ sinh của bạn. Giờ sinh dừng ở đâu thì cung đó là cung Mệnh.

Lấy ví dụ cái lá số tử vi mẫu trên kia: tháng sinh âm lịch là 3, giờ sinh âm lịch là Kỷ Tỵ (số thứ tự là 6)

Rồi bây giờ xác định như sau: từ cung Dần, đi thuận theo chiều kim đồng hồ tới tháng 3, ta được cung Thìn, lúc này coi cung Thìn là giờ Tý, đếm ngược chiều kim đồng hồ tới giờ Tỵ (là giờ sinh), vậy cung Mệnh ứng tại vị trí cung Hợi trên vòng địa bàn.

Triển khai vào code như sau:

    public static int dichCung(int cungBanDau, int... args) {
        int cungSauKhiDich = cungBanDau;
        for (int soCungDich : args) {
            cungSauKhiDich += soCungDich;
        }
        if (cungSauKhiDich % 12 == 0) {
            return 12;
        }
        return cungSauKhiDich % 12;
    }

Hàm dịch cung này sẽ là tiền đề cho việc dịch cung cũng như xác định sao trong toàn bộ bài viết này, logic ở đây chỉ là dịch theo chiều thuận hoặc dịch theo chiều nghịch bao nhiêu vị trí.

    public static int validNumberCung(int viTriCung) {
        if (viTriCung < 0) {
            return 12 + viTriCung;
        }
        return viTriCung;
    }

Về bản chất việc dịch cung sẽ xảy ra case kết quả dịch cung âm hoặc dương (do dịch ngược), hàm này sẽ đảm bảo kết quả sau khi việc dịch cung hoàn tất thì kết quả vị trí cung được xác định luôn luôn là số dương.

    public static int timViTriCungMenh(int thangSinhAmLich, int gioSinhAmLich) {
        int viTri = dichCung(3, thangSinhAmLich - 1, -(gioSinhAmLich) + 1);
        return validNumberCung(viTri);
    }

Hàm này là logic chính tìm vị trí cung mệnh, bắt đầu từ cung Dần thì vị trí ban đầu sẽ là 3, sau đó dịch cung theo chiều thuận tới tháng sinh, sau đó từ vị trí mới dịch cung theo giờ để tìm được vị trí cung Mệnh.

    public static Map<Integer, String> buildMap12Cung() {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "Tý");
        map.put(2, "Sửu");
        map.put(3, "Dần");
        map.put(4, "Mão");
        map.put(5, "Thìn");
        map.put(6, "Tị");
        map.put(7, "Ngọ");
        map.put(8, "Mùi");
        map.put(9, "Thân");
        map.put(10, "Dậu");
        map.put(11, "Tuất");
        map.put(12, "Hợi");
        return map;
    }

Hàm này mục đích để in ra vị trí tên cung nhìn cho dễ :D

    @Test
    public void shouldReturnPositionCungMenh() {
        var expectedResult = 12;
        var thangSinhAmLich = 3;
        var gioSinhAmLich = 6; // Kỷ Tỵ
        int viTriCungMenh = Utils.timViTriCungMenh(thangSinhAmLich, gioSinhAmLich);
        System.out.println("[Địa Bàn] Vị trí cung Mệnh: " + viTriCungMenh + " -- cung " + map12Cung.get(viTriCungMenh));
        Assert.assertEquals(expectedResult, viTriCungMenh);
    }

Viết một hàm UnitTest để check kết quả logic

Kết quả hàm test tìm vị trí cung mệnh

Sau khi có được vị trí cung Mệnh, thuận chiều kim đồng hồ ta dịch dần từng cung một để được các cung sau: Phụ Mẫu, Phúc Đức, Điền Trạch, Quan Lộc, Nô Bộc, Thiên Di, Tật Ách, Tài Bạch, Tử Tức, Phu Thê, Huynh Đệ.

Xác định cung Thân

Về bản chất cung Thân không phải là tên một cung cố định, mà nó sẽ ứng tại vị trí của một cung trong dãy cũng: Mệnh, Phụ Mẫu, Phúc Đức, Điền Trạch, Quan Lộc, Nô Bộc, Thiên Di, Tật Ách, Tài Bạch, Tử Tức, Phu Thê, Huynh Đệ.

Xác định vị trí như sau: từ cung Dần (vị trí số 3) Coi tháng 1 là cung Dần, theo chiều thuận kim đồng hồ đếm tới tháng sinh ta được một ví trí A. Vị trí A vừa xác định được coi là giờ Tý, sau đó đếm thuận chiều kim đồng hồ đến giờ sinh của bạn. Giờ sinh dừng ở đâu thì đó là cung Thân.

Cách làm thì tương tự cung Mệnh thôi nhưng chiều dịch cung là khác nhau.

    public static int timViTriCungThan(int thangSinhAmLich, int gioSinhAmLich) {
        return validNumberCung(dichCung(3, thangSinhAmLich - 1, gioSinhAmLich - 1));
    }

Hàm này triển khai logic xác định vị trí cung Thân trên vòng tròn 12 cung.

    public List<CungChucDTO> buildListDataCungChuc(int viTriCungMenh) {
        var menh = buildCungChucDTO(viTriCungMenh, EnumCungChuc.MENH);
        var phuMau = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 1), EnumCungChuc.PHU_MAU);
        var phucDuc = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 2), EnumCungChuc.PHUC_DUC);
        var dienTrach = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 3), EnumCungChuc.DIEN_TRACH);
        var quanLoc = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 4), EnumCungChuc.QUAN_LOC);
        var noBoc = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 5), EnumCungChuc.NO_BOC);
        var thienDi = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 6), EnumCungChuc.THIEN_DI);
        var tatAch = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 7), EnumCungChuc.TAT_ACH);
        var taiBach = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 8), EnumCungChuc.TAI_BACH);
        var tuTuc = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 9), EnumCungChuc.TU_TUC);
        var theThiep = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 10), EnumCungChuc.THE_THIEP);
        var huynhDe = buildCungChucDTO(Utils.dichCung(viTriCungMenh, 11), EnumCungChuc.HUYNH_DE);
        return Arrays.asList(menh, phuMau, phucDuc, dienTrach, quanLoc, noBoc, thienDi, tatAch, taiBach, tuTuc, theThiep, huynhDe);
    }
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public final class CungChucDTO {
    private int viTriCung;
    private String tenCung;
}

Hàm trên sẽ tìm ra danh sách vị trí cung Chức từ vị trí của cung Mệnh, dùng để xác định tên cung Thân sau khi tìm được vị trí cung Thân trên vòng tròn 12 cung.

Giờ ta sẽ viết hàm UnitTest để tìm vị trí cung Thân và verify kết quả dựa vào lá số tử vi từ đầu bài viết:

    @Test
    public void shouldReturnCungThan() {
        var expectedPositionResult = 10; // vị trí cung Thân cần kiểm tra
        var expectedNameResult = "Thê Thiếp";
        var thangSinhAmLich = 3;
        var gioSinhAmLich = 6; // Kỷ Tỵ
        var viTriCungThan = Utils.timViTriCungThan(thangSinhAmLich, gioSinhAmLich); // xác định vị trí của cung Thân trên vòng 12 cung
        var cungChucs = buildListDataCungChuc(Utils.timViTriCungMenh(thangSinhAmLich, gioSinhAmLich)); // list cung chức tìm được từ vị trí cung mệnh
        var tenCungThan = Objects.requireNonNull(cungChucs.stream().filter(cung -> viTriCungThan == cung.getViTriCung()).findFirst().orElse(null)).getTenCung();
        System.out.println("[Địa Bàn] Vị trí cung Thân: " + viTriCungThan + " ---- " + tenCungThan);
        Assert.assertEquals(expectedPositionResult, viTriCungThan);
        Assert.assertEquals(expectedNameResult, tenCungThan);
    }
kết quả hàm test tìm vị trí cung Thân

Xác định Cục

Việc xác định Cục sẽ dựa vào thiên can năm sinh và vị trí của cung Mệnh, cách xác định như sau:

  • Các con số tương ứng từ thiên can năm sinh: Giáp – Kỷ = 1, Ất – Canh = 2, Bính – Tân = 3, Đinh – Nhâm = 4, Mậu – Quý = 5
  • Các con số  tương ứng với vị trí của cung mệnh: Mệnh tại Tý – Sửu = 1, tại Dần – Mão – Tuất – Hợi = 2, tại Ngọ – Mùi = 3, tại Tị – Thìn = 4, tại Thân – Dậu = 5
  • Cộng hai con số này lại, nếu lớn hơn 5 thì trừ đi 5 để ra được kết quả cuối cùng nhỏ hơn hoặc bằng 5
  • Từ kết quả cộng ở bước trên, xác định cục như sau: 1 – Kim tứ cục, 2 – Thủy nhị cục, 3 – Hỏa lục cục, 4 – Thổ ngũ cục, 5 – Mộc tam cục.

Logic thì mình thấy nó dễ quá, các bạn có thể tự xây dựng logic tính của riêng mình

    @Test
    public void shouldReturnCuc() {
        var expectedResult = "Hỏa Lục Cục";
        var viTriCungMenh = 12;
        var thienCanNamSinh = "Ky";
        var cuc = Utils.timCuc(viTriCungMenh, thienCanNamSinh);
        System.out.println("[Thiên Bàn] Tên Cục: " + cuc);
        Assert.assertEquals(expectedResult, cuc);
    }
Kết quả hàm tìm Cục

Xác định vị trí sao Tử Vi

Đoạn này các bạn để ý nhé, nó sẽ như thế này, theo như một số tài liệu trên google thì cách tìm sao Tử Vi được xác định như sau: từ cục đã tìm được ở trên và ngày sinh âm lịch mà bạn có thể xác định được vị trí của sao Tử Vi bằng cách tra các bảng bên dưới:

Thủy Nhị Cục
Mộc Tam Cục
Kim Tứ Cục
Thổ Ngũ Cục
Hỏa Lục Cục

Được rồi, đối chiếu bằng mắt thì không để làm gì cả, giờ chúng ta sẽ biểu diễn vào code thì nó như sau:

  • Thủy Nhị Cục: quy ước cục số là 2
  • Mộc Tam Cục: quy ước cục số là 3
  • Kim Tứ Cục: quy ước cục số là 4
  • Thổ Ngũ Cục: quy ước cục số là 5
  • Hỏa Lục Cục: quy ước cục số là 6

Đến đây các bạn có tự hỏi là tại sao lại có quy ước như thế không? nếu các bạn tự hỏi như này thì good chóp, xem lại 5 hình ở trên rồi suy ra nhé.

    public static int timSaoTuVi(int cuc, int ngaySinhAmLich) {
        var cungDan = 3; // Vị trí cung Dần ban đầu là 3
        var cucBanDau = cuc;

        if (!(cuc == 2 || cuc == 3 || cuc == 4 || cuc == 5 || cuc == 6)) {
            throw new RuntimeException("Số cục phải là 2, 3, 4, 5, 6");
        }

        while (cuc < ngaySinhAmLich) {
            cuc += cucBanDau;
            cungDan++;
        }

        var saiLech = cuc - ngaySinhAmLich;
        if (saiLech % 2 == 1) {
            saiLech = -saiLech;
        }
        return validNumberCung(dichCung(cungDan, saiLech));
    }

Hàm trên xác định vị trí của sao tử vi dựa vào cục số và ngày sinh âm lịch, giờ ta viết một hàm UnitTest để verify

    @Test
    public void shouldReturnPositionSaoTuVi() {
        var expectedPositionResult = 5;
        var ngaySinhAmLich = 4;
        var cucSo = 6; // Hỏa Lục Cục
        var viTriSaoTuVi = Utils.timSaoTuVi(cucSo, ngaySinhAmLich);
        System.out.println("[Địa Bàn] Vị trí sao Tử Vi: " + viTriSaoTuVi + " ---- nằm tại cung " + buildMap12Cung().get(viTriSaoTuVi));
        Assert.assertEquals(expectedPositionResult, viTriSaoTuVi);
    }
kết quả hàm tìm vị trí sao Tử Vi

Xác định vị trí các sao Chính Tinh

Sau khi đã xác định được vị trí của Sao Tử Vi ở bước trên, thì các sao chính tinh còn lại sẽ được xác định bằng việc dịch cung:

  • Sao Liêm Trinh: từ vị trí Tử Vi, dịch thuận 4 cung (tức thuận chiều kim đồng hồ)
  • Sao Thiên Đồng: từ vị trí Tử Vi, dịch thuận 7 cung
  • Sao Vũ Khúc: từ vị trí Tử Vi, dịch thuận 8 cung
  • Sao Thái Dương: từ vị trí Tử Vi, dịch thuận 9 cung
  • Sao Thiên Cơ: từ vị trí Tử Vi, dịch thuận 11 cung
  • Sao Thiên Phủ: từ vị trí cung Dần, dịch đi một giá trị là 3-vị trí tử vi (giá trị này có thể âm hoặc dương, tùy giá trị mà dịch thuận hoặc nghịch kim đồng hồ)
  • Sao Thái Âm: từ vị trí Thiên Phủ, dịch thuận 1 cung
  • Sao Tham Lang: từ vị trí Thiên Phủ, dịch thuận 2 cung
  • Sao Cự Môn: từ vị trí Thiên Phủ, dịch thuận 3 cung
  • Sao Thiên Lương: từ vị trí Thiên Phủ, dịch thuận 5 cung
  • Sao Thiên Tướng: từ vị trí Thiên Phủ, dịch thuận 4 cung
  • Sao Thất Sát: từ vị trí Thiên Phủ, dịch thuận 6 cung
  • Sao Phá Quân: từ vị trí Thiên Phủ, dịch thuận 10 cung

Xác định vị trí các sao Phụ Tinh

Phần này mình sẽ chỉ liệt kê các sao thuộc phụ tinh, chứ không nêu logic an sao nữa, vì nó quá nhiều và khá là dài dòng, về bản chất tất cả những sao dưới đây đều được coi là phụ tinh:

Đặc điểmSao
Các sao phụ tinh có vị trí cố địnhThiên La, Địa Võng, Thiên Thương, Thiên Sứ
Các sao phụ tinh thuộc vòng lộc tồnLộc Tồn, Kình Dương, Đà La, Lưu Niên Văn Tinh, Quốc Ấn, Đường Phù, Bác Sĩ, Lực Sĩ, Thanh Long, Tiểu Hao, Tướng Quân, Tấu Thư, Phi Liêm, Hỷ Thần, Bệnh Phù, Đại Hao, Phục Binh, Quan Phù
Các sao phụ tinh thuộc vòng thái tuếThái Tuế, Thiếu Dương, Tang Môn, Thiếu Âm, Quan Phù, Tử Phù, Tuế Phá, Long Đức, Bạch Hổ, Phúc Đức, Điếu Khách, Trực Phù
Các sao phụ tinh thuộc vòng tràng sinhTràng Sinh, Mộc Dục, Quan Đới, Lâm Quan, Đế Vượng, Suy, Bệnh, Tử, Mộ, Tuyệt, Thai, Dưỡng
Các sao phụ tinh thuộc tứ trợ tinhHóa Khoa, Hóa Quyền, Hóa Lộc, Hóa Kỵ
Các sao phụ tinh an theo thángTả Phù, Hữu Bật, Tam Thai, Bát Tọa, Thiên Hình, Thiên Diêu, Thiên Y, Đẩu Quân
Các sao phụ tinh an theo giờVăn Xương, Văn Khúc, Ân Quang, Thiên Quý, Thai Phụ, Phong Cáo, Thiên Giải, Địa Giải, Thiên Không, Địa Kiếp
Các sao phụ tinh thuộc nhóm chưa xác địnhĐịa Không, Lưu Hà, Thiên Trù, Thiên Khôi, Thiên Việt, Long Trì, Phượng Các, Giải Thần, Thiên Đức, Nguyệt Đức, Hồng Loan, Thiên Hỷ, Thiên Quan, Thiên Phúc, Thiên Mã, Hoa Cái, Đào Hoa, Phá Toái, Kiếp Sát, Cô Thần, Quả Tú, Hỏa Tinh, Linh Tinh, Thiên Tài, Thiên Thọ, Thiên Khốc, Thiên Hư
Các sao phụ tinh thuộc nhóm lưu niênLưu Thái Tuế, Lưu Tang Môn, Lưu Bạch Hổ, Lưu Thiên Khốc, Lưu Thiên Hư, Lưu Lộc Tồn, Lưu Kình Dương, Lưu Ðà La, Lưu Thiên Mã
Các sao phụ tinh thuộc nhóm tứ hóaLưu Hóa Lộc, Lưu Hóa Khoa, Lưu Hóa Quyền, Lưu Hóa Kỵ
Các sao phụ tinh thuộc nhóm tứ đứcLưu Phúc Đức, Lưu Thiên Đức, Lưu Nguyệt Đức, Lưu Long Đức
Các sao phụ tinh thuộc nhóm đại vận (khi cần xác định theo đại vận thì sẽ xuất hiện thêm các sao)ĐV. Văn Khúc, ĐV. Văn Xương, ĐV. Đà La, ĐV. Kình Dương, ĐV. Thiên Mã, ĐV. Lộc Tồn, ĐV. Thiên Khôi, ĐV. Thiên Việt, ĐV. Hóa Khoa, ĐV. Hóa Quyền, ĐV. Hóa Lộc, ĐV. Hóa Kỵ
Các sao phụ tinh thuộc nhóm đại vận (và vị trí của nó sẽ nằm ở góc dưới cùng bên trái của ô Địa Bàn)ĐV. MỆNH, ĐV. PHỤ, ĐV. PHÚC, ĐV. ĐIỀN, ĐV. QUAN, ĐV. NÔ, ĐV. DI, ĐV. TẬT, ĐV. TÀI, ĐV. TỬ, ĐV. THÊ, ĐV. BÀO
Các sao phụ tinh thuộc nhóm đại vận (nằm ở góc dưới cùng bên phải của ô Địa Bàn)L. MỆNH, L. PHỤ, L. PHÚC, L. ĐIỀN, L. QUAN, L. NÔ, L. DI, L. TẬT, L. TÀI, L. TỬ, L. THÊ, L. BÀO
Các sao lưu khácL. Kiếp Sát, L. Văn Khúc, L. Đào Hoa, L. Hồng Loan, L. Văn Xương, L. Thiên Khôi, L. Thiên Việt, L. Hỷ Thần
Các sao phụ tinh

Xác định Đại Hạn

Đại hạn là thời gian 10 năm (thập niên), được tính dựa theo Cục và tuổi âm. Mỗi thập niên được ghi vào một cung, bắt đầu từ cung mệnh trở đi.

Dương Nam hoặc Âm Nữ thì ghi theo chiều THUẬN, Âm Nam hoặc Dương Nữ thì ghi theo chiều NGHỊCH với quy ước như sau:

  • Thủy nhị cục bắt đầu bằng 2, rồi 12, 22, 32…102
  • Mộc tam cục bắt đầu bằng số 3, rồi 13, 23, 33… 103
  • Kim tứ cục bắt đầu bằng số 4, rồi 14, 24, 34… 104
  • Thổ ngũ cục bắt đầu bằng số 5, rồi 15, 25, 35…105
  • Hỏa lục cục bắt đầu bằng số 6, rồi 16, 26, 36…106

Xác định Tiểu Hạn

Tiểu hạn là thời gian 1 năm, được ghi theo vòng chu vi địa bàn, mỗi cung ghi một tên tiểu hạn. Nếu là Nam thì ghi theo chiều THUẬN, nếu là Nữ thì ghi theo chiều NGHỊCH.

CHI CỦA TUỔICUNG GHI TIỂU HẠN
Thân, Tý, ThìnTuất
Hợi, Mão, MùiSửu
Dần, Ngọ, TuấtThìn
Tý, Dậu, SửuMùi
Cung khởi tiểu hạn

Ví dụ: đương số tuổi Thân, ta xác định tiểu hạn như sau:

  • Nếu là Nam thì thì ghi chữ THÂN vào cung Tuất, rồi theo chiều thuận ghi DẬU vào cung Hợi … ghi TÝ vào cung Dần… tiếp tục ghi cho đến ghi MÙI vào cung Dậu.
  • Nếu là Nữ thì ghi chữ THÂN vào cung Tuất, rồi theo chiều nghịch ghi DẬU vào cung Dậu… ghi TÝ vào cung Ngọ… tiếp tục ghi cho đến ghi MÙI vào cung Hợi.

Xác định Nguyệt Hạn

Nguyệt hạn là thời gian 1 tháng, cung khởi để tính nguyệt hạn được xác định như sau:

  • Tí, Mão, Ngọ, Dậu khởi từ Sửu
  • Dần, Tỵ, Thân, Hợi khởi từ Tỵ
  • Sửu, Thìn, Mùi, Tuất khởi từ Dậu

bắt đầu từ cung tiểu hạn gọi là tháng giêng, tính theo chiều NGHỊCH đến tháng sinh, rồi từ đó tính là giờ Tý, tính THUẬN đến giờ sinh, tới cung nào thì cung đó là tháng GIÊNG của nguyệt hạn.

    @Test
    public void shouldReturnNguyetHan() {
        var expectedPositionResult = 9; // tháng giêng nguyệt hạn tại cung Thân -> lá số example
        var thangSinhAmLich = 3;
        var gioSinhAmLich = 6; // Kỷ Tỵ
        var cungKhoiNguyetHan = 6; // cung khởi nguyệt hạn
        var viTriGioTy = Utils.validNumberCung(Utils.dichCung(cungKhoiNguyetHan, -thangSinhAmLich));
        var viTriThangGieng = Utils.validNumberCung(Utils.dichCung(viTriGioTy, gioSinhAmLich));
        System.out.println("[Địa Bàn] Vị trí tháng Giêng: " + viTriThangGieng + " ---- nằm tại cung " + buildMap12Cung().get(viTriThangGieng));
        Assert.assertEquals(expectedPositionResult, viTriThangGieng);
    }
kết quả hàm tìm tháng Giêng nguyệt hạn

Xem thêm một số bài viết nổi bật