Calcolo di un’orbita astronautica mediante l’integrazione numerica con la calcolatrice grafica

gravitation_turtle.py

from math import *
from turtle import *

# valori di G e M massa Terra
G=6.67E-11; M=5.97E24

# valori orbita geostazionaria
x=4.2164E7; y=0
vx=0; vy=3066

# integrazione numerica
t=0; dt=60
while t<86400:
  setheading(degrees(atan2(vy,vx)))
  goto(x/1E6, y/1E6)
  r=sqrt(x**2+y**2)
  ax=-G*M*x/r**3; ay=-G*M*y/r**3
  vx=vx+ax*dt; vy=vy+ay*dt
  x=x+vx*dt; y=y+vy*dt
  t=t+dt

https://my.numworks.com/python/gianfranco-oddenino/gravitation_turtle

gravitation turtle
gravitation_turtle.py
gravitation_kandinsky.py

from math import *
from kandinsky import *

# valori di G e M massa Terra
G=6.67E-11; M=5.97E24

# valori orbita geostazionaria
x=4.2164E7; y=0
vx=0; vy=3066

# integrazione numerica
t=0; dt=60
fill_rect(159,110,3,3,'blue')
while t<86400:
  set_pixel(160+round(x/1E6),111-round(y/1E6),'black')
  r=sqrt(x**2+y**2)
  ax=-G*M*x/r**3; ay=-G*M*y/r**3
  vx=vx+ax*dt; vy=vy+ay*dt
  x=x+vx*dt; y=y+vy*dt
  t=t+dt

https://my.numworks.com/python/gianfranco-oddenino/gravitation_kandinsky

gravitation kandinsky
gravitation_kandinsky.py