#python #animation
Вопрос:
Я пытаюсь смоделировать движение земли. Я делаю это, решая уравнение Кеплера и вычисляя его положение (x,y). Мой код приведен ниже, любая помощь будет очень признательна!
def kepler():
eccentric_anamoly = np.zeros((np.size(t), np.size(t))) # our 2d array
epsilon = []
for i in range(0, np.size(t)-1): # rows
eccentric_anamoly[i:,0] = M[i]
for j in range(0, np.size(t)-1): # columns
eccentric_anamoly[i, j 1] = eccentric_anamoly[i,j]- ((eccentric_anamoly[i,j] - e*np.sin(eccentric_anamoly[i,j])-M[i])/ (1 - e*np.cos(eccentric_anamoly[i,j])))
epsilon.append(eccentric_anamoly[i,-1])
return epsilon
fig, ax = plt.subplots()
ax = plt.axes(xlim=(-2,2), ylim=(-2,2))
line, = ax.plot([],[], 'o-', lw=2) #the plot method returns a tuple, hence the comma
def init():
line.set_data([],[])
return line,
def animate():
x = a*np.cos(kepler()) - a*e
y = a*np.sqrt(1-e**2)*np.sin(kepler())
line.set_data(x,y)
fig, ax = plt.subplots()
ax.plot(x,y)
plt.show()
return line,
anim = FuncAnimation(fig, animate, init_func = init, blit=True, frames=None)
plt.show()
Когда я выполняю это, я получаю пустую цифру. Я могу наметить позиции, не пытаясь анимировать. Я не часто использовал функцию анимации, так что любая помощь была бы отличной!