绘制椭圆轨道

时间:2017-09-21 03:14:12

标签: python numpy ellipse eclipse-kepler orbital-mechanics

我正在尝试使用python绘制椭圆轨道。使用公式 R = A(1-E ^ 2)/(1个+ ECOS(THETA))。需要绘制的数据点是:

  • a的值:0.39,0.72,1.00,1.52
  • e的值:0.205,0.007,0.017,0.093
  • theta(度)的值:77.5,132,103,336

到目前为止,这是我的代码:

import numpy as np
import matplotlib.pyplot as plt 

def radius(r,deg,rad):
    a=np.array([0.39,0.72,1.00,1.52])
    e=np.array([0.205,0.007,0.017,0.093])
    deg=np.array([77.5,132,103,336])
    rad=(deg*np.pi)/180
    r=(a*(1-e**2))/(1+e*np.cos(rad))
    return r,deg,rad

plt.polar(rad, r)
plt.show()

我似乎得到的错误是NameError:name' r'没有定义。由于我退回了这个功能,我不明白它为什么没有定义。

1 个答案:

答案 0 :(得分:0)

不确定,如果你的数学和情节函数是正确的,但是查看你的函数.recv( .., ZMQ_DONTWAIT ),你很难编码.recv()并返回public class ArticleCountry { /// <summary> /// Gets or sets the identifier. /// </summary> /// <value> /// The identifier. /// </value> [Required] public Guid Id { get; set; } /// <summary> /// Gets or sets the country. /// </summary> /// <value> /// The country. /// </value> [Required] public Country Country { get; set; } /// <summary> /// /// </summary> public int Position { get; set; } }
由于您没有将任何值/变量传递给函数,因此需要为
radius而非a,e,deg

此外,您需要收集函数返回的值,然后将其用于绘图。

r,deg,rad

<强>图 enter image description here