Fysik och programmering - energi

Från Wikiskola
Hoppa till navigering Hoppa till sök

Fysik och programmering - energi

Javascript och spel Kod: CC By SA spelprogrammering.nu


Hela lektionen ägnas åt programmering om du inte absolut vill göra uppgifterna i boken.


Vi ska programmera med Javascript och lära oss fysik på samma gång. Först kommer vi att använda en känd rörelseekvation och sedan kommer vi att ta med formlerna för lägesenergi och rörelseenergi i syfte att vi ska bekanta oss mer med de fysikaliska modellerna. Vi kommer därför att bli mer bekanta med energiomvandlingen som vi labbade på.

Uppgift:

Här får du tre filer med en boll som rör sig till höger. Det är en html-fil och två .js-filer. Filen energi.js är den du ska ändra koden i, library.js är ett bibliotek med funktioner för att rita bollen och Fysik.html kopplar samman energi.js och library.js och visar resultatet i en webb-sida.
Alla filer måste ligga i samma mapp på din dator för att det ska fungera, spara även filerna med samma namn som står ovan.
När du gjort en ändring i energi.js måste du spara ändringarna och sedan uppdatera webb-sidan med Fysik.html.
Du kan använda Notepad++ att redigera koden i.
Filerna:

Använde den här sidan att titta på din fysikaliska modell: http://www.wikiskola.se/javascript/Fysik.html
koden finns här: http://www.wikiskola.se/javascript/Energi.js
Detta är den biblioteksfil som används av din kodfil: http://www.wikiskola.se/javascript/library.js Du behöver inte förstå den. Den är till för att det ska vara enklare att skapa grafik.

Ändra i koden så bollen rör sig nedåt med konstant fart.

Vi vet sen tidigare att läget för ett fallande objekt ges av:

s = v0t + at2/2

Ändra nu i koden så att bollen faller med en accelererande rörelse.

Det finns textrader i koden för potentiella energin och kinetiska energin.
Lägg in formlerna för dessa i koden.

Facit: (klicka expandera till höger)

Kika inte på lösningen om du inte absolut måste!
Fysikaliska modell av energiomvandling vid fritt fall: http://www.wikiskola.se/javascript/Energi_demo.html
Koden finns här: http://www.wikiskola.se/javascript/Energi_demo.js

Höjden är fallhöjden - s därför att canvas har y-axeln nedåt. Annars skulle den potentiella energin öka under fallet.

Vi dividerar med tusen för att få hanterbara siffror. Decimalerna rundas av.