UNIVERSITETET I OSLO

Like dokumenter
Universitetet i Agder Fakultet for teknologi og realfag LØSNINGSFORSLAG. Dato: 11. desember 2008 Varighet: Antall sider inkl.

Forelesningsnotater SIF8039/ Grafisk databehandling

a. Hva er de inverse transformasjonene avfølgende tre transformasjoner T, R og S: θ θ sin( ) cos( ) Fasit: 1 s x cos( θ) sin( θ) 0 0 y y z

Norges Informasjonstekonlogiske Høgskole

INF Obligatorisk oppgave 2

RF5100 Lineær algebra Leksjon 12

Oppgave 1 (25 %) - Flervalgsoppgaver

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

INF-MAT5370. Grafer og datastrukturer

HØGSKOLEN I BERGEN Avdeling for ingeniørutdanning

Emne 6. Lineære transformasjoner. Del 1

Kap. 6 Ortogonalitet og minste kvadrater

Eksamen i Geometrisk Modellering

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Forelesningsnotater SIF8039/ Grafisk databehandling

UNIVERSITETET I OSLO

NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE

UNIVERSITETET I OSLO

2D Transformasjoner (s. 51 i VTK boken) Translasjon. Del 2 Grafisk databehandling forts. Rotasjon. Skalering. y x = x + d x, y = y + d y.

UNIVERSITETET I OSLO

LØSNINGSANTYDNING. HØGSKOLEN I AGDER Fakultet for teknologi. DAT 200 Grafisk Databehandling. Ingen. Klasse(r): 2DTM, 2DT, 2 Siving, DT

UNIVERSITETET I OSLO

EKSAMEN I EMNE TDT4195 BILDETEKNIKK ONSDAG 3. JUNI 2009 KL

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

TDT4195 Bildeteknikk

EKSAMENSOPPGAVE. INF-1100 Innføring i programmering og datamaskiners virkemåte. Ingen. Elektronisk (WiseFlow) Robert Pettersen

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

UNIVERSITETET I OSLO

EKSAMEN I EMNE TDT4195/SIF8043 BILDETEKNIKK ONSDAG 19. MAI 2004 KL

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen R1, Våren 2015

KONTINUASJONSEKSAMEN I EMNE TDT4230 VISUALISERING TIRSDAG 9. AUGUST 2005 KL LØSNINGSFORSLAG

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser

Norges Informasjonstekonlogiske Høgskole

UNIVERSITETET I OSLO

LØSNINGSANTYDNING EKSAMEN

UNIVERSITETET I OSLO

EKSAMEN RF3100 Matematikk og fysikk

KONTINUASJONSEKSAMEN I EMNE TDT4230 VISUALISERING MANDAG 7. AUGUST 2006 KL LØSNINGSFORSLAG

UNIVERSITETET I OSLO

MA-132 Geometri Torsdag 4. desember 2008 kl Tillatte hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

UNIVERSITETET I OSLO

5.7 Løsningsforslag til oppgaver i avsnitt 5.7

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

1 Geometri R2 Oppgaver

UNIVERSITETET I OSLO

Høgskolen i Oslo og Akershus. c) Et annet likningssystem er gitt som. t Bestem parametrene s og t slik at likningssystemet blir inkonsistent.

EKSAMENSOPPGAVE. : INF-1400 Objektorientert programmering. Oppgavesettet er på 5 sider inklusiv forside

Geometri R2, Prøve 2 løsning

UNIVERSITETET I OSLO

Oppgaver MAT2500 høst 2011

d. Utviklingssteg for å utforme animasjonssekvenser:

UNIVERSITETET I OSLO

INF{3 4}320 - Obligatorisk oppgave 3

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

R1-eksamen høsten 2017

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

LØSNINGSFORSLAG. Universitetet i Agder Fakultet for Teknologi og realfag. Dato: 03. desember 2009 Varighet: Antall sider inkl.

EKSAMEN I EMNE TDT4230 VISUALISERING TIRSDAG 18. DESEMBER 2007 KL LØSNINGSFORSLAG

Eksamen MA-104 Geometri, 22. mai 2006

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Test, 1 Geometri. 1.2 Regning med vektorer. X Riktig. X Galt. R2, Geometri Quiz løsning. Grete Larsen. 1) En vektor har lengde.

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Finn volum og overateareal til følgende gurer. Tegn gjerne gurene.

UNIVERSITETET I OSLO

R2 eksamen høsten 2017 løsningsforslag

R2 - Vektorer i rommet

Eksamen i Geometrisk Modellering

EKSAMEN I NUMERISK LØSNING AV DIFFERENSIALLIGNINGER MED DIFFERANSEMETODER (TMA4212)

HØGSKOLEN I BERGEN Avdeling for Ingeniørutdanning

Høgskoleni østfold EKSAMEN. ITD33506 Bildebehandling og monstergjenkjenning. Dato: Eksamenstid: kl 9.00 til kl 12.00

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 2.9 Løsningsforslag til oppgavene i avsnitt Løsningsforslag. a. b.

UNIVERSITETET I OSLO

Tid: 3 timer Hjelpemidler: Vanlige skrivesaker, passer, linjal med centimetermål og vinkelmåler er tillatt. og setter f u ln

UNIVERSITETET I OSLO

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD37018 Anvendt Robotteknikk. Dato og tid: , 3 timer. Faglærer: Haris Jasarevic

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

RF5100 Lineær algebra Leksjon 10

Transkript:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF330 Metoder i grafisk databehandling og diskret geometri Eksamensdag: 3. desember 010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: Ingen Ingen Hver oppgave teller like mye Kontroller at oppgavesettet er komplett før du begynner å besvare spørsmålene. Oppgave 1 Data-grafikk Forklar følgende begreper i datagrafikk-sammenheng: 1. Rasterisering.. Specular reflection (som komponent i OpenGL lys-modell). 3. Normal mapping. 4. Ambient occlusion. 1. Rasterisering: prosessen som tar geometriske primitiver (punkter, linjer, trekanter) med assosierte dato som input og genererer fragmenter tilsvarende pixler på skjermen.. Specular reflection: modell for lysrefleksjon fra en (delvis) reflekterende flate. Andelen lys som reflekteres i en gitt retning er en funksjon av lysretning, synsretning og flatenormal. 3. Normal mapping: teknikk for skyggelegging basert på å slå normal-vektorer opp i en tekstur, istedenfor som vertex attributter. 4. Ambient occlusion: Teknikk for skyggelegging basert på å beregne hvor mye bakgrunnslys som treffer/reflekteres fra et punkt på en flate. Beregner en faktor for hvor stor del av en kule rundt punktet som er i skygge for objektet selv. (Fortsettes på side.)

Eksamen i INF330, 3. desember 010 Side Oppgave Barysentriske koordinater Vi skal se på en trekant T = [v 0, v 1, v ]. 1. Definer midpunktet til T ved hjelp av barysentriske koordinater. Hva er de barysentriske koordinatene til v 0 og til midtpunktet på segmentet [v 0, v ]?. Anta vi har fått oppgitt normal-vektorer n 0, n 1, n i hjørnene til T. Uttrykk den lineære interpolanten n(x) til normal-vektorene ved hjelp av barysentriske koordinater. 3. Hva er den interpolerte normalvektoren n(x) for x = v 0? Kan vi anta at n(x) er en enhetsvektor for et vilkårlig punkt x? Begrunn svaret. 4. Forklar hvordan man i OpenGL kan interpolere normaler over trekantene, dvs. pr fragment. Hvilke type variabler brukes? 1. Midpunktet til T er gitt ved 1 3 v 0 + 1 3 v 1 + 1 3 v. Midpunktet til segmentet er gitt ved koordinatene ( 1, 0, 1 ). n(x) = i=0 α i(x)n i der (α i (x)) er de barysentriske koordinatene til x mhp T. 3. n(v 0 ) = n 0. Generelt er ikke n(x) en enhets-vektor fordi lengden til en sum av enhetsvektorer ikke nødvendigvis er lik 1. 4. En definerer normalvektorer som vertex attributter, og setter opp vertex- og fragmentshadere med normalvektorene som varying variable slik at de blir interpolert over primitiver. Oppgave 3 Transformasjoner I denne oppgaven skal vi se på transformasjoner. Anta du har en funksjon drawobject() som tegner ut et objekt som er inneholdt i en kube K med sidelengder og sentrert i origo. 1. Angi en view-transformasjon i form av to elementære affine transformasjonsmatriser som setter kamera i posisjon (5, 0, 0), innrettet i retning ( 1, 0, 0) og med oppvektor (0, 1, 0).. Angi en model-transformasjon i form av en affin transformasjonsmatrise som speilvender med hensyn på planet definert ved z = 0. 3. Bestem et view frustum definert ved to punkter og ett plan som passer med konfigurasjonen over. View frustumet skal være minst mulig og slik at hele kuben K synes på skjermen. 4. Skisser OpenGL kode som tegner ut objektet som beskrevet i oppgavene over. (Fortsettes på side 3.)

Eksamen i INF330, 3. desember 010 Side 3 1. Roter 90 grader om y-aksen, translater 5 enheter langs x-aksen: cos( 90) 0 sin( 90) 0 1 0 0 5 0 0 1 0 1 0 0 5 RT = 0 1 0 0 0 1 0 0 sin( 90) 0 cos( 90) 0 0 0 1 0 = 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 = 0 1 0 0 1 0 0 5 0 0 0 1. Skaler (x, y, z) med (1, 1, 1). 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3. I kamera koordinater: View frustumet er bestemt av hjørnene ( 1, 1, 4) og (1, 1, 4), far plan settes til -6. I globale koordinater: View frustumet er bestemt av hjørnene (1, 1, 1) og (1, 1, 1), far plan settes til -1. 4. Kode: // Perspective transformasjon glmatrixmode(gl_projection); glfrustum(-1.0,1.0,-1.0,1.0,4.0,6.0); // View transformasjon glmatrixmode(gl_modelview); glloadidentity(); glrotatef(-90,0.0,1.0,0.0); gltranslatef(-5,0.0,0.0); // Model transformasjon glscalef(1.0,1.0,-1.0); drawobject(); (Fortsettes på side 4.)

Eksamen i INF330, 3. desember 010 Side 4 Oppgave 4 Projeksjoner Anta at vi har en bounding-box B om et objekt, angitt ved minimumshjørne (l, b, n) og maksimumshjørne (r, t, f). 1. Anta først en ortografisk kamera-modell. Angi en affin transformasjon bestående av en translasjon og en skalering som transformerer B til det kanoniske view-volumet [ 1, 1] 3.. Utled den resulterende homogene transformasjonsmatrisen. Hvordan settes en slik projection-matrise enklest opp i OpenGL? 3. Hva er en (syntetisk) perspektiv kamera-modell (pin-hole camera)? Skriv ned et uttrykk for hvordan et punkt (x, y, z) projiseres til en skjerm med avstand d fra kameraet. 4. Anta en perspektiv kamera-modell og illustrer med figur hvordan view frustumet transformeres til det kanoniske view-volumet. Er dette en affin transformasjon? 1. Translater senter av kuben til origo, dvs med vektoren ( l+r vi med faktorene (,, ) r l t b f n, b+t, n+f ). Deretter skalerer. Kall glortho(l,r,b,t,n,f) 0 0 0 r l 1 0 0 l+r 0 0 l+r ST = 0 0 0 t b 0 1 0 b+t r l r l 0 0 0 f n 0 0 1 n+f = 0 0 b+t t b t b 0 0 n+f f n f n 0 0 0 1 0 0 0 1 0 0 0 1 3. I en syntetisk perspektiv kamera-modell projiseres lys fra et objekt mot et punkt (camera center), og treffer en skjerm på veien. (x, y, z) (dx/z, dy/z, d). 4. Dette er ikke en affin transformasjon pga perspective division. (Fortsettes på side 5.)

Eksamen i INF330, 3. desember 010 Side 5 Oppgave 5 Trekant-mesh I denne oppgaven skal vi se på trekant-mesh. 1. Forklar hva mesh connectivity/topology er, og skisser hvordan dette kan implementeres med en trekant-basert datastruktur.. Hvordan beregner man en enhets normal-vektor til en trekant? 3. Gi eksempel på hvordan man kan beregne normalvektorer i vertexene i en triangulering. 4. Hva betyr det at et trekant-mesh har konsistent trekant-orientering og hvilken rolle spiller dette for beregning av normal-vektorer. 1. Mesh connectivity/topology er naboskapsrelasjoner mellom noder, kanter og trekanter i et mesh. I en trekant-basert datastruktur er topologien påtrekant-nivå: hver trekant har en peker til hver av dens nabo-trekanter. I tillegg har hver node en peker til en trekant - en såkalt leading triangle.. Normal-vektor til en trekant T = [v 0, v 1, v ] er gitt ved f.eks ñ = (v 1 v 0 ) (v v 0 ) Denne vektoren kan eventuelt normaliseres: n = ñ/ ñ 3. Man kan f.eks for hver node: ta gjennomsnittet til alle trekanter som inneholder noden, evt normaler vektet med areal eller vinkel. 4. Det betyr at alle trekanter kan orienteres slik at par av nabotrekanter har samme orientering av nodene. To nabotrekanter har samme orientering hvis deres felles noder er nummerert i motsatt rekkfølge. Hvis trekantorienteringen ikke er konsistent vil trekantnormalene ikke være orientert på konsistent måte. F.eks kan to trekanter som ligger i samme plan ha normaler som peker i motsatt retning. Et gjennomsnitt basert på inkonsistente normaler gir ikke mening.