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 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.
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: er lik impuls etter kollisjon:
. 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 og etter
. 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. Restitusjonskoeffisient: . Ved kollisjon mot en stillestående vegg forenkles den til
hvis en ser bort fra at hastigheten har skiftet retning. Da blir også
, altså forholdet mellom kinetisk energi etter og før støtet.
I ligningene over er massene og
og deres hastigheter før og etter kollisjon merket med A og B, før:
og etter:
.
Én kommentar