Lịch Can chi biện luận

Máy Antikythera từ những mảnh vụn còn sót lại được xác định là có hệ thống dây cót và bánh đà. Như vậy mặc nhiên nó có khả năng của một đồng hồ đo thời gian trong ngày. Điều đó cũng đồng nghĩa với việc nó có khả năng đếm ngày Julius để tạo dựng lịch can chi. Vậy nó bù sai số năm mặt trời như thế nào. Qua thông tin từ video:
Decoding the Heavens: The Antikythera Mechanism by Jo Marchant

Ta có thể nhận thấy cặp bánh răng đồng trục có số răng lần lượt là 63 / 249 răng. Nghĩa là một vòng 249 răng thì có 63 răng hay chu kỳ 249 năm thì bù thêm 63 ngày. Điều này đảm bảo hằng số năm mặt trời là:
365 ngày cơ bản + 63 / 249 = 365.2530120482 ngày.
Lắp hăng số này vào một đoạn code đơn giản mô phỏng việc đếm ngày và bù nhuận:
// JDN của ngày chuyển tiết Lập xuân năm 1996 – 6709 PL
const jdnLapXuanChuanngay4_2_1996GMT = 2450118.54723644; // Dữ liệu từ mô hình thiên văn VSOP và ELP-2000/82
const namPhatLichcua1996 = 6709;
const cNamMatTroi = 365.2530120482; // 365 (31 – 30 … 30 – 30) + 63 (răng) / 249 (răng) —-> Ngày jd 1 Tiết lập xuân lúc 12 giờ ở Quận Bamyan Afghanistan GMT+4:12
// nơi có pho tượng Phật cao nhất thế giới —> Thiên đỉnh Phật Giáo bảy nghìn năm trước.
const cThangMatTroi = cNamMatTroi / 12;

function JDdenPhatLich(jd, zoneT) {
const rs = [0, 0, 0]; // ngay thang nam
let jdBatDau = jdnLapXuanChuanngay4_2_1996GMT + zoneT / 24 – 1;
let jdn = jd;
let namPL = namPhatLichcua1996;
while (jdn < jdBatDau) { jdBatDau -= cNamMatTroi; namPL--; } // Nhảy lùi từng năm while (jdn - cNamMatTroi > jdBatDau) { jdBatDau += cNamMatTroi; namPL++; } // Nhảy tiến từng năm
let thangPL = 1;
while (jdn – cThangMatTroi > jdBatDau) { jdBatDau += cThangMatTroi; thangPL++; } // Nhảy tiến từng tháng
rs[0] = Math.floor(jdn – jdBatDau) + 1; rs[1] = thangPL; rs[2] = namPL;
return rs;
}

Ta có kết quả là ngày Julius 1 là ngày chuyển Tiết lập xuân lúc 12 giờ ở Quận Bamyan Afghanistan GMT+4:12. nơi có pho tượng Phật cao nhất thế giới – Thiên đỉnh Phật Giáo bảy nghìn năm trước.

Leave a Comment