GlowScript 2.9 VPython get_library('https://cdn.rawgit.com/PERLMSU/physutil/master/js/physutil.js') #Window setup scene.range=7e7 scene.width = 1024 scene.height = 760 #Objects Earth = sphere(pos=vector(0,0,0), radius=6.4e6, color=color.blue) Satellite = sphere(pos=vector(42164e3, 0,0), radius=1e6, color=color.red, make_trail=True) #modify position of satellite #Parameters and Initial Conditions mSatellite = 15e3 # edit mass of the satellite pSatellite = mSatellite*vector(0,3073,0) #edit momentum of the satellite G = 6.67e-11 # add universal gravitational constant mEarth = 5.97e24 # add mass of Earth #Time and time step t = 0 tf = 60*60*24 dt = 1 #MotionMap/Graph SatelliteMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False) FnetMotionMap = MotionMap(Satellite, tf, 20, markerScale=2000, labelMarkerOrder=False) # add Fnet force arrows - also need to add in loop) #Calculation Loop while t < tf: rate(10000) Fgrav = -G*mSatellite*mEarth*Satellite.pos/(mag(Satellite.pos)**3) # Add Fgrav change Fnet Fnet = Fgrav # change Fnet from zero pSatellite = pSatellite + Fnet*dt Satellite.pos = Satellite.pos + (pSatellite/mSatellite)*dt SatelliteMotionMap.update(t, pSatellite/mSatellite) FnetMotionMap.update(t, Fnet) # Add Fnet vector arrows t = t + dt #Earth Rotation (IGNORE) theta = 7.29e-5*dt Earth.rotate(angle=theta, axis=vector(0,0,1), origin=Earth.pos)