NITH 2008-2009 / Emner / Realfag(RF) / RF300 Matematikk og fysikk for spillprogrammering  

RF300 Matematikk og fysikk for spillprogrammering

Emnekode
RF300

Emnenavn
Matematikk og fysikk for spillprogrammering

Studiepoeng
10,00

Emneansvarlig
Bjørn O. Listog

Tilsynssensor
Kjetil Svarstad, NTNU

Godkjenningsdato
12.05.2008

Hensikt
Moderne dataspill er basert på bruk av tredimensjonal grafikk. En vesentlig del av spillene er å få fram bevegelser som likner dem vi kjenner fra virkeligheten. Det er derfor viktig for en spillprogrammerer å forstå hvilke fysiske lover som bestemmer legemers bevegelse, og å kunne beskrive disse bevegelsene ved hjelp av matematikk.

Det matematisk-naturvitenskapelige emnet "Matematikk og fysikk for spillprogrammering" skal bidra til at studentene
- forstår grunnleggende lover i mekanikken slik at de blir i stand til å lage realistiske og naturtro modeller av hvordan legemer beveger seg under påvirkning av krefter.
- kan bruke matematikk til å beskrive legemers bevegelse.
- kan representere punkters og legemers posisjon i rommet ved hjelp av matematikk.


Forutsetninger
Generell studiekompetanse og enten 2MX eller 2MZ og 3MZ.

Kompetansemål

1. Studentene skal kunne gi en matematisk beskrivelse av punkter og linjer i planet og i rommet.
Dette betyr blant annet at de skal kunne:

  • regne med kartesiske koordinater i planet og i rommet, med polarkoordinater i planet og med kulekoordinater i rommet
  • beskrive grafen til en funksjon av en variabel, regne ut skjæringspunktene mellom grafer og kunne sette og løse de nødvendig likningene
  • beregne kollisjonsirkler og -sfærer

2. Studentene skal kunne regne med trigonometriske funksjoner
Dette betyr blant annet at de skal kunne:

  • definere vinkelmålet radianer
  • definere de trigonometriske funksjonene sin x, cos x og tan x for generelle vinkler, både i grader og i radianer
  • benytte enhetssirkelen til å definer de trigonometriske funsjonene og forklare sammenhengen mellom disse.
  • kunne bruke relevante trigonometriske identiteter
  • bruke de trigonometriske funksjonene til å gjøre beregninger av vinkler, sider og arealer i trekanter
  • beskrive en periodisk størrelse ved hjelp av en funksjon av typen f(t) = a cos (kt + b) + c, og forklare hvilken betydning de forskjellige størrelsen i dette uttrykket har

3. Studentene skal kunne regne med vektorer og matriser
Dette betyr blant annet at de skal kunne:

  • kunne addere og subtrahere vektorer geometrisk og på koordinatform, og kunne regne ut og anvende skalar- og kryssprodukt
  • definere en matrise og kunne addere, subtrahere og multiplisere matriser
  • multiplisere matriser og vektorer, og beskrive et likningssystem ved hjelp av en matrise og vektorer
  • bruke vektorer og matriser til å beskrive og utføre affine transformasjoner (parallellforskyvning, skalering og rotasjon) i to og tre dimensjoner

4. Studentene skal kunne beskrive fart og akselerasjon ved hjelp av derivasjon
Dette betyr blant annet at de skal kunne:

  • forklare begrepene gjennomsnittlig vekst og momentan vekst
  • finne en tilnærmet verdi for den deriverte ved hjelp av forholdet (delta f)/(delta x)
  • forklare sammenhengen mellom størrelsene forflytning, fart og akselerasjon ved hjelp av den deriverte, både i planet og i rommet
  • forklare sammenhengen mellom størrelsene vinkel, vinkelfart og vinkelakselerasjon ved hjelp av den deriverte

5. Studentene skal kunne bruke Newtons lover, energibetraktninger og til å finne legemers bevegelse i planet og rommet.
Dette betyr blant annet at de skal kunne:

  • definere og forklare Newtons tre lover
  • beregne massen når vekten er kjent
  • beregne samlet kraft på et objekt
  • beregne friksjonskraften
  • bruke Newtons 2. Lov til å beregne akselerasjon
  • definere og beregne arbeid, kinetisk og potensiell energi.
  • bruke sammenhengen mellom arbeid og energi til å finne endelig fart og posisjon.
  • beskrive og bruke loven om bevaring av mekanisk energi.
  • definere massefart og benytte impulsstasen til å beregne resultatet av elastiske og ikke-elastiske kollisjoner i planet og rommet.

6. Studentene skal kunne behandle sirkelbevegelser og forstå rotasjonsdynamikk.
Dette betyr blant annet at de skal kunne:

  • definere og beregne vinkelbevegelse, vinkel- og tengentiell fart og akselereasjon
  • definere og beregne dreiemoment
  • modifisere og benytte bevegelsesligningene og Newons 2. lov på roterende objekter.
Gjennomføring
Emnet undervises i høstsemesteret. Undervisningen er i stor grad basert på regneøvelser for å demonstrere de fysiske lovene og matematiske teknikkene som inngår. Programmeringsoppgaver i C++ inngår som en del av øvelsene.

Karakterskala
Bokstavkarakter / Letter grade

Vitnemålstekst
Emnet gir innsikt i de grunnleggende fysiske lovene som er nødvendige for å beskrive legemers translatoriske og rotasjonsbevegelse i to og tre dimensjoner. Emnet gir en innføring i de matematiske metodene som er nødvendige for å beskrive og beregne slike bevegelser. Temaer som tas opp er Newtons lover, spinnsetning, bevegelsesmengde, skjæring mellom grafer, periodiske funksjoner, vektorer og matriser og transformasjoner.





Litteraturliste:
Tittel Forfatter Forlag Utgitt år ISBN Utgave Kommentar Type Litteratur
Fundamentals of Math and Physics for Game Programmers  Wendy Stahler  Prentice Hall  2006  0-13-168742-5      Bok  Pensum 

Vurdering / Assessment

Vekting (%):
60

Vurderingstype:
Skriftlig / Written

Hjelpemiddel:
Formler og tabeller / Fomulas and tables
Kalkulator / Calculator

Varighet:
180 min.

Semester:
Høst / Autumn


Vekting (%):
40

Vurderingstype:
Skriftlig / Written

Hjelpemiddel:
Formler og tabeller / Fomulas and tables
Kalkulator / Calculator

Varighet:
180 min.

Semester:
Høst / Autumn