-
GravSim
Posted on March 22nd, 2009 No commentsJeg har fysikk på skolen, og i den anledning lagde jeg en gang en gravitasjons-simulator i Python. Det virket veldig bra, men problemet med Python er at man må ha Python for å kjøre det. Jeg har lenge hatt lyst til å prøve å lage den i c++, og nå har jeg fått gjort det. Det vil si jeg har basic simulasjon inne. Hvis du laster ned programmet og prøver, vil du se de fire innerste planetene i solsystemet vårt svirre rundt solen. Slik ser det ut:
Hvis du laster ned programmet og ser etter, vil du legge merke til hvordan banene til planetene er veldig nøyaktig. De holder seg til banene sine selv om programmet kjører lenge. Hvordan fikk så jeg dette til spør du kanskje, og det skal jeg fortelle deg.Programmet bruker nemlig vanlig fysikk til å regne ut hvordan kreftene påvirker de forskjellige planetene. Formelen skal være velkjent for de som har tatt fysikk, newtons gravitasjonslov, den ser slik ut:
På norsk: Kraften mellom to legemer (for eksempel planeter) er en gravitasjonskonstant ganger massen til det ene legemet ganger massen til det andre legemet, delt på kvadratet av lengden mellom legemene. Jeg bruker her den ekte gravitasjonskonstanten, som er 6,67 × 10−11 Nm2/kg2. Når jeg så hadde dette på plass, gikk jeg inn på wikipedia og fant avstand mellom planetene og sola, og banefarten til hver planet. Så puttet jeg dette inn i programmet, og vips, så åpenbarte planetenes baner seg på skjermen (det vil si, ikke med en gang, men med en gang jeg hadde luket bort noen åpenbare bugs).
Programmet er fremdeles i beta, men det skal være relativt stabilt. Grunnen til at det er i beta, er at det mangler en del funksjonalitet:
- Interaktivitet. Du kan bare se på planetene. I Python-utgaven går det an å legge til og fjerne planeter. Dette kommer også i denne utgaven i nær fremtid.
- Kollisjondekteksjon. Dette fantes ikke i Python-versjonen, noe som gav intresange resultater når planetene kom nærme nok hverandre. Siden planetene ikke er i riktig størrelse i forhold til hverandre, er jeg usikker på om det er vits i å lage dette. Uansett vil man aldri legge merke til det i denne utgaven, siden man ikke kan legge til planeter, og de som er der nå, kommer til å holde seg fra hverandre lenge.
En siste detalj før nedlastingslenken. Når du sitter og ser på simulasjonen er det du føler som ett sekund: 57 dager, 20 timer, 53 minutter og 20 sekunder (eller 5000000 sekunder om du vil) i simulasjonstid. I tillegg er en pixel på skjermen din 434564860 meter i simulasjonslengde.
Vil du prøve programmet, så kan du laste det ned her: GravSim 0.1 for Windows
Leave a reply


