Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Положение Солнца на небе

В этой главе мы объединим знания из предыдущих глав и построим полный алгоритм вычисления положения Солнца для заданного места и момента времени.

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

Для вычисления положения Солнца нам нужны:

  • Дата и время (в формате UTC или с известной поправкой часового пояса)
  • Географическая широта наблюдателя (\( \phi \))
  • Географическая долгота наблюдателя (\( \lambda \))

Шаг 1: Юлианская дата и столетия

Переводим дату в юлианские столетия от эпохи J2000.0:

\[ T = \frac{\text{JD} - 2451545{,}0}{36525} \]

Шаг 2: Средняя долгота и аномалия Солнца

Средняя долгота Солнца (\( L_0 \)):

\[ L_0 = 280{,}46646° + 36000{,}76983° \cdot T + 0{,}0003032° \cdot T^2 \]

Средняя аномалия Солнца (\( M \)):

\[ M = 357{,}52911° + 35999{,}05029° \cdot T - 0{,}0001537° \cdot T^2 \]

Средняя аномалия показывает, где бы находилось Солнце, если бы орбита была круговой. Разница с реальным положением — следствие эллиптичности.

Шаг 3: Уравнение центра

Уравнение центра (\( C \)) — поправка за эллиптичность орбиты:

\[ C = (1{,}9146 - 0{,}004817T) \sin(M) + (0{,}019993 - 0{,}000101T) \sin(2M) + 0{,}00029 \sin(3M) \]

Шаг 4: Истинная и видимая долгота

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

\[ L_{\text{true}} = L_0 + C \]

Для повышения точности вводится поправка на нутацию — малые колебания земной оси:

\[ \Omega = 125{,}04 - 1934{,}136 \cdot T \] \[ L_{\text{apparent}} = L_{\text{true}} - 0{,}00569 - 0{,}00478 \sin(\Omega) \]

Шаг 5: Наклон эклиптики

\[ \varepsilon_0 = 23°26’21{,}448’’ - 46{,}815’’ \cdot T - 0{,}00059’’ \cdot T^2 + 0{,}001813’’ \cdot T^3 \]

С учётом нутации:

\[ \varepsilon = \varepsilon_0 + 0{,}00256° \cos(\Omega) \]

Шаг 6: Экваториальные координаты

Склонение Солнца (\( \delta \)):

\[ \sin(\delta) = \sin(\varepsilon) \cdot \sin(L_{\text{apparent}}) \]

Прямое восхождение (\( \alpha \)):

\[ \tan(\alpha) = \frac{\cos(\varepsilon) \cdot \sin(L_{\text{apparent}})}{\cos(L_{\text{apparent}})} \]

Шаг 7: Часовой угол

Среднее звёздное время в Гринвиче (в градусах):

\[ \theta_0 = 280{,}46061837 + 360{,}98564736629 \cdot (\text{JD} - 2451545) \]

Местное звёздное время:

\[ \theta = \theta_0 + \lambda \]

Часовой угол Солнца:

\[ H = \theta - \alpha \]

Шаг 8: Горизонтальные координаты

Высота Солнца над горизонтом (\( h \)):

\[ \sin(h) = \sin(\phi)\sin(\delta) + \cos(\phi)\cos(\delta)\cos(H) \]

Азимут (\( A \)):

\[ \tan(A) = \frac{-\sin(H)}{\tan(\delta)\cos(\phi) - \sin(\phi)\cos(H)} \]

Упрощённый алгоритм для намазов

Для вычисления намазов нам обычно не нужно знать полные горизонтальные координаты в каждый момент. Достаточно определить часовой угол \( H \) для заданной высоты \( h_0 \):

\[ \cos(H_0) = \frac{\sin(h_0) - \sin(\phi)\sin(\delta)}{\cos(\phi)\cos(\delta)} \]

Зная \( H_0 \), мы можем вычислить время события:

  • Если \( H_0 > 0 \) — событие после полудня (Солнце на западе)
  • Если \( H_0 < 0 \) — событие до полудня (Солнце на востоке)

\[ T_{\text{событие}} = T_{\text{полдень}} \pm \frac{H_0}{15} \text{ (в часах)} \]

Атмосферная рефракция

Атмосфера Земли преломляет свет, из-за чего небесные тела кажутся выше, чем они есть на самом деле. На горизонте рефракция составляет примерно 0,567°.

Для восхода и захода Солнца (когда верхний край касается горизонта):

\[ h_0 = -0{,}833° = -(0{,}567° + 0{,}266°) \]

где 0,266° — видимый угловой радиус Солнца (≈ 16’).

Эта поправка важна: без учёта рефракции время Магриб и восхода будет ошибочным на ≈ 2–3 минуты.