Ohjelmoinnin peruskurssi Y2, kurssimateriaali

Aihepiiri: simulaatio

Etusivulle

Aihepiiri: simulaatio

Aurinkokuntasimulaattori


Tee ohjelma, joka simuloi taivaankappaleiden ja satelliittien liikkeitä laskemalla niiden ratojen pisteitä, kunnes kappaleiden välillä tapahtuu törmäys tai simuloitava aikajakso kuluu umpeen. Voit jättää huomiotta painovoimaan liittymättömät häiriötekijät (ilma- kehän vastus tms.), mutta simuloi gravitaation ja Newtonin lakien mukaisia liikkeitä mahdollisimman tarkasti.

Perusaurinkokunnan kaikilla elementeillä on nopeus, ja paikka - jopa auringolla, joskin sen alkunopeus voidaan asettaa nollaksi. Muilla kappaleilla täytyy olla järkevät alkuarvot, jotta ne eivät tipu suoraan aurinkoon tai karkaa aurinkokunnasta jne.

Ideana tehtävässä on tarkastella satelliittia/satellitteja, jotka lähtevät annetuista kolmiulotteisen avaruuden pisteestä annetulla alkunopeudella (voivat olla vaikka matkalla kuuhun, Marsiin tai maan kiertoradalla tms.).

Käyttäjän tulee voida määrätä satelliittien alkupiste, massa ja nopeus, simulaatiojakson ja simulaatioaskelen pituus, sekä mahdollisia muita parametreja, jotka katsot simulaation kannalta oleellisiksi. Taivaankappaleiden alkutilanne voidaan lukea asetustiedostosta. Kiinnitä huomiota ohjelman käyttöliittymään (yritä tehdä erilaisten lähtötietojen syöttäminen helpoksi ohjelman käytön ja testaamisen kannalta) sekä laskenta- tehokkuuteen. Käytä syötössä ja tulostuksessa todellisia yksiköitä (m, kg,...)

Vinkki : kannattaa laskea tehtävä karteesisessa koordinaatistossa.

Vaatimukset


Helppo

Keskivaikea

Mikäli mahdollista, testaa ohjelmasi toiminta Lagrangen pisteissä. Hakusana : "lagrangian point"

Tee joko a) tai b).

    • Kuten helppoon työhön
    • Tee laskennasta tarkempaa mutta nopeampaa. (pidempi askel, mutta pienempi virhe) Käytä esim neljännen asteen Runge-Kutta menetelmää. Lyhyt tutoriaali aiheesta löytyy esim täältä [gafferongames.com]. Huomaa että kaikkien kappaleiden tilaa tulee käsitellä yhdessä.

    tai

    • Kuten helppoon työhön, mutta graafisella käyttöliittymällä.
    • Esitä satelliittien kulku ja taivaankappaleiden sijainnit graafisesti. Koska liikkuvia pisteitä on tylsä tihrustaa, piirrä kappaleille suunta- ja kiihtyvyysvektorit skaalaten ne niin että niitä on helppo lukea.

Vaativa

Etusivulle