Eksamen mai 1998
Eksamen Grafisk databehandling 19. mai 1998, kl 0900 - 1300. Alle skrevne og trykte hjelpemidler tillatt. Dersom du finner noe uklart i oppgaveteksten så gjør dine egne forutsetninger og redegjør for disse. |
Det forutsettes programmering av OpenGL i MS Visual C++. All den nødvendige koden skal kunne plasseres i xxView-klassen. Konsentrer deg om den koden det eksplisitt spørres etter. All annen kode som skal til for å få OpenGL til å fungere i VC++ er irrelevant for besvarelsen.
I oppgaven kan du forutsette følgende:
#define PI 3.14159265359f #define TURNS_PR_UNITLENGTH 2.0f
Oppgave 1a
Skriv en funksjon:
void DrawBolt(float R,float r,float Len,float len)
som tegner en bolt som står i xy-planet med hodet i
retning av z-aksen. Hodet R: ytre radius på boltens hode |
Oppgave 1b
Forklar så detaljert som mulig med skisser og ord hvordan du vil lage funksjonen:
void DrawNut(float R,float r, float len)
som skal tegne en mutter som ligger på xy-planet. Det vil styrke besvarelsen dersom du kan skrive programkode, men en god forklaring er tilstrekkelig.
|
Oppgave 1c
Gitt de to funksjonene:
void DrawBolt(float R,float r,float Len,float len) void DrawNut(float R,float r,float len)
Skriv og forklar den nødvendige koden for en animasjon av mutteren som skrur seg på bolten, eller omvendt.
Oppgave 2
For hvert av begrepene nedenfor skal du:
- Forklare betydningen av begrepet
- Beskrive hvordan de er tilgjengelige i OpenGL
- Gi et eksempel på relevant anvendelse
Ta for deg ett av begrepene og forklar hvordan du tenker deg implementasjonen.
Culling
Antialiasing
Fog
Mipmaps
Gouraudshading
Du trenger ikke skrive programkode i denne oppgaven dersom du ikke selv synes det forenkler forklaringen.
Forslag til løsning
Et program som dekker det meste er: solution.zip
Skrevet om til JOGL/NetBeans: https://svn.hiof.no/svn/psource/JOGL/bolt