Аналемма Марса

02 Sep 2026
by ignat

https://www.astronet.ru/db/msg/1369185

 

 

S-образный зигзаг

Как это выглядит на схема. Это Драконовый узел S типа Марса. В таком узле при появлении такого типа движения, в этой области возможно Затмение Солнца.


import numpy as np
import matplotlib.pyplot as plt
from astropy.time import Time
from astropy.coordinates import get_body
import astropy.units as u

# Противостояние 2016 года (Марс проходит вблизи восходящего узла)
# В этот период ретроградная петля вырождается в S-образный зигзаг
t_start = Time(“2016-02-01”)
t_end = Time(“2016-09-15”)

times = []
curr = t_start
while curr < t_end:
times.append(curr)
# Динамический шаг: во время стояний и ретрограда (апрель – июнь 2016)
# делаем плотную дискретизацию в 1.5 дня, в остальное время — 6 дней
if Time(“2016-04-01”) < curr < Time(“2016-07-01”):
curr += 1.5 * u.day
else:
curr += 6.0 * u.day

ra_list, dec_list = [], []

for t in times:
mars = get_body(‘mars’, t)
# Используем wrap_at для корректной непрерывной проекции
ra_list.append(mars.ra.wrap_at(360*u.deg).deg)
dec_list.append(mars.dec.deg)

plt.figure(figsize=(10, 5))

# Отрисовка непрерывной траектории
plt.plot(ra_list, dec_list, color=’gray’, linestyle=’–‘, alpha=0.6, label=’Сплайн траектории’)

# Отрисовка расчетных точек
plt.scatter(ra_list, dec_list, color=’crimson’, s=22, zorder=3, label=’Динамическая дискретизация’)

# Разворачиваем ось RA (астрономический вид: восток слева)
plt.gca().invert_xaxis()

plt.xlabel(‘Прямое восхождение $\\alpha$ (градусы)’)
plt.ylabel(‘Склонение $\\delta$ (градусы)’)
plt.title(‘S-образная (зигзагообразная) траектория Марса вблизи драконова узла (2016 год)’)
plt.grid(True, linestyle=’:’, alpha=0.7)
plt.legend(loc=’upper right’)

plt.tight_layout()
plt.show()

 

Попятное движение Марса

https://www.astronet.ru/db/msg/1195586


import numpy as np
import matplotlib.pyplot as plt
from astropy.time import Time
from astropy.coordinates import get_body, SkyCoord
import astropy.units as u

# Временной интервал противостояния 2018 года (как на втором фото)
# Прямой ход берем редким шагом (5 дней), а ретроград — частым (1 день)
t_start = Time(“2018-04-01”)
t_end = Time(“2018-11-01”)

times = []
curr = t_start
while curr < t_end:
times.append(curr)
# Динамический шаг: во время стояний и ретрограда (май-август) учащаем точки
if Time(“2018-06-01”) < curr < Time(“2018-09-01”):
curr += 1.5 * u.day # Плотная дискретизация петли
else:
curr += 6.0 * u.day # Редкие интервалы между сезонами

# Расчет геоцентрических координат Марса
ra_list, dec_list = [], []
for t in times:
mars = get_body(‘mars’, t)
# Перевод в относительный сдвиг от центра петли
ra_list.append(mars.ra.wrap_at(180*u.deg).deg)
dec_list.append(mars.dec.deg)

# Отрисовка с непрерывной линией и точками дискретизации
plt.figure(figsize=(10, 5))
plt.plot(ra_list, dec_list, color=’gray’, linestyle=’–‘, alpha=0.5, label=’Траектория’)
plt.scatter(ra_list, dec_list, color=’red’, s=20, label=’Положения (с динамическим шагом)’)

plt.gca().invert_xaxis() # Восток слева
plt.xlabel(‘Прямое восхождение (градусы)’)
plt.ylabel(‘Склонение (градусы)’)
plt.title(‘Точная проекция ретроградной петли Марса 2018 года’)
plt.grid(True, linestyle=’:’)
plt.show()

 

 

Minecraft Edu © 2026