Guest User

Untitled

a guest
Jun 24th, 2015
304
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.69 KB | None | 0 0
  1. import time
  2. from math import sqrt
  3. from matplotlib import pyplot as plt
  4.  
  5. G=6.674e-11
  6. massCenter=5.972e24
  7. massSat=7.3477e22
  8. posSat=[3e8,0] # x,y
  9. vinit=sqrt(G*(massCenter+massSat)/posSat[0])
  10. vitSat=[0,vinit]
  11. deltat=3600
  12.  
  13. def updatePos():
  14.     global posSat,vitSat
  15.     d=sqrt(posSat[0]**2+posSat[1]**2)
  16.     forcem=-G*massCenter/d**2
  17.     unitvect=[posSat[0]/d,posSat[1]/d]
  18.     vitSat=[vitSat[0]+deltat*forcem*unitvect[0],vitSat[1]+deltat*forcem*unitvect[1]]
  19.     posSat=[posSat[0]+vitSat[0]*deltat,posSat[1]+vitSat[1]*deltat]
  20.  
  21. X,Y=[],[]
  22. for i in range(8000):
  23.     updatePos()
  24.     X.append(posSat[0])
  25.     Y.append(posSat[1])
  26.     print(posSat,vitSat,sqrt(posSat[0]**2+posSat[1]**2))
  27.  
  28. plt.close()
  29. plt.plot(X,Y)
  30. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment