गणना में पारदर्शिता क्यों महत्वपूर्ण है
अधिकांश पंचांग साइटें बिना बताए कि वे कहाँ से आते हैं, संख्याएँ दिखाती हैं। आपको भरोसा करना होता है कि पर्दे के पीछे किसी ने सही गणना की है। हम इसके विपरीत करते हैं: पूरी गणना खुली है, चरण-दर-चरण, ताकि आप अनुसरण कर सकें, और यदि हम गलत हों तो हमें सुधार सकें।
यह तकनीक दिखाने के बारे में नहीं है। यह विश्वास के बारे में है। जब टोरंटो में आपका राहु काल चेन्नई में आपकी माँ के राहु काल से दस मिनट अलग है, तो केवल वही उत्तर काम करता है जिसे आप सटीक इनपुट डेटा और एक पारदर्शी सूत्र तक वापस खोज सकें।
नीचे हम गणना की हर परत को सूर्योदय से लेकर त्योहार की तारीखों तक, सटीक एल्गोरिदम और स्थिरांकों के साथ देखते हैं। यह इस तरह लिखा गया है कि आप खगोल विज्ञान की पृष्ठभूमि के बिना इसका अनुसरण कर सकें।
परत 1: सूर्य, सूर्योदय, सूर्यास्त, दिन की अवधि
सब कुछ सूर्य से शुरू होता है। सूर्योदय और सूर्यास्त दिन के प्रकाश की अवधि निर्धारित करते हैं, जो बदले में राहु काल, यमगंडम, कुलिगाई, अभिजीत मुहूर्त और गौरी पंचांग निर्धारित करता है।
हम NOAA Solar Calculator का उपयोग करते हैं, वही एल्गोरिदम जो US National Oceanic and Atmospheric Administration अपने सार्वजनिक सौर कैलकुलेटर में उपयोग करता है। यह Julian Day Number और पर्यवेक्षक के अक्षांश-देशांतर से सूर्य की कोणीय लंबाई, झुकाव, समय समीकरण और सूर्योदय पर घंटा कोण की गणना करता है।
हल किया उदाहरण
उदाहरण: चेन्नई, 15 जनवरी 2026
सूर्योदय की गणना चरण-दर-चरण इस प्रकार की जाती है:
- तारीख
- 15 जनवरी 2026
- Julian Day
- 2,461,056.0
- Julian century (t)
- 0.2604
- सूर्य की ज्यामितीय माध्य लंबाई
- 294.96°
- सूर्य की सच्ची लंबाई
- 295.35°
- झुकाव
- −21.07°
- समय समीकरण
- −9.41 मिनट
- सौर दोपहर UTC
- 06:48
- घंटा कोण
- 85.78°
- सूर्योदय UTC
- 01:05
- सूर्योदय स्थानीय समय
- 06:35 IST
इनपुट तारीख
ग्रेगोरियन → Julian Day दोपहर UTC पर
(JD − 2,451,545) / 36,525
280.47 + 36,000.77 × t
माध्य लंबाई + सुधार पद
आकाशीय भूमध्य रेखा के ऊपर सूर्य की ऊंचाई
धूपघड़ी और माध्य समय के बीच अंतर
720 − 4 × देशांतर − समय समीकरण
arccos(cosHA) zenith 90.833° के लिए
सौर दोपहर − 4 × घंटा कोण
UTC + 5:30 (भारत का समय क्षेत्र)
चेन्नई में 15 जनवरी 2026 को सूर्योदय 06:35 IST है, और सभी आगे की गणनाएँ इसी संख्या पर आधारित हैं।
परत 2: चंद्रमा, Meeus, अध्याय 47
तिथि, नक्षत्र, योग और करण के लिए चंद्रमा की स्थिति महत्वपूर्ण है, पंचांग के पाँच तत्वों में से चार जो सप्ताह का दिन नहीं हैं। चंद्रमा तेज़ी से चलता है: प्रति दिन लगभग 13°, सूर्य के लगभग 1° की तुलना में।
हम Jean Meeus की Astronomical Algorithms, अध्याय 47 का उपयोग करते हैं, चंद्रमा की कोणीय लंबाई के लिए पूर्ण 60-पद ΣL श्रृंखला। यह वही मॉडल है जो गंभीर पंचांग और प्लैनेटेरियम सॉफ्टवेयर उपयोग करते हैं। श्रृंखला चंद्रमा की कक्षा के सभी ज्ञात विक्षोभों का मॉडल करते हुए 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() |
परत 3: आयनांश, लाहिड़ी (चित्रपक्ष)
तिथि सूर्य और चंद्रमा के बीच के कोण पर निर्भर करती है, यह निर्देशांक प्रणाली की परवाह किए बिना समान है। लेकिन नक्षत्र, योग और राशि के लिए साइडरियल निर्देशांक की आवश्यकता होती है: स्थिर तारों के सापेक्ष स्थितियाँ, न कि वसंत विषुव के सापेक्ष।
उष्णकटिबंधीय और साइडरियल स्थिति के बीच का अंतर आयनांश कहलाता है। हम लाहिड़ी (चित्रपक्ष) का उपयोग करते हैं, 1956 से भारत सरकार द्वारा आधिकारिक रूप से उपयोग किया जाने वाला मानक, और तमिल पंचांग परंपरा में सबसे व्यापक।
हल किया उदाहरण
लाहिड़ी आयनांश व्यवहार में
सूत्र सरल है:
- J2000 पर आयनांश
- 23.864°
- अयनचलन दर
- ~50.29 चाप-सेकंड/वर्ष
- 2026 में आयनांश
- ≈24.23°
प्रारंभिक बिंदु, 1 जनवरी 2000
≈ 1.397° प्रति Julian century
23.864 + 1.397 × 0.26
सभी साइडरियल स्थितियाँ उष्णकटिबंधीय लंबाई से इस आयनांश को घटाकर गणना की जाती हैं।
अन्य प्रणालियाँ (KP, रमण, युक्तेश्वर) थोड़े भिन्न मान उपयोग करती हैं, लेकिन अंतर 2° से कम है।
परत 4: राहु काल और तीन परिहार-खिड़कियाँ
राहु काल, यमगंडम और कुलिगाई सभी एक ही सिद्धांत पर आधारित हैं: दिन के प्रकाश की अवधि (सूर्योदय से सूर्यास्त) को आठ समान खंडों में विभाजित करें, और सप्ताह के दिन के आधार पर एक खंड चुनें।
| सप्ताह का दिन | राहु (खंड) | यमगंडम | कुलिगाई |
|---|---|---|---|
| रविवार | 8वाँ खंड | 5वाँ खंड | 7वाँ खंड |
| सोमवार | 2वाँ खंड | 4वाँ खंड | 6वाँ खंड |
| मंगलवार | 7वाँ खंड | 3वाँ खंड | 5वाँ खंड |
| बुधवार | 5वाँ खंड | 2वाँ खंड | 4वाँ खंड |
| गुरुवार | 6वाँ खंड | 1वाँ खंड | 3वाँ खंड |
| शुक्रवार | 4वाँ खंड | 7वाँ खंड | 2वाँ खंड |
| शनिवार | 3वाँ खंड | 6वाँ खंड | 1वाँ खंड |
हल किया उदाहरण
उदाहरण: चेन्नई में सोमवार को राहु काल
सूर्योदय 06:35, सूर्यास्त 18:01, सोमवार 2वाँ खंड उपयोग करता है:
- दिन का प्रकाश
- 686 मिनट
- एक खंड
- 85.75 मिनट
- 2वाँ खंड प्रारंभ
- 06:35 + 85.75 = 08:00
- 2वाँ खंड समाप्त
- 08:00 + 85.75 = 09:26
18:01 − 06:35 = 11 घंटे 26 मिनट
686 / 8 ≈ 1 घंटे 26 मिनट
सूर्योदय + 1 × खंड अवधि
प्रारंभ + खंड अवधि
चेन्नई में जनवरी में सोमवार को राहु काल: लगभग 08:00–09:26 IST।
परत 5: अभिजीत मुहूर्त, शुभ दोपहर की खिड़की
अभिजीत मुहूर्त दिन के प्रकाश की अवधि के 15 समान मुहूर्त खंडों में से 8वाँ है, सौर दोपहर पर ठीक केंद्रित। गणना सरल है लेकिन सटीक सूर्योदय और सूर्यास्त की आवश्यकता है:
- सौर दोपहर = (सूर्योदय + सूर्यास्त) / 2
- अर्ध मुहूर्त = (सूर्यास्त − सूर्योदय) / 30
- अभिजीत प्रारंभ = सौर दोपहर − अर्ध मुहूर्त
- अभिजीत समाप्त = सौर दोपहर + अर्ध मुहूर्त
चेन्नई जनवरी में (सूर्योदय 06:35, सूर्यास्त 18:01) यह लगभग 11:55 से 12:41 तक अभिजीत खिड़की देता है, लगभग 46 मिनट।
परत 6: त्योहार और अनुष्ठान
त्योहार दो पूरी तरह अलग स्रोत प्रणालियों का उपयोग करते हैं। बड़े निश्चित त्योहार (पोंगल, दीपावली, थाई पोंगल, पुथांडु) संपादकीय रूप से क्यूरेट किए जाते हैं: आधिकारिक कैलेंडर प्रकाशनों के विरुद्ध दोबारा जाँची गई मैन्युअल रूप से दर्ज तारीखें, 2026 से 2029 तक का डेटा।
मासिक अनुष्ठान (अमावस्या, पूर्णिमा, एकादशी, प्रदोषम, षष्ठी, कार्तिगाई, आदि) तिथि और नक्षत्र से सीधे गणना किए जाते हैं। गणना हमेशा चेन्नई में सूर्योदय को संदर्भ बिंदु के रूप में उपयोग करती है, भले ही आप लंदन में हों।
कोई बाहरी निर्भरता नहीं, और यह जानबूझकर है
पूरा इंजन शुद्ध TypeScript में लिखा गया है। यह कोई बाहरी खगोल विज्ञान लाइब्रेरी आयात नहीं करता, कोई API नहीं कॉल करता, और किसी डेटाबेस में कुछ नहीं खोजता। वही कोड सर्वर पर चलता है और आपके ब्राउज़र में भी। परिणाम नियतात्मक है: एक ही इनपुट हमेशा, हर जगह, बिल्कुल एक ही आउटपुट देता है।
| मॉड्यूल | एल्गोरिदम / स्रोत | क्या प्रदान करता है |
|---|---|---|
| solar.ts | NOAA Solar Calculator | सूर्योदय, सूर्यास्त, सौर दोपहर, सूर्य की कोणीय लंबाई |
| lunar.ts | Meeus, Astronomical Algorithms अध्याय 47 (60-पद ΣL) | चंद्र कोणीय लंबाई, तिथि, नक्षत्र, योग, करण |
| lunar.ts | लाहिड़ी आयनांश (23.864° + 1.397 × t) | नक्षत्र और योग के लिए साइडरियल स्थिति |
| windows.ts | दिन का प्रकाश ÷ 8, सप्ताह के दिन प्रति खंड | राहु काल, यमगंडम, कुलिगाई |
| index.ts | (सूर्योदय + सूर्यास्त) / 2 ± प्रकाश/30 | अभिजीत मुहूर्त |
| gowri.ts | दिन के प्रकाश से 8 गौरी खंड | गौरी पंचांग / नल्ला नेरम |
| festivals.ts | चेन्नई सूर्योदय पर तिथि/नक्षत्र + क्यूरेटेड डेटासेट | त्योहार की तारीखें और अनुष्ठान |
| tamilCalendar.ts | सूर्य की साइडरियल लंबाई → तमिल माह | तमिल तारीख (चित्तिरई, वैकासी आदि) |
हम क्या गणना नहीं करते, और क्यों
यह कैलेंडर उस पर ध्यान केंद्रित करता है जो खगोलीय सटीकता के साथ गणना की जा सकती है। लेकिन पंचांग ब्रह्मांड में ऐसे विषय हैं जिन्हें हम जानबूझकर गणनाओं से नहीं कवर करते:
- विवाह और समारोहों के लिए मुहूर्तम अनुमोदन, कुंडली व्याख्या की आवश्यकता है, जिसे हम स्वचालित नहीं करते।
- दशा काल और ग्रह बल, ज्योतिषीय परंपरा पर निर्भर, खगोल विज्ञान पर नहीं।
- स्थानीय विविधताओं वाले मंदिर त्योहार, व्यक्तिगत मंदिर परंपराओं द्वारा निर्धारित।
हम किसी ऐसी संख्या से कुछ नहीं दिखाना पसंद करते जिसके पीछे हम नहीं खड़े हो सकते। यह इस पूरे कैलेंडर का मूल सिद्धांत है।
