Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Avaruusfysiikka

Burton [19.06.2007 16:12:43]

#

Olen tekemässä pientä avaruuteen sijoittuvaa lentelypeliä ja pyrin toteuttamaan fysiikat niin, että ne olisivat mahdollisimman realistiset (mutta kuitenkin minun taidoillani).
Osaan varmaan toteuttaa fysikaaliset ominaisuudet avaruuteen tutkiskeltuani tarpeeksi, mutta teiltä haluaisin kysyä, että mimmoisia voimia, vaikutuksia ynm. minun pitäisi ottaa mukaan?

Lahha [19.06.2007 16:17:17]

#

Ainut mitä minulle tulee mieleen on kappaleiden väliset vetovoimat.

Heikki [19.06.2007 17:01:51]

#

Alukseen vaikuttavat voimat ovat vetovoimat (F=GMm/r^2) ja moottorin työntövoima. Kuitenkin planeetan lähellä voidaan jättää muiden taivaankappaleiden aiheuttamat vetovoimat huomioimatta ja planeettojen välisessä avaruudessa taas vaikuttaa riittävällä tarkkuudella vain tähden vetovoima.

Aluksen (ja planeettojen) radat ovat ellipsejä, joiden toisessa polttopisteessä on aurinko (ympyrä on ellipsin erikoistapaus ja aurinkokunnassamme planeettojen ratoja voidaan pitää ympyröinä). Ympyräradalla keskeiskiihtyvyys a=v^2/r. Kiertoaika ellipsiradalla on 2pi*a^3/(GM), a on ellipsin pidemmän puoliakselin pituus (tai ympyrän säde), G gravitaatiovakio ja M kierrettävän taivaankappaleen massa. Ellipsiradalla aluksella on suurin nopeus kun se on lähinnä tähteä, v*r*cos a on vakio, missä a on nopeusvektorin ja radan tangentin välinen kulma, v nopeus ja r etäisyys tähdestä. Aluksen nopeus ellipsiradalla etäisyydellä r saadaan kaavasta
v^2 = GM(2/r-1/a)
missä a on ellipsin pidemmän puoliakselin pituus. Kun alus kiihdyttää nopeasti uuteen nopeuteen, voi yllä olevan kaavan avulla ratkaista uuden ellipsiradan tiedot. Uuden radan alin kohta on kiihdytyspiste, ja uusi pidempi puoliakseli saadaan ratkaisemalla tuosta kaavasta a.

Alus on ympyräradalla, kun sen nopeus on GM/r

Nämä itse asiassa ovat seurauksia Newtonin peruslaeista, voima GMm/r^2 aiheuttaa kappaleelle keskeiskiihtyvyyden jne.

Kun alus kiihdyttää käyttäen moottoreitaan, sen massa pienenee polttoaineen vähetessä jolloin kiihtyvyys kasvaa (a=F/m), tätä tosin ei varmaan kannata huomioida (jos haluat, niin googleta Tsiolkovskin rakettiyhtälö).


Tässä oli jonkin verran avaruusfysiikan perusteita, lisää löytyy netistä ja suomeksi vaikka tästä. Toki on hauskaa yrittää mallintaa fysikaalista tilannetta mahdollisimman tarkasti, mutta loppujen lopuksi monia tässäkään esitettyjä asioita ei tarvitse huomioida tietokonepelissä. Toki voisit ottaa huomioon myös erityisen suhteellisuusteorian ja muuta kivaa, mutta suosittelen keskittymään pelin muihin osa-alueisiin ja toteuttamaan fysiikat siten, että ne nyt näyttävät suunnilleen realistisilta.

L2-K2 [19.06.2007 18:23:58]

#

Helpoin tapa toteuttaa tuonkaltainen fysiikkamallinnus on voimien numeerinen arvointi painovoimalain (kaava 1) avulla. Sen jälkeen voimat muutetaan kiihtyvyyksiksi Newtonin peruslain F=ma avulla. Lopuksi kiihtyvyydet lisätään nopeuteen kaavalla 2.

1: voima = gravitaatiovakio * massa1 * massa2 / (etäisyys * etäisyys)
2: nopeusLopussa = nopeusAlussa + SUMMA(kiihtyvyydet) * ajanMuutos

PS. kaikki laskenta tehdään siis vektoreilla
PPS. optimointina voimat voidaan lisätä toisinsa ennen muuntamista kiihtyvyyksiksi
PPPS. koko systeemin laskennan aikakompleksiivissus on tällöin n^2

Burton [19.06.2007 20:42:59]

#

Kiitos, tässä taisi tulla kaikki tarpeellinen.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta