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 \vec{r}=(x,y) telesa  na začetku gibanja in komponente njegove hitrosti \vec{v}=(v_x,v_y) 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, v_x\leftarrow v_x+a_x\cdot dt,\quad v_y\leftarrow v_y+a_y\cdot dt
  5. uporabimo definicijo hitrosti in iz nje določimo komponenti nove lege telesa  x\leftarrow x+v_x\cdot dt,\quad y\leftarrow y+v_y\cdot dt,
  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.

\vec{F}=\frac{GmM}{r^{3+\alpha}}\vec{r}.

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….