Angry Birds og supersprett

Angry Birds handler om å få fuglene til å treffe og slå ned andre objekter. Så modeller for kollisjoner eller støt er essensielle. Slike støt kan være alt fra elastiske til inelastiske. Elastisk er det når noe steinhardt spretter, tenk golfballer. Et inelastisk støt er når et mykt kosedyr kastes mot en murvegg (ikke at vi i vår villeste fantasi kunne tenke på å gjøre noe slikt!) – kosedyret mister all fart og bare detter rett ned.

Siden artikkelen om Fysikken bak Angry Birds i januar er en av de mest leste på kollokvium.no, så det er det bare naturlig med en oppfølger om støt nå. En av de som kommenterte påpekte at bevegelser og støt i spillet blir modellert med programpakken Box2D. Det er en ‘fysikkmotor’ som det heter i programmeringsverdenen. Det gjør jo at fysikkens lover ligger til grunn for bevegelsene, men gjerne med litt uvanlige og variable skaleringer av verdiene som påpekt i forrige artikkel.

Restitusjonskoeffisienten som beskriver støt går fra 0 (bløtt) til 1 (HARDT). Den er teknisk sett forholdet mellom hastighetene etter og før støtet (se eksakt definisjon under). I bordtennis er det et krav at ballene skal ha koeffisient mellom  0,89 og 0,92 – altså skal de være nesten steinharde. Når en ball spretter mot et gulv er det ikke så vanskelig å vise at koeffisienten også blir R=v_{1B}/v_{1A} = \sqrt(h_B/h_A) der h er høyden ballen kastes fra eller spretter til. Så en bordtennisball skal sprette opp til mellom 79 og 84 % av den høyden den ble sluppet fra. Det er også hvor stor del av bevegelsesenergien som blir bevart i støtet.

Legg merke til superspretten i den lilla 'madrassen'! Fra Angry Birds episode 6.15

I programpakken Box2D ordner man et støt ved å sette inn en verdi for restitusjonskoeffisienten. Men programpakken vet ikke det som fysikere vet, nemlig at i den virkelige verden så må verdien være mellom 0 og 1. Da er det fristende å forsøke litt andre verdier også. For eksempel å gjøre den større enn 1. Effekten av det har alle som har sett på tegneserier på TV sett mange ganger: Supersprett – for hvert sprett kommer kaninen  litt høyere enn forrige gang. Det er egentlig det samme som at det fyres av en liten ladning med dynamitt ved hvert sprett.

Det er dette skaperne av  Angry Birds har gjort også. I noen av brettene finnes det en lilla veggbekledning som er en supermadrass (se bildet over). Den har slike supersprettegenskaper. Skal man få høy poengsum kommer man ikke utenom å styre noen av fuglene borti denne madrassen. Ivrige spillere bør forsøke seg på brettene 6.15, 8.15, 18.11 og 18.15 i Angry Birds for iPhone. Men det er sikkert flere brett og andre versjoner som har supermadrass også.


Litt formler:

1. Alle støt bevarer impuls eller bevegelsesmengde ved kollisjon. Impuls før kollisjon: m_1 v_{1A} + m_2 v_{2A} er lik impuls etter kollisjon:  m_1 v_{1B} + m_2 v_{2B} . De er lik hverandre uansett hva slags kollisjon det gjelder, enten det er et elastisk eller et inelastisk støt eller noe midt i mellom.

2. Bevaring av bevegelsesenergi (kinetisk energi) ved elastiske støt. Kinetisk energi før kollisjon er \frac{1}{2} m_1 v_{1A}^2+\frac{1}{2} m_2 v_{2A}^2 og etter \frac{1}{2} m_1 v_{1B}^2+\frac{1}{2} m_2 v_{2B}^2 . Kinetisk energi bevares bare ved elastiske støt (R=1), mens i perfekt inelastiske støt (R=0) går all denne energien over til annen energi, som oppvarming av kosedyret eller veggen.

3.  RestitusjonskoeffisientR = (v_{2B}-v_{1B})/( v_{1A} -v_{2A}). Ved kollisjon mot en stillestående vegg forenkles den til R = v_{1B}/v_{1A} hvis en ser bort fra at hastigheten har skiftet retning. Da blir også R^2=0,5m_1 v_{1B}^2/0,5m_1 v_{1A}^2, altså forholdet mellom kinetisk energi etter og før støtet.

I ligningene over er massene m_1 og m_2 og deres hastigheter før og etter kollisjon merket med A og B, før: v_{1A} og etter: v_{1B}.

One comment

  1. Tilbaketråkk: Fysikken bak Angry Birds | Kollokvium

Legg igjen en kommentar

Fyll inn i feltene under, eller klikk på et ikon for å logge inn:

WordPress.com-logo

Du kommenterer med bruk av din WordPress.com konto. Logg ut / Endre )

Twitter picture

Du kommenterer med bruk av din Twitter konto. Logg ut / Endre )

Facebookbilde

Du kommenterer med bruk av din Facebook konto. Logg ut / Endre )

Google+ photo

Du kommenterer med bruk av din Google+ konto. Logg ut / Endre )

Kobler til %s