तिथि कसरी गणना हुन्छ (सूत्र)
(चन्द्र − सूर्य) देशान्तर ÷ १२° — र सन्धि समय निकाल्ने पुनरावृत्ति।
तिथिको सङ्ख्या — सजिलो भाग
One divisionकुनै क्षणको तिथि निकाल्न दुई सङ्ख्या चाहिन्छ — सूर्य र चन्द्रको देशान्तर — र एउटा भाग।
कोणान्तर / elongation = (चन्द्र − सूर्य) mod 360°
(Moon − Sun) mod 360°
तिथि / tithi = ⌊ कोणान्तर / 12° ⌋ + 1
उदाहरण / example:
चन्द्र / Moon = 152.4°
सूर्य / Sun = 38.1°
कोणान्तर = 114.3°
114.3 / 12 = 9.525 → ⌊9.525⌋ + 1 = तिथि 10
प्रगति / progress = 0.525 → तिथि 52.5% सकियो / 52.5% elapsedतिथिको सङ्ख्या र त्यसको प्रगति दुवै एउटै भागबाट निस्कन्छ।
engine मा यो ठ्याक्कै यसरी लेखिएको छ: TITHI_SPAN = 12.0, अनि int(elongation / TITHI_SPAN) + 1। भागको बाँकीले तिथि कति प्रतिशत बितिसक्यो भन्ने दिन्छ।
सन्धि समय — गाह्रो भाग
Binary searchपञ्चाङ्गले तिथिको नाम मात्र होइन, कहिले सकिन्छ पनि भन्नुपर्छ। यो अर्को मूल-खोज समस्या हो — तर सङ्क्रान्तिभन्दा फरक तरिकाले हल गरिन्छ।
- engine ले वर्तमान क्षणबाट `३०` घण्टाको खोज सञ्झ्याल लिन्छ — कुनै पनि तिथि यत्ति लामो हुँदैन, त्यसैले सन्धि यसभित्रै पर्छ।
- बीचको क्षणमा तिथि गणना गर्छ। उही तिथि भए सन्धि पछाडि छ; फरक भए अगाडि।
- यसरी सञ्झ्याल आधा–आधा गर्दै जान्छ — द्विआधारी खोज (binary search), बढीमा ५० पटक।
- सञ्झ्याल `६०` सेकेन्डभन्दा सानो भएपछि रोकिन्छ। त्यही सहनशीलता पञ्चाङ्गमा देखिने शुद्धता हो।
३० घण्टामा ६० सेकेन्डसम्म पुग्न झन्डै ११ पटक आधा गर्नु पर्याप्त हुन्छ (३० घण्टा ÷ २¹¹ ≈ ५३ सेकेन्ड) — त्यसैले वास्तविक पुनरावृत्ति सीमाभन्दा धेरै कम हुन्छ।
अनि दिनमा राख्ने
Sunrise ruleतिथि र त्यसको सन्धि समय भेटिएपछि अन्तिम प्रश्न बाँकी रहन्छ — आजको तिथि कुन?
उत्तर: सूर्योदयको क्षणमा जुन तिथि चलिरहेको छ, त्यही दिनभरिको तिथि। यसैले तिथि गणनाले सूर्योदय गणनालाई भर पर्छ, र सूर्योदय स्थानसापेक्ष भएकाले तिथि पनि स्थानसापेक्ष बन्छ।
दुई सूर्योदय छोयो
तिथि वृद्धि — एउटै तिथि दुई दिनमा देखिन्छ।
कुनै सूर्योदय छोएन
तिथि क्षय — तिथि पात्रोबाट हराउँछ।
यसैले “तिथि कहिले सकिन्छ” र “आजको तिथि कुन” दुई फरक प्रश्न हुन् — पहिलोको उत्तर खगोलशास्त्रले, दोस्रोको पात्रोको नियमले दिन्छ।