Åpen Sone for Eksperimentell Informatikk 9. mars 2012
Vektorer: posisjon og hastighet Posisjon og hastighet er gitt ved ( ) x r = y Ved konstant hastighet har vi som gir likningene v= r = r 0 + v t x = x 0 + v x t y = y 0 + v y t ( vx v y )
Stegvis forflytning La hastigheten v være konstant i et lite tidssteg t. Da får vi en ending i posisjon gitt ved For koordinatene hver for seg: r ny = r gammel + v t x ny = x gammel + v x t y ny = y gammel + v y t Videre vil vi bruke x og y for de nye verdiene til x og y.
Når farten endrer seg Hastigheten viser forandring i posisjon, på samme måte viser akselerasjonen forandring i hastighet. Ved konstant aksellerasjon har vi v = v 0 + a t Dersom vi kan la akselerasjonen være konstant i små tidssteg får vi v = v + a t
Semi-implicit Euler method Vi antar at vi kan beregne akselerasjonen a i enhver situasjon. Gitt en posisjon r og en hastighet v finner vi da de nye verdiene (etter et tidssteg t: v x = v x + a x t v y = v y + a y t x = x + v x t y = y + v y t Der vi i de siste to linjene har brukt de nye hastihetene. Dette er viktig for at metoden skal bevare energien i systemet som simuleres.
Fysikkens inntreden: å beregne akselerasjon Newton: F = ma. Kraft er proposjonal med akselerasjon. Fysikkens oppgave er å beregne krefter og dermed akselerasjon. Vi skal her ta for oss følgende krefter: Tyngdekraft Fjærkraft Luftmotstand Friksjon (avansert) Objekter som påvirkes av krefter må beskrives med noen parametre som inngår i fysikken. En parameter som går igjen i de aller fleste tilfeller er massen m. De andre parametrene tas opp etterhvert som de trengs.
Bakgrunnstyngdekraft En generell bakgrunnstyngdekraft modelleres som en konstant akselerasjon nedover. Nedover er skrevet i anførselstegn, fordi nedover typisk defineres av retningen til tyngdekraften.
Tyngdekraft mellom to objekter La m A og m B være massene til objekt A og B, og la r AB være avstanden mellom A og B. Da er kraften de to objektene utøver på hverandre gitt ved F = γ m Am b r AB 2 hvor γ er en parameter som bestemmer styrken på tyngdekraften. Kraften som virker på det ene objektet er rettet direkte mot det andre objektet. Akselerasjonen på objektene blir a X = F m X, X {A, B} (Pass på spesiell håndtering når r blir nær 0.)
Fjærkraft Fjærkraft følger de samme reglene som tyngdekraft, forskellen er bare i hvordan kraften beregnes (kraftens størrelse avhengig av avstanden mellom A og B): F = k r AB 2 Der k avgjør stivheten på fjæren mellom de to objektene. Dersom fjæren er en strikk med lengde l ( avslappet lengde) og vi lar r være avstanden mellom A og B vil kraften være gitt ved { 0, r l F = k(r l) 2, r > l
Luftmotstand Luftmotstanden virker i motsatt retning av bevegelsen. Uttrykket for luftmotstand er F = CLv 2 der L er en parameter som forteller hvor stor luftmotstand objektet har (avhengig av form), og C er en parameter for hvor tett luften (eller annet fluid) er. (Denne modellen er meget forenklet.)
Friksjon Kommer snart
Summen av krefter Dersom mange krefter virker på et objekt kan en beregne de resulterende akselerasjonene hver for seg. Den totale akselerasjonen er da summen av de enkelte akselerasjonene. Akselerasjon fungerer slik at akselerasjonene kan summeres komponentvis: a = a A + a B +... + a X a x = a A x + a B x +... + a X x a y = a A y + a B y +... + a X y
Eksempel: Luftmotstand og tyngdekraft dt = 0. 0 1 ; L = 5 C = 1 ; g = 1 0 ; x = 0 ; y = 5 ; vx = 1 0 ; vy = 5 ; w h i l e ( y > 0 ) { v = s q r t ( vx vx+vy vy ) ; ax = C L v vx ; ay = C L v vy g ; vx += ax dt ; vy += ay dt ; x += vx dt ; y += vy dt ; }