1

-20 度の真の異常と 103 度の真の異常の位置でプロットに沿ってマーキングを追加するにはどうすればよいですか?

私が持っているのは、地球の周りの双曲線経路に沿った宇宙船の軌道であり、真の異常の間を飛行するのにかかった時間を解決しました。残念ながら、パス上の特定の角度で位置をマークする方法がわかりません。

私は私ができることを知っています

initial = pylab.Circle((location), radius = 10, color = '#000000')
final = ....

しかし、位置座標には何を入れればよいでしょうか? 座標を解決する力ずくの方法なしでこれを行う方法はありますか?

import numpy as np
import pylab

a = -35000  #  the semi-major axis of the hyperbolic trajectory                     
e = 1.2  #  the eccentricity                                                        
nu0 = -20 * np.pi / 180  #  initial anomaly                                         
nuf = 103 * np.pi / 180  #  final anomaly                                           

F0 = 2 * np.arctanh(np.sqrt((e - 1) / (e + 1)) * np.tan(nu0 / 2))

Ff = 2 * np.arctanh(np.sqrt((e - 1) / (e + 1)) * np.tan(nuf / 2))

M0 = e * np.sinh(F0) - F0

Mf = e * np.sinh(Ff) - Ff

n = np.sqrt(398600.0 / -a ** 3)  #  the mean motion                                 

deltat = (Mf - M0) / n  #  change of time in secs                                   

hours = deltat / 3600

h = np.sqrt(a * 398600 * (1 - e ** 2))


def r(nu):
    return h ** 2 / (398600 * (1 + e * np.cos(nu)))


rt = r(nu)
ext = [np.argmin(rt), np.argmax(rt)]
rt[ext] = np.nan

nu = np.linspace(0, 2 * np.pi, 500000)

fig = pylab.figure()
ax = fig.add_subplot(111, aspect = 'equal')
earth = pylab.Circle((0, 0), radius = 6378, color = 'blue')
ax.add_patch(earth)
ax.plot(rt * np.cos(nu), rt * np.sin(nu), 'r')
pylab.axis([-70000, 10000, -40000, 40000])
pylab.show()
4

0 に答える 0