Звёздное время
Звёздное время — это часы, которые идут по звёздам, а не по Солнцу, и именно они нужны, чтобы найти объект на небе.
Звёздное время — прямое восхождение объекта, который сейчас находится на меридиане наблюдателя. По сути это «небесные часы».
Почему звёздные сутки короче
Солнечные сутки ($24$ часа) — это время от полудня до полудня. Но за сутки Земля не только обернулась вокруг оси, но и продвинулась по орбите примерно на $1°$. Чтобы Солнце снова оказалось на меридиане, Земле приходится довернуться на этот $1°$ — на это уходит около $4$ минут. А вот далёкая звезда «не замечает» орбитального движения, поэтому звёздные сутки на ~$4$ минуты короче: примерно $23$ часа $56$ минут.
Положение 1: полдень Положение 2: через сутки
Солнце Солнце
* *
| /
| / Земля сместилась
[Земля] ----орбита----> [Земля] по орбите на ~1°
Звезде хватает 23h56m, чтобы вернуться на меридиан,
а Солнцу нужны лишние ~4 минуты доворота.Вычисление звёздного времени
Гринвичское звёздное время (GMST) можно получить по юлианской дате формулой (результат в градусах, потом переводим в часы делением на $15$):
def gmst_hours(JD):
"""Гринвичское среднее звёздное время в часах по юлианской дате."""
T = (JD - 2451545.0) / 36525.0 # юлианские столетия от J2000
gmst_deg = (280.46061837
+ 360.98564736629 * (JD - 2451545.0)
+ 0.000387933 * T * T
- T * T * T / 38710000.0)
gmst_deg = gmst_deg % 360.0 # привести к [0, 360)
return gmst_deg / 15.0
print("GMST на J2000.0:", round(gmst_hours(2451545.0), 4), "ч")
print("GMST на JD 2460390.5:", round(gmst_hours(2460390.5), 4), "ч")Вывод:
GMST на J2000.0: 18.6974 ч GMST на JD 2460390.5: 11.9336 ч
Как работает под капотом
Коэффициент $360.98564736629$ — это и есть «лишний доворот»: за солнечные сутки звёздное время убегает чуть больше, чем на $360°$. Член с $T$ учитывает медленные эффекты (прецессию). Чтобы получить местное звёздное время, к гринвичскому прибавляют географическую долготу наблюдателя (в часах, восточная — со знаком плюс). Звёздное время напрямую связано с часовым углом: $H = LST - RA$. Поэтому, зная LST, мы можем вычислить часовой угол любого объекта и далее перевести его в высоту и азимут — замыкая цепочку из прошлого раздела.
Частые ошибки
- Путать звёздное и солнечное время — расхождение копится по ~4 минуты в сутки.
- Забыть привести GMST к диапазону $[0, 360)$ через остаток от деления.
- Не добавить долготу наблюдателя при переходе от гринвичского к местному времени.
Итог
- Звёздные сутки на ~4 минуты короче солнечных из-за орбитального движения Земли.
- GMST вычисляется по JD; местное время = GMST + долгота.
- Часовой угол $H = LST - RA$ замыкает связь время → координаты на небе.