Я сам изучал орбитальную механику, и при решении проблемы Ламберта обычно используется подход универсальной переменной. Я понимаю алгоритм, но я не нашел ни одной книги, которая бы хорошо объясняла физический смысл вселенской аномалии и безразмерная переменная .
Каков будет физический смысл этих двух переменных?
В обзоре проблемы Ламберта де ла Торре Сангра и Фантино, а также в книге Иззо « Пересмотр проблемы Ламберта» (также ArXiv ) цитируется Бейт 1971 как «Основы астродинамики » Роджера Р. Бейта, Дональда Д. Мюллера, Джерри Э. Уайта (Dover, 1971) (в книги google , а также PDF-файлы), который представляет и :
и позже:
Следующая страница 204 Основ астродинамики :
Это всего лишь удобные переменные, которые зависят от изменения эксцентрической аномалии от начальной до конечной точки анализируемого (или прогнозируемого) движения.
Для эллиптической орбиты:
или, для отрицательного (гиперболическая орбита),
Для параболической орбиты
Для эллиптической орбиты:
Для гиперболической орбиты:
Для параболической орбиты (также при отсутствии изменений в эксцентрической аномалии).
куда эксцентрическая аномалия (стр. 183):
является «параболической эксцентрической аномалией» и - "гиперболическая эксцентрическая аномалия" (всегда мнимая величина) - аналог для параболических и гиперболических траекторий. На последующих страницах объясняется их происхождение.
В качестве примечания, я думаю, что эксцентрическая аномалия заслуживает лучшего обоснования и объяснения, чем то, что она получает, с расширением произвольных линий до случайно выбранных кругов для неизвестных целей.
Поскольку стандартное уравнение эллипса (это декартова координата , а не универсальная переменная ) типичная параметризация:
Ответ @SF. очень хорош! xSF=xOP и zSF = zOP.
Я использовал некоторые уравнения из этого ответа .
Я не уверен, что это полностью отвечает на вопрос ОП, но, поскольку это подтверждается математически, я назначу эту конкретную награду.
Как говорит Мясной рулет, все работает, если позволить.
def deriv(X, t):
x, v = X.reshape(2, -1)
acc = -x * mu * ((x**2).sum())**-1.5
return np.hstack((v, acc))
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint
from scipy.integrate import cumtrapz as CTrapz
# https://space.stackexchange.com/questions/31032/what-exactly-means-universal-variable-x-and-z
halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]
mu = 1.0
a = 1.0
peri = 0.5
apo = 2.*a - peri
vperi = np.sqrt(mu*(2./peri - 1./a))
vapo = np.sqrt(mu*(2./apo - 1./a))
X0 = np.array([peri, 0, 0, vperi])
time = np.linspace(0, twopi, 201)
answer, info = ODEint(deriv, X0, time, full_output=True)
x, y, vx, vy = answer.T
theta = np.arctan2(y, x)
half_theta = 0.5 * theta
r = np.sqrt(x**2 + y**2)
xdot = np.sqrt(mu)/r
xOP = CTrapz(xdot, time, initial=0)
zOP = xOP**2/a
# https://space.stackexchange.com/questions/27602/what-is-hyperbolic-eccentric-anomaly-f/27604#27604
ecc = (apo-peri)/(apo+peri)
term = np.sqrt((1. - ecc)/(1. + ecc))
tanEover2 = term * np.tan(half_theta)
E = 2. * np.arctan(tanEover2)
E0 = E[0]
E[E<0] += twopi # keep it positive
xSF = np.sqrt(a)*(E - E0)
zSF = (E - E0)**2
things = ( r, theta, xOP, zOP, xdot, E, xSF, zSF )
names = ('r', 'theta', 'xOP', 'zOP', 'xdot', 'E', 'xSF', 'zSF')
if True:
plt.figure()
for i, (thing, name) in enumerate(zip(things, names)):
plt.subplot(2, 4, i+1)
plt.plot(time, thing)
plt.title(name, fontsize=16)
plt.show()
if True:
plt.figure()
plt.subplot(1, 2, 1)
plt.title('x and xSF versus time')
plt.plot(time, xOP, '-r', linewidth=4)
plt.plot(time, xSF, '--k', linewidth=2)
plt.subplot(1, 2, 2)
plt.title('z and zSF versus time')
plt.plot(time, zOP, '-r', linewidth=4)
plt.plot(time, zSF, '--k', linewidth=2)
plt.show()
if True:
x, y, vx, vy = answer.T
plt.subplot(1, 2, 1)
plt.title('y versus x')
plt.plot(x, y)
plt.plot([0], [0], 'ok')
plt.subplot(2, 2, 2)
plt.title('x and y versus time')
plt.plot(time, x)
plt.plot(time, y)
plt.subplot(2, 2, 4)
plt.title('vx and vy versus time')
plt.plot(time, vx)
plt.plot(time, vy)
plt.show()
ооо
Павел
Альберто Де Селис Ромеро
Альберто Де Селис Ромеро
ооо
ооо
Полигном