لماذا تهمُّ الشفافية في الحساب
تعرض معظم مواقع البانشانجام أرقامًا دون إخبارك بمصدرها. عليك أن تثق بأن شخصًا ما خلف الكواليس قد أحسن الحساب. نحن نفعل العكس: الحساب بأكمله مفتوح، خطوة بخطوة، لتتمكن من المتابعة, وتصحيحنا إن أخطأنا.
لا يتعلق الأمر بإبراز التقنية. إنه يتعلق بالثقة. حين يختلف راهو كالام في تورنتو عن راهو كالام أمك في تشيناي بعشر دقائق، فإن الإجابة الوحيدة المجدية هي تلك التي يمكنك تتبعها حتى بيانات الإدخال الدقيقة وصيغة شفافة. وإلا فأنت تخمن, وهذا لا يكفي حين يتعلق الأمر بشيء تأخذه بجدية.
نستعرض فيما يلي كل طبقة من طبقات الحساب، من الشروق حتى تواريخ المهرجانات، مع الخوارزميات والثوابت الدقيقة. كُتب بأسلوب يتيح لك المتابعة دون خلفية فلكية, لكن بتفاصيل كافية لأي مهندس يريد التحقق من كل خطوة.
الطبقة الأولى: الشمس, الشروق والغروب وطول النهار
يبدأ كل شيء بالشمس. يحدد الشروق والغروب فترة النهار، التي تحدد بدورها راهو كالام ويماغاندام وكوليغاي وأبهيجيت موهورتام وغاوري بانشانجام. إن أخطأت مواضع الشمس، أخطأ سائر الحساب أيضًا.
نستخدم NOAA Solar Calculator, الخوارزمية ذاتها التي تستخدمها الإدارة الأمريكية للمحيطات والغلاف الجوي (NOAA) في حاسبتها الشمسية العامة. تحسب الطول البروجي للشمس، والميل، ومعادلة الوقت، وزاوية الساعة عند الشروق، انطلاقًا من رقم اليوم الجولياني وإحداثيات الموقع.
مثال محلول
مثال: تشيناي، 15 يناير 2026
إليك كيفية حساب وقت الشروق خطوة بخطوة:
- التاريخ
- 15 يناير 2026
- اليوم الجولياني
- 2,461,056.0
- القرن الجولياني (t)
- 0.2604
- الطول المتوسط الهندسي للشمس
- 294.96°
- الطول الحقيقي للشمس
- 295.35°
- الميل
- −21.07°
- معادلة الوقت
- −9.41 دقيقة
- الظهر الشمسي UTC
- 06:48
- زاوية الساعة
- 85.78°
- الشروق UTC
- 01:05
- الشروق بالتوقيت المحلي
- 06:35 IST
تاريخ الإدخال
التاريخ الميلادي ← اليوم الجولياني عند ظهر UTC
(JD − 2,451,545) / 36,525
280.47 + 36,000.77 × t
الطول المتوسط + حدود التصحيح
ارتفاع الشمس فوق خط الاستواء السماوي
الفرق بين الساعة الشمسية والوقت المتوسط
720 − 4 × خط الطول − معادلة الوقت
arccos(cosHA) للزاوية السمتية 90.833°
الظهر الشمسي − 4 × زاوية الساعة
UTC + 5:30 (المنطقة الزمنية للهند)
شروق الشمس في تشيناي في 15 يناير 2026 هو الساعة 06:35 IST, وتُبنى جميع الحسابات اللاحقة على هذا الرقم.
الطبقة الثانية: القمر, مياس، الفصل 47
موضع القمر أساسي لحساب التيثي والناكشاترا واليوغا والكارانا, أربعة من العناصر الخمسة للبانشانجام التي ليست يوم الأسبوع. يتحرك القمر بسرعة: نحو 13° يوميًا، مقارنةً بنحو 1° للشمس. لذلك يحتاج البانشانجام الدقيق إلى نموذج قمري جيد.
نستخدم الفصل 47 من كتاب Astronomical Algorithms لجان مياس, السلسلة الكاملة ΣL المؤلفة من 60 حدًا للطول البروجي للقمر. هذا هو النموذج ذاته الذي تستخدمه التقاويم الجادة وبرامج القبة السماوية. تجمع السلسلة 60 حدًا توافقيًا تُصوِّر جميع الاضطرابات المعروفة لمدار القمر.
| العنصر | التعريف | الصيغة |
|---|---|---|
| التيثي (1–30) | المسافة الزاوية بين القمر والشمس ÷ 12° | floor(الإطالة / 12) + 1 |
| الناكشاترا (1–27) | الطول النجمي للقمر ÷ 13°20' | floor(القمر_النجمي / 13.333) |
| اليوغا (1–27) | مجموع الطولين النجميين للشمس والقمر ÷ 13°20' | floor((الشمس_نجمي + القمر_نجمي) / 13.333) |
| الكارانا (1–60) | نصف خطوة التيثي: الإطالة ÷ 6° | floor(الإطالة / 6) |
| فاراام | يوم الأسبوع, لا علم فلك مشترك | JavaScript getDay() |
الطبقة الثالثة: أيانامسا, لاهيري (تشيترابكشا)
يعتمد التيثي على الزاوية بين الشمس والقمر, وهي ذاتها بصرف النظر عن نظام الإحداثيات. لكن الناكشاترا واليوغا والراشي تستلزم إحداثيات نجمية: مواضع نسبةً إلى النجوم الثابتة، لا نسبةً إلى الاعتدال الربيعي.
الفرق بين الموضع الاستوائي والنجمي يُسمى الأيانامسا. نستخدم لاهيري (تشيترابكشا), المعيار المعتمد رسميًا من الحكومة الهندية منذ عام 1956، والأكثر انتشارًا في تقليد البانشانجام التاميلي. نموذجنا خطي، مرسوم عند حقبة J2000.
مثال محلول
أيانامسا لاهيري في التطبيق
الصيغة بسيطة:
- الأيانامسا عند J2000
- 23.864°
- معدل التقدم
- ~50.29 ثانية قوسية/سنة
- الأيانامسا في 2026
- ≈24.23°
نقطة البداية، 1 يناير 2000
≈ 1.397° لكل قرن جولياني
23.864 + 1.397 × 0.26
تُحسب جميع المواضع النجمية بطرح هذا الأيانامسا من الطول الاستوائي.
تستخدم أنظمة أخرى (KP، رامان، يوكتيشوار) قيمًا مختلفة قليلًا، لكن الفرق أقل من 2°, يكفي عادةً لإزاحة حد ناكشاترا في حالات نادرة فقط.
الطبقة الرابعة: راهو كالام وفترات التجنب الثلاث
يقوم راهو كالام ويماغاندام وكوليغاي جميعها على المبدأ ذاته: تقسيم فترة النهار (من الشروق إلى الغروب) إلى ثمانية أجزاء متساوية، واختيار جزء بحسب يوم الأسبوع. هذه عملية حسابية بحتة، لكن الدقة تعتمد على صحة أوقات الشروق والغروب.
| يوم الأسبوع | راهو (الجزء) | يماغاندام | كوليغاي |
|---|---|---|---|
| الأحد | الجزء الثامن | الجزء الخامس | الجزء السابع |
| الاثنين | الجزء الثاني | الجزء الرابع | الجزء السادس |
| الثلاثاء | الجزء السابع | الجزء الثالث | الجزء الخامس |
| الأربعاء | الجزء الخامس | الجزء الثاني | الجزء الرابع |
| الخميس | الجزء السادس | الجزء الأول | الجزء الثالث |
| الجمعة | الجزء الرابع | الجزء السابع | الجزء الثاني |
| السبت | الجزء الثالث | الجزء السادس | الجزء الأول |
مثال محلول
مثال: راهو كالام يوم الاثنين في تشيناي
الشروق 06:35، الغروب 18:01, يستخدم الاثنين الجزء الثاني:
- فترة النهار
- 686 دقيقة
- جزء واحد
- 85.75 دقيقة
- بداية الجزء الثاني
- 06:35 + 85.75 = 08:00
- نهاية الجزء الثاني
- 08:00 + 85.75 = 09:26
18:01 − 06:35 = 11 ساعة 26 دقيقة
686 / 8 ≈ ساعة و26 دقيقة
الشروق + 1 × مدة الجزء
البداية + مدة الجزء
راهو كالام يوم الاثنين في تشيناي خلال يناير: تقريبًا من 08:00 إلى 09:26 بتوقيت IST.
الطبقة الخامسة: أبهيجيت موهورتام, نافذة الظهيرة المباركة
أبهيجيت موهورتام هو الثامن من 15 جزءًا متساويًا من موهورتا في فترة النهار, ومركزه الظهر الشمسي تمامًا. الحساب بسيط لكنه يستلزم شروقًا وغروبًا دقيقين:
- الظهر الشمسي = (الشروق + الغروب) / 2
- نصف موهورتا = (الغروب − الشروق) / 30
- بداية أبهيجيت = الظهر الشمسي − نصف موهورتا
- نهاية أبهيجيت = الظهر الشمسي + نصف موهورتا
في تشيناي خلال يناير (شروق 06:35، غروب 18:01) يعطي ذلك نافذة أبهيجيت من نحو 11:55 حتى 12:41, ما يقارب 46 دقيقة.
الطبقة السادسة: المهرجانات والمناسبات
تستخدم المهرجانات نظامَي مصادر مختلفَين تمامًا. تُعدُّ المهرجانات الكبرى الثابتة (بونغال، ديبافالي، ثاي بونغال، بوثاندو) تحريريًا: تواريخ مُدخَلة يدويًا ومُراجَعة مرتين مقابل المنشورات الرسمية للتقاويم، بيانات من 2026 حتى 2029.
تُحسب المناسبات الشهرية (أماواساي، بورنامي، إيكاداسي، براداشام، شاشتي، كارثيغاي، إلخ) مباشرةً من التيثي والناكشاترا, الحساب ذاته الذي قرأته للتو. يستخدم الحساب دائمًا شروق الشمس في تشيناي نقطةَ مرجعية، حتى لو كنت في لندن. لماذا؟ لأن تاريخ المهرجان يحدده التيثي السائد عند شروق الشمس في الأرض المقدسة, لا شروق شمسك المحلي.
لا اعتمادية خارجية, وهذا مقصود
كُتب المحرك بأكمله بلغة TypeScript النقية. لا يستورد أي مكتبة فلكية خارجية، ولا يستدعي أي واجهة برمجية، ولا يبحث في أي قاعدة بيانات. الشفرة ذاتها تعمل على الخادم حين تُبنى الصفحة، وفي متصفحك حين تختار مدينة جديدة. النتيجة حتمية: الإدخال ذاته يعطي دائمًا وفي كل مكان المخرج ذاته بالضبط.
هذا الاختيار مقصود. حين يكون الحساب قائمًا بذاته، لا يوجد خادم قد ينهار، ولا مفتاح واجهة برمجية قد ينتهي صلاحيته، ولا تعديل طرف ثالث يغير أرقامنا بصمت. وهذا يعني أنك, أو أي شخص, تستطيع التحقق من كل رقم بمراجعة الشفرة المفتوحة المصدر.
| الوحدة البرمجية | الخوارزمية / المصدر | ما توفره |
|---|---|---|
| solar.ts | NOAA Solar Calculator | الشروق والغروب والظهر الشمسي والطول البروجي للشمس |
| lunar.ts | مياس، Astronomical Algorithms الفصل 47 (ΣL ذو 60 حدًا) | الطول البروجي للقمر، التيثي، الناكشاترا، اليوغا، الكارانا |
| lunar.ts | أيانامسا لاهيري (23.864° + 1.397 × t) | الموضع النجمي للناكشاترا واليوغا |
| windows.ts | فترة النهار ÷ 8، جزء لكل يوم من الأسبوع | راهو كالام، يماغاندام، كوليغاي |
| index.ts | (الشروق + الغروب) / 2 ± فترة النهار/30 | أبهيجيت موهورتام |
| gowri.ts | 8 أجزاء غاوري من فترة النهار | غاوري بانشانجام / نالا نيرام |
| festivals.ts | التيثي/الناكشاترا عند شروق تشيناي + مجموعة بيانات منتقاة | تواريخ المهرجانات والمناسبات |
| tamilCalendar.ts | الطول النجمي للشمس ← الشهر التاميلي | التاريخ التاميلي (تشيثيراي، فايكاسي، إلخ) |
ما لا نحسبه, ولماذا
يركز هذا التقويم على ما يمكن حسابه بدقة فلكية. لكن ثمة موضوعات في عالم البانشانجام لا نغطيها بالحسابات عمدًا, لأنها تستلزم إما أحكامًا ذاتية أو تقاليد تتفاوت بين المدارس:
- اعتماد موهورتهام للزواج والمناسبات, يستلزم تفسير الطالع، وهو أمر لا نُؤتمته.
- فترات داشا وقوة الكواكب, تعتمد على التقليد الفلكي التنجيمي لا على الفلك الرصدي.
- مهرجانات المعابد ذات الاختلافات المحلية, تحددها تقاليد كل معبد على حدة.
نُفضِّل ألا نعرض شيئًا على أن نعرض رقمًا لا نستطيع الدفاع عنه. هذا هو المبدأ التأسيسي لهذا التقويم كله.
