Почему прозрачность расчётов важна

Большинство сайтов с панчангой показывают числа, не объясняя их происхождения. Приходится доверять тому, что кто-то за кулисами сделал всё правильно. Мы поступаем иначе: весь расчёт открыт, шаг за шагом, чтобы вы могли следить за ним и поправить нас, если мы ошиблись.

Дело не в желании продемонстрировать технику. Дело в доверии. Когда Раху Калам в Toronto отличается на десять минут от того, что у вашей мамы в Chennai, единственный ответ, который работает, — тот, который можно проследить до точных исходных данных и прозрачной формулы. Иначе вы просто угадываете, а это не годится, когда речь идёт о том, что для вас важно.

Ниже мы разбираем каждый уровень расчёта — от восхода Солнца до дат праздников — с точными алгоритмами и константами. Текст написан так, чтобы его можно было понять без астрономического образования, но с достаточной детализацией для инженера, желающего проверить каждый шаг.

Уровень 1: Солнце, восход, закат, длина дня

Всё начинается с Солнца. Восход и закат определяют световой день, который, в свою очередь, определяет Раху Калам, Ямагандам, Кулигай, Абхиджит Мухуртам и Гоури Панчангам. Ошибка в положении Солнца означает ошибку во всём остальном.

Мы используем NOAA Solar Calculator — тот же алгоритм, который US National Oceanic and Atmospheric Administration применяет в своём публичном калькуляторе. Он вычисляет эклиптическую долготу Солнца, склонение, уравнение времени и часовой угол в момент восхода по юлианскому дню и координатам наблюдателя.

Разобранный пример

Пример: Chennai, 15 января 2026

Вот как рассчитывается восход шаг за шагом:

Дата
15 January 2026

Входные данные

Юлианский день
2,461,056.0

Григорианская дата → Юлианский день на полдень UTC

Юлианский век (t)
0.2604

(JD − 2 451 545) / 36 525

Средняя долгота Солнца
294.96°

280,47 + 36 000,77 × t

Истинная долгота Солнца
295.35°

Средняя долгота + поправочные члены

Склонение
−21.07°

Высота Солнца над небесным экватором

Уравнение времени
−9.41 min

Разница между солнечными и средними часами

Солнечный полдень UTC
06:48

720 − 4 × долгота − уравнение времени

Часовой угол
85.78°

arccos(cosHA) для зенита 90,833°

Восход UTC
01:05

Полдень − 4 × часовой угол

Восход по местному времени
06:35 IST

UTC + 5:30 (часовой пояс Индии)

Восход в Chennai 15 января 2026 — 06:35 IST, и все дальнейшие расчёты опираются на это число.

Уровень 2: Луна, Мееус, глава 47

Положение Луны принципиально важно для титхи, накшатры, йоги и кираны — четырёх из пяти элементов панчанги, не считая дня недели. Луна движется быстро: около 13° в сутки против примерно 1° у Солнца. Поэтому точная панчанга нуждается в хорошей лунной модели.

Мы используем «Астрономические алгоритмы» Жана Мееуса, глава 47 — полный 60-членный ряд ΣL для эклиптической долготы Луны. Это та же модель, которую применяют серьёзные астрономические альманахи и планетарные программы. Ряд суммирует 60 гармонических членов, моделирующих все известные возмущения лунной орбиты.

Результат — видимая эклиптическая долгота Луны в градусах (0°–360° вдоль зодиака). В сочетании с эклиптической долготой Солнца это даёт титхи (элонгация Луна − Солнце). В сочетании с аянамшей — накшатру (сидерическое положение Луны).

ЭлементОпределениеФормула
Титхи (1–30)Угловое расстояние Луны от Солнца ÷ 12°floor(elongation / 12) + 1
Накшатра (1–27)Сидерическая долгота Луны ÷ 13°20'floor(moon_sidereal / 13.333)
Йога (1–27)Сумма сидерических долгот Солнца и Луны ÷ 13°20'floor((sun_sid + moon_sid) / 13.333)
Карана (1–60)Половина шага титхи: элонгация ÷ 6°floor(elongation / 6)
ВаарамДень недели, астрономия не нужнаJavaScript getDay()
Как вычисляется каждый из пяти элементов панчанги на основе положений Солнца и Луны.

Уровень 3: Аянамша Лахири (Читрапакша)

Титхи зависит от угла между Солнцем и Луной — он одинаков в любой системе координат. Но накшатра, йога и раши требуют сидерических координат: положений относительно неподвижных звёзд, а не точки весеннего равноденствия.

Разница между тропическим и сидерическим положением называется аянамшей. Мы используем Лахири (Читрапакша) — стандарт, официально принятый правительством Индии в 1956 году и наиболее распространённый в тамильской традиции панчанги. Наша модель линейна и привязана к эпохе J2000.

Разобранный пример

Аянамша Лахири на практике

Формула проста:

Аянамша при J2000
23.864°

Начальная точка, 1 января 2000

Скорость прецессии
~50.29 arcseconds/year

≈ 1,397° за юлианский век

Аянамша в 2026 году
≈24.23°

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-й отрезок
Назначение отрезков для всех трёх окон. Каждый отрезок — световой день ÷ 8.

Разобранный пример

Пример: Раху Калам в понедельник в Chennai

Восход 06:35, закат 18:01, понедельник использует 2-й отрезок:

Световой день
686 minutes

18:01 − 06:35 = 11ч 26мин

Один отрезок
85.75 min

686 / 8 ≈ 1ч 26мин

Начало 2-го отрезка
06:35 + 85.75 = 08:00

Восход + 1 × длина отрезка

Конец 2-го отрезка
08:00 + 85.75 = 09:26

Начало + длина отрезка

Раху Калам в понедельник в Chennai, январь: приблизительно 08:00–09:26 IST.

Уровень 5: Абхиджит Мухуртам — благоприятное полуденное окно

Абхиджит Мухуртам — это 8-й из 15 равных мухурта-отрезков светового дня, центрированный точно на солнечный полдень. Расчёт прост, но требует точных времён восхода и заката:

  • Солнечный полдень = (восход + закат) / 2
  • Половина мухурты = (закат − восход) / 30
  • Начало Абхиджит = полдень − половина мухурты
  • Конец Абхиджит = полдень + половина мухурты

В Chennai в январе (восход 06:35, закат 18:01) это даёт окно Абхиджит приблизительно с 11:55 до 12:41, около 46 минут. В Copenhagen в июне, где дни значительно длиннее, окно длится больше часа.

Уровень 6: Праздники и памятные дни

Праздники используют две совершенно разные системы источников. Крупные фиксированные праздники (Понгал, Дипавали, Тай Понгал, Путанду) формируются редакционно: даты вводятся вручную, сверяются с официальными изданиями календарей, данные охватывают 2026–2029 годы.

Ежемесячные обряды (Амавасай, Пурнами, Экадаши, Прадошам, Шашти, Картигай и др.) вычисляются в реальном времени на основе титхи и накшатры — точно так же, как описано выше. При расчёте всегда используется восход Солнца в Chennai как точка отсчёта, даже если вы находитесь в London. Почему? Потому что дата праздника определяется титхи, действующей на момент восхода в священной земле, а не вашего местного восхода.

Никаких внешних зависимостей — и это сделано намеренно

Весь движок написан на чистом TypeScript. Он не импортирует внешних астрономических библиотек, не обращается к API и не делает запросов к базе данных. Тот же код работает на сервере при сборке страницы и в вашем браузере при выборе нового города. Результат детерминирован: одни и те же входные данные всегда и везде дают один и тот же результат.

Это сделано намеренно. Когда расчёт самодостаточен, нет сервера, который может упасть, нет ключа API, который может истечь, нет изменений у третьих сторон, которые незаметно исказят наши числа. И это означает, что вы или любой другой человек можете проверить каждое число, изучив открытый исходный код.

МодульАлгоритм / источникЧто даёт
solar.tsNOAA Solar CalculatorВосход, закат, солнечный полдень, эклиптическая долгота Солнца
lunar.tsМееус, «Астрономические алгоритмы», гл. 47 (60-членный ряд ΣL)Эклиптическая долгота Луны, титхи, накшатра, йога, карана
lunar.tsАянамша Лахири (23.864° + 1.397 × t)Сидерическое положение для накшатры и йоги
windows.tsСветовой день ÷ 8, отрезок по дню неделиРаху Калам, Ямагандам, Кулигай
index.ts(sunrise + sunset) / 2 ± daylight/30Абхиджит Мухуртам
gowri.ts8 отрезков Гоури из светового дняГоури Панчангам / Налла Нерам
festivals.tsТитхи/накшатра на восход в Chennai + курируемый набор данныхДаты праздников и обрядов
tamilCalendar.tsСидерическая долгота Солнца → тамильский месяцТамильская дата (Читирай, Вайкаси и др.)
Все модули расчётного движка и их источники.

Что мы не вычисляем — и почему

Этот календарь сосредоточен на том, что поддаётся астрономическим расчётам. Но в мире панчанги есть темы, которые мы намеренно не охватываем вычислениями — либо потому что они требуют субъективных суждений, либо потому что традиции по ним расходятся между школами:

  • Одобрение мухурты для свадеб и церемоний — требует интерпретации гороскопа, которую мы не автоматизируем.
  • Периоды даши и сила планет — зависят от астрологической традиции, а не от астрономии.
  • Храмовые праздники с местными вариациями — определяются традициями отдельных храмов, а не централизованно.

Мы предпочитаем ничего не показывать, чем давать число, за которое не можем поручиться. Это основополагающий принцип всего этого календаря.