Sid a NTNU Norgs tknisk-naturitnskaplig unirsitt Fakultt for informasjonstknologi, matmatikk og lktrotknikk Institutt for datatknikk og informasjonsitnskap KONTINUASJONSEKSAMEN I FAG SIF89 GRAFIKK, BILDEBEHANDLING OG MENNESKE-MASKINGRENSESNITT ONSDAG. JULI KL. 9. 4. LØSNINGSFORSLAG OPPGAVE Bildbandling Konolusjon (5 pong) a) Dfinr D konolusjon (folding). F.ks. ligning 4.- (sid 6 i n bok) b) Dfinr konolusjonstormt. Konolusjonstormt (ordt nnt på s. 6), rlasjon: 4.- (s. 6) c) Diskutr anndlsr a, og algoritmr for a) og b) innn bildbandling. "Rtt-frm" algoritm for konolusjon: fir løkkr Smartr algoritm for konolusjon: bruk kon.tormt: FFT og n bildmultiplikasjon. Diskutr anndlsr: no md la-/ø-passfiltr (? ansklig md 'løsn.forslag' på diskusjon, r dt ikk?)
Sid a OPPGAVE Bildbandling - Houg-transformn (5 pong) a) Gi ksmpl på to anndlsr innn bildanals. To anndlsr a Houg to krati forslag (linj OG f.ks. sirklgjnkjnning?) b) Gi algoritm. Forklar all fri paramtr. Houg-algoritm: s. 587-59. Fri paramtr: dimnsjon på paramtrplan (D for linjr, D for sirklr), "oppløsning" på akkumulatorclln, grnsr for paramtr utn naturlig grnsr (f.ks. a og b i fig..7, s. 587). En annn iktig paramtr r trskln når man ttr transformasjonn ltr ttr 'strk' punktr i paramtrrommt. c) Diskutr fordlr og ulmpr. Fordl: global/robust mønstrgjnkjnning (i motstning f.ks. til kantlnking) Ulmpr: brgningsintnsi (langsom) når paramtrrommt blir stort (og nttig), samt at dn global modlln r 'ard': man finnr f.ks. idll ltrukn linjr dr dt gntlig r stipld linjr, tc. OPPGAVE Grafikk Fjrning a skjult flatr (5 pong) a) Forklar a mtodn back-fac rmoal (back-fac culling) går ut på og is ordan mtodn kan ralisrs d jlp a nkl ktorr som alltid il ær dfinrt når n skal gjngi n scn. Back-fac rmoal r å fjrn polgonr som ndr bort fra øpunktt og som drmd ikk r snlig. Dtt gjørs for å rdusr mngdn a polgonr som må undrkasts bandling md mr brgningskrnd algoritmr. Eksmplr på situasjonr dr backfac rmoal kan ær aktult, r: Fjrning a skjult flatr md aansrt algoritmr Fjrning a skjult flatr før abildningsalgoritmr tas i bruk I forbindls md ralistisk abildning il følgnd to ktorr alltid ær dfinrt: Utadrttt flatnormal n for rt polgon Vktor rttt fra polgonts midtpunkt til øpunktt (dt som il ær gitt, r polgonts midtpunkt og øpunktt ora ktorn r gitt). For ortografisk projksjonr il projksjonsrtningn ær ktorn. Dn nkl brgningn som skal til for å ralisr back-fac rmoal, r brgning a skalarproduktt n. Drsom dtt skalarproduktt r positit, kan polgont ær snlig. Er dt ngatit, r polgont dfinitit ikk snlig.
Sid a b) Forklar paintrs algoritm og is non situasjonr dr dn il gi fil i dt rsultrnd bildt. Paintrs algoritm går slik:. Stt l bildlagrt til bakgrunnsfargn. Sortr all polgonr ttr størst astand fra bildplant. For rt polgon i sortrt ordn: Gjngi ( mal ) l polgont Virkningn r at polgonr som liggr nær bildplant mals or polgonr som liggr lngr bak. Eksmplr på situasjonr dr paintrs algoritm filr, illustrrs a følgnd skissr: Vi forutsttr at dn lill flatlappn r skjult bak dn stor. c) Forklar ordan -buffralgoritmn for fjrning a skjult flatr irkr. Forutstt at du kjnnr koffisintn til likningn for plant som innoldr flatlappn du for øblikkt bandlr. Vis ordan du kan fornkl dbdbrgningn så lng du bgr dg langs n scanlinj (utnttls a korns). Z-buffralgoritmn bandlr i prinsippt scnn polgon for polgon. Algoritmn går slik:. Initirr bildlagrt md bakgrunnsfargn. Initirr -buffrn md n -rdi som liggr bak d -rdin som r mulig (for ksmpl dt ngati tallt md størst tallrdi). For rt piksl: Sr gjnnom rt piksl fra projksjonssntrt (llr for parallllprojksjon i projksjonsrtningn) Drsom polgon-punktt snsstråln trffr, ar -koordinat nærmr øt nn dn sist -rdin som bl lagrt, rstatts fargn i bildlagrt md dt n polgonts farg og -rdin i -buffrn md dt n polgonts -rdi.
Sid 4 a 4 Korns kan utntts til å fornkl dbdbrgningn på grunn a følgnd sammnng: Polgont liggr i flatn md likning: a+ b+ c + d To punkt i polgont r P og P slik at: Innstting i flatlikningn og subtraksjon gir: a + b + c Vi il anligis bandl polgont scanlinjis. På n scanlinj gjldr: Målt i bildlagradrss økr -koordinatn i trinn på : Drmd får i for forfltning langs scanlinjn: a + c Dt il si at -rdin inkrmntrs i fast trinn: a c Drmd r brgningn a nst - rdi rdusrt til addisjon a n konstant til forrig - rdi: n gamml + gamml a c OPPGAVE 4 Grafikk Gomtrisk transformasjonr (5 pong) Gitt n trning md sidkant som ar tt jørn i origo, tt i punktt (,, ) og tt i punktt (,, ). a) Forutstt at du skal rotr trningn n inkl ϕ om diagonaln gjnnom origo og punktt (,, ). Du skal bntt n sri a rotasjonr om koordinataksn (s bort fra bruk a d spsill gnskapn til ortogonal matrisr). Sar på følgnd spørsmål:
Sid 5 a 5. List opp n sri a rotasjonr om koordinataksn som ralisrr dnn rotasjonn. Dt krs r ikk at du skal skri opp matrisn llr finn rotasjonsinkln. (,,) (,,) Trningn liggr i utgangsposisjonn som ist i onstånd figur. En sri a rotasjonr som il rotr trningn inkln ϕ om diagonaln, kan ær:. Rotr om -aksn slik at diagonaln blir liggnd i plant. Rotr om -aksn slik at diagonaln fallr sammn md -aksn. Rotr inkln ϕ om -aksn 4. Utfør dn inrs rotasjonn a dn i punkt 5. Utfør dn inrs rotasjonn a dn i punkt. Hilk andr alg kan du gjør som ill gi dt samm rsultatt? Sar kort. En rkk andr srir a rotasjonr ill samm rsultat. I punkt i srin onfor kunn rotasjonn altrnatit bli gjort slik at diagonaln falt sammn md -aksn I punkt i srin onfor kunn rotasjonn altrnatit bli gjort slik at diagonaln bl liggnd i plant I punkt kan n lg mllom å rotr ntn slik at ndn a diagonaln blir liggnd i -rommts positi alrom llr i dt ngati alrommt. Tilsarnd alg må gjørs i punkt. I punkt kunn n også lg rotasjon om -aksn llr -aksn md tilsarnd ttrfølgnd alg. (I alt 48 ariantr a rotasjonssrir r mulig.) b) Du skal rotr trningn slik at diagonaln som opprinnlig går gjnnom origo og punktt (,, ), fallr langs dn positi -aksn og slik at punktt som opprinnlig add koordinatr (,, ) blir liggnd i --plants først kadrant. Bskri dnn rotasjonn d å sar på spørsmåln ndnfor. Dt nts kort og konsis sar gjrn støttt a n skiss llr to. Altrnatit kan du, drsom du finnr dt mr nsiktsmssig, bskri rotasjonn d å stt opp n rotasjonsmatris basrt på d spsill gnskapn til ortogonal matrisr.
Sid 6 a 6 Drsom du lgr dnn måtn å løs oppgan på, skal du ikk sar på spørsmåln ndnfor.. Først skritt skal ær n rotasjon om -aksn slik at diagonaln fallr i plant. Ha blir rotasjonsinkln? 45 Onstånd figur isr n ortografisk projksjon a trningn i utgangsposisjonn i plant. Hr sr i at rotasjonsinkln dt spørrs ttr r π/4.. Nst skritt blir n rotasjon om -aksn slik at diagonaln blir liggnd i dn spsifisrt sluttposisjonn. Ha blir rotasjonsinkln? Dt r tilstrkklig å angi sinus og cosinus til dnn inkln. (,,) (,,) β Situasjonn i plann og ttr rotasjonn i punkt r som ist i onstånd figurr. Endn a diagonaln bfinnr sg i punktt (,,). Rotasjonsinkln som bringr diagonaln til å fall langs dn positi -aksn, r inkln -β.
Sid 7 a 7 Sinus og cosinus til inkln r: sin( β) sin( β) cos( β) cos( β) ( ( ) + ) + 6. Hordan il du finn ut or jørnt som opprinnlig bfant sg i punktt (,, ), bfinnr sg ttr at onstånd to rotasjonr r utført, og ordan il du bruk rsultatt til å ralisr dn sist rotasjonn som bringr dtt jørnt til dn spsifisrt sluttposisjonn? (,, ) θ Ettr rotasjonn i punktn og il situasjonn ær som ist i onstånd figur. Hjørnt som opprinnlig lå i (,, ) ar nå koordinatn (,, ). D n koordinatn kan finns d å annd transformasjonsmatrisn kan stts opp på grunnlag a punktn og på jørnts opprinnlig koordinatr. Hjørnt brings så til sin sluttposisjon d å rotr inkln θ om -aksn: sin( θ ) cos( θ) + +
Sid 8 a 8 Løsning d jlp a ortogonal matrisr: Vktorn (,, ) langs diagonaln skal som t rsultat a rotasjonn fall i samm rtning som dn positi -aksn. Vi dfinrr ntsktorn : [ ] Plant dfinrt a diagonaln og punktt (,, ) il ttr rotasjonn fall sammn md plant. Vi trngr n ntsktor i dtt plant som i d rotasjonn kan bring til å fall i samm rtning som dn positi -aksn. Vi dfinrr n ktor fra origo til punktt (,, ). Dn normalisrt komponntn a ktorn ortogonal til ntsktorn r dn ntsktorn i r på jakt ttr. par ( ) prp par A figurn onfor sr i: prp [ ( ) [ ] [ ] ] [ [ ] ]([ ] [ ])
Sid 9 a 9 Normalisring gir: prp prp [ 6 ] Dn trdj ntsktorn får i d å ta ktorproduktt a og : [ ] Rotasjonsmatrisn på omogn form blir når i sttr inn d tr ntsktorn som radr i matrisn: M rot 6 6 6 OPPGAVE 5 MMI ( pong) Du r gitt i oppga å lag t grafisk brukrgrnssnitt for n n nttbasrt tjnst for spsialbstilling a mobiltlfonr. En kjnt mobiltlfonfabrikant ar funnt ut at kundn burd kunn indiidualisr ikk bar dksl, mn også mobiltlfonns form. Dn n tjnstn r gitt tittln Conncting dsignrs. Tjnstn skal forløpig bar tilbs for èn modll. For dnn modlln skal kundn kunn gjør følgnd indiidull tilpasningr: Form o Kundn kan tilpass mobiltlfonns form på ør sid, nstr sid og bunn. o For r a diss finns 5 alg: Rtt, But inn, But ut, Små bølgr, Stor bølgr, Sagtann. Dksl o Dkslr il kunn bstills spsiallagt ut fra mobiltlfonns form. o Dkslr finns i t antall nangitt katgorir (for ksmpl Kunst, Filmr, Natur,,). o For r katgori finns t antall nangitt dkslr (for ksmpl i katgorin K unst : Munc s skrik, Picasso s dam, Dali s klokk,,). o Hrt dksl kan spsialtilpasss md n bakgrunnsfarg fra n gitt list a fargr. o Dt kan bstills ma. 6 dkslr for r mobiltlfon.
Sid a Dn nttbasrt tjnstn skal gjør dt mulig å bstill spsiallagd mobiltlfonr md paramtrn angitt or. Kundn skal kunn få n isull foråndsisning før bstilling gjørs. a) Intraksjonstknikkr Vlg dg to forskjllig intraksjonstknikkr, og skissr n løsning basrt på r a diss. Angi fordlr og ulmpr d d to løsningn. Du skal ikk la løsningn ær bgrnst a for ksmpl HTML. Du skal llr ikk skissr dialogn for å angi nan, VISA nr. tc., kun d dln som ar å gjør md alg a paramtr som angitt or. Hr kan man for ksmpl lg sg ikon/mn basrt s. dirktmanipulasjon. Jg forntr non nkl skissr a skjrmlaout for r a ksmpln. Fordln md t knapp og mnbasrt grnssnitt r at dtt r kjnt for d flst brukr, og at dt r rlatit nklt å implmntr. Ulmpn r at dt ltt kan bli mang knappr, og at dt kan oppls som litt kjdlig. Fordln md t dirktmanipulasjon-grnssnitt r at dt kan gi færr lmntr på skjrmn, og at dt kan oppls som mr intrssant. Ulmpn r at dt ikk på samm måt som for ikon/mn basrt grnssnitt r innarbidt konnsjonr for affordanc og constraints. Dt liggr drfor n spsill utfordring i å utform grafikkn slik at brukrn forstår a som skal gjørs for å få dn ønskd ffkt. Dtt il kunn kr flr itrasjonr md brukbartststing/aluring. b) Ealuring Hilk aluringstknikkr il du anbfal for mpirisk å kunn mål brukbartn a brukrgrnssnittt. Bgrunn sart. I dtt ksmplt r brukbart i n snr forstand knttt til i ilkn grad brukrgrnssnittt tillatr brukrn nklt å utfør d ønskd andlingn. En mpirisk aluring a brukbartn il r kunn gjørs d kontrollrt brukbartststr dr for ksmpl 6 forsøksprsonr får samm konkrt ldfinrt oppga. Oppgan kunn for ksmpl ær: Vlg n tlfon md bur til nstr, rtt til ør og sagtann undr. Vl dksl md... Brukbartn il så kunn måls utfra for ksmpl or mang fil brukrn gjør og or lang tid d brukr på å løs oppgan. Dt r også mulig å s litt idr på sl produktidn, og dns salgbart. Er dtt no kundn ønskr? En far md n for ustrukturrt tst r følglig at i tstr produktidn og ikk grnssnittt. En far dn andr in r såklart at oppdragsgir ikk forstår forskjlln, og lrr n tjnst md prfkt brukbart, mn som ingn gntlig il a.