Simulacija gibanja satelita v VisualPythonu

Poljubno gibanje lahko simuliramo tako, da upoštevamo naslednje korake:

  1. izberemo majhen časovni interval dt,
  2. podamo komponente krajevnega vektorja [math]\vec{r}=(x,y)[/math] telesa  na začetku gibanja in komponente njegove hitrosti [math]\vec{v}=(v_x,v_y)[/math] takrat,
  3. zapišemo za telo 2. Newtonov zakon po komponentah in iz izrazimo komponenti pospeška,
  4. uporabimo definicjo pospeška in iz nje izračunamo novi komponenti hitrosti, [math]v_x\leftarrow v_x+a_x\cdot dt,\quad v_y\leftarrow v_y+a_y\cdot dt[/math]
  5. uporabimo definicijo hitrosti in iz nje določimo komponenti nove lege telesa  [math]x\leftarrow x+v_x\cdot dt,\quad y\leftarrow y+v_y\cdot dt,[/math]
  6. narišemo novo lego,
  7. pravkar izračunani lego in hitrost proglasimo za stari, nato pa ponavljamo korake 3-7.

Tako simulacijo lahko izvedemo samo s kalkulatorjem, točke rišemo npr. na mmilimetrski papir (če ga še prodajajo). Lahko pa seveda uporabimo preglednico ali še boljše, programski jezik. Zadnje čase je naših šolah v modi  Python, sorazmerno lahko je  preiti nanj, čr ste se  prej ukvarjali s Pascalom in Delphijem.  Spodnji program je napisan v VisualPythonu,  različici, ki je posebej primerna za grafične prikaze.

Rezultat, ki ga dobimo, je premikajoč se satelit na spodnji sličici:



In takoj se ponujajo  modifikacije programa – satelit, ki pušča za sabo sled, preverjanje Keplerjevih zakonov, dvojna zvezda, zvezdna kopica, trk kopic….Zanimivo vprašanje, na katerega lahko prv hitro odgovorimo,  je postavil Ivan Kuščer: kakšen bi bil tir satelita, če bi privlačna sila med telesi nekoliko odstopala od Newtonovega gravitacijskega zakona, npr.

[math]\vec{F}=\frac{GmM}{r^{3+\alpha}}\vec{r}.[/math]

Prav tako lahko npr. napišete  igro, v kateri z raketo in omejeno količino goriva pristajate na Zemlji ali Luni in ste ves čas v nevarnosti, da če vam goriva zmanjka, postanete umetni satelit….