PROJEKTKATALOG 20100125.pdf - Institut for Matematik og ...
PROJEKTKATALOG 20100125.pdf - Institut for Matematik og ...
PROJEKTKATALOG 20100125.pdf - Institut for Matematik og ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
N a t u r v i d e n s k a b e l i g t P r o j e k t 2 0 1 0<br />
Projekt 31: <strong>Matematik</strong>ken bag 3D-grafik i<br />
computerspil<br />
Vejleder: Rune Larsen, rular@imada.sdu.dk<br />
<strong>Institut</strong>: <strong>Institut</strong> <strong>for</strong> <strong>Matematik</strong> <strong>og</strong> Datal<strong>og</strong>i (IMADA)<br />
Praktisk del: IMADA<br />
Gruppeplacering: IMADA<br />
Gruppestørrelse: Mindst 3 <strong>og</strong> max 5 deltagere.<br />
To gruppe kan arbejde med projektet.<br />
Kommentarer: Ingen.<br />
Keywords:<br />
3D-grafik, trans<strong>for</strong>mationer, hom<strong>og</strong>ene<br />
koordinater, rendering, shading.<br />
Abstract<br />
I pr<strong>og</strong>rammering af computerspil bruges mange metoder <strong>og</strong> teknikker fra både datal<strong>og</strong>i <strong>og</strong> matematik.<br />
Det mest centrale eksempel herpå er 3D grafik, hvor objekter opbygges af trekanter i et<br />
tredimensionelt koordinatsystem. For at kunne placere <strong>og</strong> animere de opbyggede objekter i spillene,<br />
er det nødvendigt at kunne translatere, rotere <strong>og</strong> skalere dem. Ydermere skal de projiceres<br />
perspektivmæssigt korrekt til skærmens to dimensioner. Hertil bruges matriceregning, dvs. metoder<br />
fra lineær algebra. Mens 3x3 matricer er nok til at implementere rotationer <strong>og</strong> skaleringer,<br />
kræver translationer <strong>og</strong> projicering 4x4 matricer. <strong>Matematik</strong>ken bag de første tre er relativ simpel,<br />
mens projiceringen er mere involveret. Også i <strong>for</strong>bindelse med farvelægning (shading) af<br />
objekternes trekanter optræder der matematisk baserede metoder, primært vektorregning.<br />
Ideen med projektet er at studere principperne bag 3D spil på computere. Afhængigt af gruppen<br />
kan fokus i projektet flyttes mellem de datal<strong>og</strong>iske <strong>og</strong> matematiske aspekter af emnet. Eksempler<br />
på indgangsvinkler kan være:<br />
1. Et simpelt spil implementeres med fokus på et specielt område f.eks. Alternative<br />
inputmetoder, generering af kort, level of detail, AI etc.<br />
2. Opbygningen af projektions, skalerings, translations <strong>og</strong> rotations matricer kan undersøges <strong>og</strong><br />
gennemgås ud fra et matematisk synspunkt.<br />
Minikurser<br />
Obligatorisk: Projektarbejde (LaTeX, Nat)<br />
Litteraturliste over metode artikler, som udleveres til de studerende<br />
Bemærk at den endelig liste afhænger meget af valg af retning på projektet:<br />
• En guide til pr<strong>og</strong>rammering af 3D spil: http://nehe.gamedev.net/<br />
• Afsnit 3 <strong>og</strong> Appendix G i "The OpenGL Pr<strong>og</strong>ramming Guide: The Official Guide to<br />
Learning OpenGL" af Shreiner, Woo, Neider, Davis. Addison-Wesley. En ældre version<br />
af b<strong>og</strong>en kan ses online på http://fly.cc.fer.hr/~unreal/theredbook/<br />
• Spørg evt. over mail. Projektet kan være inspireret af deltagernes ideer.<br />
33