Side 1 av 11 EKSAMEN I EMNE TDT4230 VISUALISERING FREDAG 10. DESEMBER 2010 KL. 09.00 13.00 LØSNINGSFORSLAG OPPGAVE 1 Kubiske Bézier-kurver og flater a) Sammenhengen mellom vektoren av blandefunksjoner Bu ( ) Bu ( ) T u 3u 3u1 3u 6u 3u 3u 3u 3 u og basismatrisen M er gitt ved relasjonen: Bu ( ) U M der U er parametervektoren: U u u u 1 Dette gir basismatrisen: M 1 3 3 1 3 6 3 0 3 3 0 0 1 0 0 0
Side 2 av 11 b) Den geometriske konsekvensen av at konvekst skallegenskapen er oppfylt, er at kurvesegmentet i sin helhet ligger inne i skallet. Det samme gjelder for en følge av kurvesegmenter som i sin helhet vil ligge inne i skallet spent ut av samtlige kontrollpunkt. For at konvekst skallegenskapen skal være oppfylt, kreves at: 1. Summen av blandefunksjonene er 1 uavhengig av parameteren u. 2. Ingen av blandefunksjonene skal gi negativ verdi i parameterintervallet for kurvesegmentet. Vi har: B ( u) B ( u) B ( u) B ( u) 0 1 2 3 u 3u 3u1 3u 6u 3u 3u 3u 3 u 1 Det første kravet er altså oppfylt. Av: B ( u) (1 u) 0 B ( u) 3 u(1 u) 1 B u u u 2 2( ) 3 (1 ) B ( u) u 3 3 3 2 ser vi at også at hver av blandefunksjonene er ikke-negative i hele parameterintervallet u 01. Vilkårene for konvekst skallegenskapen er altså oppfylt.
Side 3 av 11 c) Et punkt på en Bézier-kurve kan fastlegges ved hjelp av Casteljau-konstruksjon: Linjestykkene mellom kontrollpunktene deles i samme forhold (eventuelt gitt av verdien av parameteren u). Linjestykkene mellom delingspunktene deles i samme forhold. For en kubisk Bézierkurve vil delingspunktet på linjen mellom de to sist bestemte punktene være et punkt på kurven. d) For et kubisk kurvesegment har en fire frihetsgrader som kan brukes til å forme kurven. For Bézierkurven brukes to av disse som endepunkter for kurvesegmentet. Dersom vi tenker oss at vi bruker de to resterende frihetsgradene til sikre C 2 -kontinuitet i det ene endepunktet ved å bestemme den parametrisk førstederiverte og den parametrisk andrederiverte, ville vi ikke ha noe igjen til å forme kurven ved det andre endepunktet. Derfor kan vi i skjøten mellom to Bézier-kurvesegmenter maksimalt sikre C 1 som parametrisk kontinuitet. e) Et uttrykk for en kubisk biparametrisk Bézier-flatelapp er: T Quv (, ) UMPM V der U og V er parametervektorene: T U u u u V v v v 1 1 P er matrisen av kontrollpunkt: p p p p p p p p P p p p p p p p p og M basismatrisen. 00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33
Side 4 av 11 OPPGAVE 2 Strålesporingsmodellen a) Strålesporingsmodellens ide er å finne opprinnelsen til en stråle fra scenen som etter å ha passert gjennom en piksel, treffer øyet. Fargen til dette objektpunktet beregnes ved bruk av Phongs refleksjonsmodell. Men omgivelsene gir også bidrag til denne fargen. Derfor reflekteres den opprinnelige strålen videre inn i scenen. Fargen til det nye objektpunktet, som igjen beregnes ved bruk av Phongs refleksjonsmodell, blir reflektert tilbake. Denne prosessen gjentas rekursivt inntil et stoppekriterium er oppfylt. Dette kan modelleres med tillegget ksir ktit i Phongs refleksjonsmodell: Si I k ( ) ( ) 2 dii d li n k sii s hi n k aii a i a bdi cd i k I k I k I s r t t a a I r er intensiteten av lyset reflektert inn på objektpunkt og I t intensiteten av transmittert lys i tilfelle at objektet er transparent. k s og k t er henholdsvis refleksjons- og transmisjonskoeffisienter. Modellen tar bare hensyn til refleksjon i flater som har en grad av glans. Diffus spredning av lys mellom matte flater blir ikke tatt hensyn til. b) En lysbuffer realiseres ved å legge en akseorientert kube rundt en lyskilde med lyskilden midt i kuben. Kubens sideflater deles inn i et regulert mønster av kvadratiske ruter. Polygonene i scenen projiseres inn på kuben. For hver kvadratisk rute holdes en liste av overlappende polygoner. Hensikten med lysbufferen er å effektivisere behandlingen av skyggestråler ved å avgrense antall polygoner som må undersøkes for treff. For hver rute holdes listen av overlappende polygoner sortert etter økende avstand fra lyskilden. Når en skyggestråle skytes fra et objektpunkt mot lyskilden, finner en ruten som strålen treffer. Treff med polygonene undersøkes inntil en konstaterer skjæring eller inntil resten av polygonene ligger bak objektpunktet. Dersom skjæring er konstatert, ligger objektpunktet i skyggen av vedkommende lyskilde. c) Ved topass strålesporing oppnår en å få tatt hensyn til at speilende flater reflekterer lyset fra lyskilder ut over omgivelsene. En oppnår også å få bildet av lyskilder ( caustics ) slik det blir etter at lyset har gått gjennom brytende transparente legemer (for eksempel linser). Metoden består i: Pass 1: Lyskildene skyter stråler mot speilende flater og mot transparente objekter Lyskart dannes på diffust spredende flater Pass 2: Normal strålesporing gjennomføres Legger til informasjonen fra lyskartet
Side 5 av 11 d) Distribuert strålesporing gir økt realisme ved: Ikke perfekte refleksjoner Ikke perfekt transmisjon Begrenset dybdeskarphet Bevegelsesuskarphet Som tilleggsgevinst får en: Antialiasing Halvskygger Metoden er: Deler inn pikselen i 4x4 ruter Skyter en stråle på tilfeldig plass i hver rute Hver stråle merkes Merket avgjør: Hvor strålen går gjennom linsa Hvordan strålen passerer gjennom refleksjons- og transmisjonslobene
Side 6 av 11 Strålens merke avgjør tabelloppslaget for refleksjonslobene. Tilsvarende gjelder for transmisjonslobene og for linsa. OPPGAVE 3 Fargemodeller Figur 1 Figur 2
Side 7 av 11 a) Vi beregner de tre fargekoordinatene X, Y og Z ved hjelp av den målte spektrale fordelingen I( ) slik: X k I( ) f d Y k I( ) f d Z k I( ) f d y z x Integrasjonen utføres numerisk ved hjelp av de tabulerte funksjonene for de tre standard CIE primærfargene: Koordinatene X, Y og Z er entydige uttrykk for den målte fargen. (Likevel er det slik at flere spektrale fordelinger I( ) kan gi samme koordinatverdier.) b) Mengden av alle mulige farger representeres av et volum spent ut av koordinatene X, Y og Z i et kartesisk koordinatsystem: Volumet defineres av en romkurve som kommer i stand ved å plotte samhørende verdier av f x, f y og f z for varierende bølgelengder. Kurven lukkes med purpurlinjen. Volumet dannes ved å sveipe og samtidig skalere kurven langs direktriser gjennom origo. Planet X Y Z 1 skjærer volumet. Projeksjonen av snittet inn i planet Z 0 er kjent som CIE kromasitetsdiagram. Koordinatene i kromasitetsdiagrammet er normaliserte X og Y koordinater: X x X Y Z Y y X Y Z
Side 8 av 11 c) Svarene er: En mulig posisjon for hvitt er det punktet i kromasitetsdiagrammet som er merket C. Det er slik at hvitt defineres på forskjellige måter med referanse til forskjellige standard lyskilder. De forskjellige hvitverdiene ligger i nærheten av punktet C. Om en trekker en rett linje gjennom punktet som velges som hvitt og et annet punkt i kromasitetsdiagrammet som svarer til en bestemt farge, er komplementærfargen den fargen som ligger på den samme linjen på motsatt side av hvitt og som er slik at de to fargene blandes til hvitt. De to fargene ligger i samme relative avstand fra diagrammets kant i forhold til hvitt.
Side 9 av 11 Vi ser på en spektral fordeling. Dominat bølgelengde er bølgelengden til den spektrallinjen som svarer til det fargeinntrykket som fordelingen gir. En spektral fordeling har fargekoordinater X, Y og Z. De normaliserte kromasitetsverdiene er x og y. Dette er et punkt i kromasitetsdiagrammet. Den dominante bølgelengden er bølgelengden der en linje gjennom punktet for hvitt og punktet ( x, y ) skjærer kromasitetsdiagrammets kantlinje. C s er den dominerende bølgelengden for fargen C 1. C sp er den dominerende bølgelengden for fargen C 2. Fargemetning er et uttrykk for fargens renhet i forhold til den spektrale fargen som representeres på kromasitetsdiagrammets kantlinje. Med referanse til figuren over er fargemetningen for fargene C 1 og C 2 henholdsvis: CC CC og 1 2 s CC C C p
Side 10 av 11 d) Tristimulifargene R, G og B spenner ut en trekant i kromasitetsdiagrammet. Denne trekanten kalles en fargegamut. De fargene som kan representeres på monitoren, er de fargene som ligger inne i denne trekanten. Tristimulifargene R, G og B vil være noe forskjellige fra monitortype til monitortype og fra fabrikat til fabrikat. Derfor vil ikke fargegamutene helt overlappe. Farger som ikke felles for gamutene, kan ikke transformeres fra den ene til den andre monitoren. OPPGAVE 4 Synlige flater a) Painters algoritme går ut på å sortere polygonene som skal avbildes etter største avstand fra bildeplanet slik den polygonen som ligger bakerst blir tegnet først og de øvrige polygonene blir tegnet over i sortert rekkefølge. Bildelageret er på forhånd fylt med bakgrunnsfarge. I noen, ikke helt uvanlige tilfelle gir dette feil resultat. Nedenstående skisser er eksempler:
Side 11 av 11 b) Overlappsproblemet løses slik: 1. P er den polygonen som for øyeblikket er først i listen over sorterte polygoner 2. Før P eventuelt kan tegnes, må den testes mot hver av de øvrige polygonene som følger etter i listen 3. For polygon Q avbrytes testen så snart det kan svares ja på ett av de følgende spørsmålene: a. Er det fritt for overlapp av koordinater i z-retningen? b. Er det fritt for overlapp av koordinater i x-retningen? c. Er det fritt for overlapp av koordinater i y-retningen? d. Er P i sin helhet bak det planet som inneholder Q? Se figur 1. e. Er Q i sin helhet foran det planet som inneholder P? Se figur 2 f. Er projeksjonene av P og Q uten overlapp med hverandre? 4. Dersom ett av spørsmålene i punkt 3 ble besvart med ja, beholder P og Q sine relative posisjoner og P testes mot neste polygon i listen ved å starte på punkt 3 igjen. 5. Dersom ingen av spørsmålene i punkt 3 ble besvart med ja, kan det hende at P helt eller delvis blokkerer Q. Derfor stilles følgende to spørsmål. Dersom svaret på ett av dem er ja, sette Q inn som den første polygonen i listene over gjenværende polygon og ny testing startes med punkt 2 a. Er Q i sin helhet bak planet som inneholder P? Se figur 3. b. Er P i sin helhet foran det planet som inneholder Q? Se figur 4. 6. Dersom overlappsproblemet fortsatt ikke er løst, må en av polygonene splittes i mindre deler og testen fortsettes med de nye polygonene på rett plass i den sorterte listen. P er i sin helhet bak planet som Q ligger i Q ligger i sin helhet foran planet som inneholder P Q P Q P z Figur 1 x z Figur 2 x Q er i sin helhet bak planet som inneholder P P er i sin helhet foran planet som inneholder Q P Q P Q z Figur 3 x z Figur 4 x