Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- from math import sqrt
- from matplotlib import pyplot as plt
- G=6.674e-11
- massCenter=5.972e24
- massSat=7.3477e22
- posSat=[3e8,0] # x,y
- vinit=sqrt(G*(massCenter+massSat)/posSat[0])
- vitSat=[0,vinit]
- deltat=3600
- def updatePos():
- global posSat,vitSat
- d=sqrt(posSat[0]**2+posSat[1]**2)
- forcem=-G*massCenter/d**2
- unitvect=[posSat[0]/d,posSat[1]/d]
- vitSat=[vitSat[0]+deltat*forcem*unitvect[0],vitSat[1]+deltat*forcem*unitvect[1]]
- posSat=[posSat[0]+vitSat[0]*deltat,posSat[1]+vitSat[1]*deltat]
- X,Y=[],[]
- for i in range(8000):
- updatePos()
- X.append(posSat[0])
- Y.append(posSat[1])
- print(posSat,vitSat,sqrt(posSat[0]**2+posSat[1]**2))
- plt.close()
- plt.plot(X,Y)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment