5.2. Kateluaaruuea tehtäät operaatiot Karinta eli takaiueliminointi Karinta eli takaiueliminointi on toimenpie, joka ertaa monikulmioien uuntaa katelupiteen eli projektion kekipiteen kana. Jo näkmä käittää ain hen konekin kohteen, niin karinta leit piilopintojen poitoki. Piilopintojenpoitoalgoritmia taritaan aina, kun toinen monikulmio peittää oittain toita näkitä (kua 5.4). Monitahokkaan monikulmioita kekimäärin puolet on takaiulla, ja tällöin kinkertainen teti poitaa ellaiet lakennallieti aatiammata piilopintojen poitota. Kua 5.4. Karinta ja piilopintojen poito: (a) Karinta häittää kokonaiia monikulmioita, joita ei oitaii nähä. (b) Piilopintojen poito käittelee leitä ongelmaa, joa monikulmiot peittäät oittain toiia. Näkteti on helpoti tehtäiä kateluaaruuea. Laketaan ulopäin uuntautua normaali (rt. luku.3.) ja tutkitaan tämän ja projektion kekipiteektorin pitetulon etumerkki (kua 5.5.). äten on: näk : N > N p ää on N p monikulmion normaali ja N kateluektorin uora. 5. luku 269 5. luku 27 Katelutilauu Kua 5.5. Karinta eli takaiueliminointi: (a) kohteen haluttu näkmä (takaiut eitett piteiioilla), (b) karinnan näkmä ja (c) karittu kohe. Kuaa 5.. katelutilauu eitettiin aoimena pramiina. ätä rajoitetaan moneti katelutilauuteen, joka määritetään katelutaoikkunalla, lähileikkautaolla ja kaukoleikkautaolla. Ykinkertaiuuen uoki kätetään kuitenkin ain enimmäitä ja iimeitä (kua 5.6.). Kaukoleikkautaon normaali on kateluuunnan mukainen. Sen takana oleia kohteita ei oi nähä. Sen aulla oiaan upitaa lakettaien monikulmioien lukumäärää. 5. luku 27 5. luku 272
Eim. lennettäeä kolmiulotteiea tietokonepeliä määrätään kaukoleikkautao ja oelletaan teen aetettua umua ähentämään kohteen äkkinäien katoamien tuottamaa epäjohonmukaiuutta, kun e häiää poi kohateaan kaukoleikkautaon. Kua 5.6. Katelutilauu: lähileikkautao hitettnä katelutaoon. 5. luku 273 Jo kinkertaitetaan eelleen geometriaa määrittelemällä neliönmuotoinen (iultaan 2h) katelutaoikkuna ja aetetaan tämä mmetrieti kateluuunnan uhteen, niin neljä katelutilauuen iut määritteleää taoa oat (k. kua 5.6.): ± ± 5. luku 274 Leikkau aten katelutilauutta (kua 5.7.) on tehtäiä monikulmiotaon leikkauken (luku.4.) mukaieti. Ke on leikkauken periaatteeta. Lakenta oiaan kuitenkin tehä tehokkaammin kolmiulotteiea kuaaaruuea. Kolmiulotteinen kua eli nättöaaruu Grafiikkaliukuhihnan iimeinen kolmiulotteinen aaruu on kua aaruu, joa arinainen piilopintojen poitaminen tehään taallieti Z pukuria kättäen. ää errataan eri kohteien aroja, jotka projioiaan amalle pikelille. ätä aaruueta tehään lopullinen muunno kakiulotteieen taokoorinaatitoon. Kua 5.7. Leikkau aten katelutilauutta: (a) katelutilauuen ulkopuolinen monikulmio leikataan poi, (b) iällä olea äiltetään ja (c) rajan leikkaaa poitetaan. Koka lopullinen nättötao on kakiulotteinen, pitää tarkatella taoprojektioita. On kaki menetelmää, perpektiii ja henuuntai eli rinnakkaiprojektio. Näitä eittää kua 5.8. 5. luku 275 5. luku 276
Kua 5.8. aolle projioiut kaki pitettä henuuntai ja perpektiiiprojektioina. Perpektiiiprojektio on näitä kätetmpi tietokonegrafiikaa, illä nimenä mukaieti e lhentää perpektiiiä. Suhteelliia ulottuuukia ei iinä äiltetä ja etäinen jana eitetään lhempänä kuin htä pitkä, mutta lähempänä olea (kua 5.9.). ämä aikuttaa tietti olennaieti katojan aamaan aikutelmaan. 5. luku 277 Kua 5.9. Perpektiiiprojektioa kaukainen jana eitetään pienempänä kuin läheinen jana, joka on mitaltaan htä pitkä. Perpektiiiprojektiota luonnehitaan projektiokekipiteen mukaan. Kolmiulotteiten piteien projektio katelutaolle on uorien leikkau kutakin piteetä projektiokekipiteeeen. 5. luku 278 Kuan 5.2. peruteella aaaan: z z ämän epälineaarien muunnoken eittämieki 4 4 matriiina käitellään e kahea oaa, enin lineaarinen ja itten epälineaarinen. Homogeeniilla koorinaateilla aaaan: Kua 5.2. Perpektiiimuunnoken johtaminen. Kua 5.2. eittää perpektiiiprojektion johtamien. P(,,z ) on kolmiulotteinen pite katelukoorinaatitoa. Se projioiaan katelutaolle, jonka normaali on akeli z, etäiellä origota. P on piteen P projektio katelutaolla, ja en kakiulotteiet koorinaatit oat (, ). 5. luku 279 X Y Z z w z / 5. luku 28
. X Y perpektiii Z z w Saaaan eelleen perpektiiijaoa: z X / w Y / w Z / w miä: perpektiii / Jo henuuntaiprojektioa katelutaon normaali on projektion uuntainen, on oimaa: z 5. luku 28 5. luku 282 Katelutilauu ja Laajennetaan eeltäät kinkertaiet muunnoket käittämään kuan 5.6. katelutilauu. arkatellaan tähän menneä tarkatelutta jätettä kolmatta komponenttia z. Huomattaa oa kuan reneröinnin lakennata tapahtuu kua eli nättöaaruuea, joa monikulmiot leikataan elauuoria ja pikeleitä ataan ekä piilopintalakenta uoritetaan näille leikatuille oille. Monikulmion piteien informaatiota taritaan piilopintojen käittelä (Zpukurialgoritmi) arten. ällöin leikataan janalla taoa ja interpoloiaan janan päätepiteitä leikkaupiteen (taon kana) aro eli Z koorinaattiaro. Mainittu interpolointi on mielekä, kunhan muunnettaea kateluaaruueta kuaaaruuteen janat muuntuat janoiki ja taot muuntuat taoiki. Nämä ehot toteutuat, kun Z:n muunnoket oat muooa: z A + B / z ää A ja B oat akioita, jotka määrätään euraain rajoitukin: ()Valitaan B< niin, että kun z kaaa, niin kaaa mö z. Jo ii pite on toien takana, illä on tätä uurempi z aro, ja jo B<, illä on mö uurempi z aro. (2) Saron tallentamieki tarkati normalioiaan z arojen äli, jolloin z [,f] kuautuu äliki z [,]. 5. luku 283 5. luku 284
Kuan 5.6. katelutilauuen nojalla perpektiiimuunno on muotoa: z f ( / z f Vakio h takaa, että neliönmuotoiea kuaa arot iältät äliin [,]. Vataaati kuin eellä (. 28 282) laketaan: w z X h Y h fz Z f f f ) 5. luku 285 Saaaan: ää on: perpektiii / h X Y Z w / h perpektiii f /( f z ) f /( f ) 5. luku 286 Yhitett muunno maailmankoorinaatitota kua aaruuteen ilmaitaan muooa: X w Y w perpektiiinäkmä Z zw Vaikka z ja z molemmat antaat piteen mitan, interpolointi uoraa pitkin kateluaaruuea ei ole ama kuin kuaaaruuea. Kuan 5.2. mukaieti htä uuria älejä z :ä errataan äleihin z :ä. Kun z lähet kaukoleikkautaoa, z lähet :tä nopeammin. Kua aaruuen kohteet tönnetään näin ääriten katelupramiin takaeinää kohti. ämä aattaa aiheuttaa irheitä interpoloitaea muita kuin piteitä kua aaruuea. Kua 5.2. Aaruukien älien muunnoken aiheuttamaa ääritmää. Ongelmata huolimatta kua aaruu on oelia piilopintojen lakemita arten. Kaikki katelupiteen läpi kulkeat äteet mielletään tällöin amanuuntaiiki uunnaa z, illä projektion kekipite iirretään negatiiieen äärettömteen z akelilla. ämä nähään aettamalla z, jolloin eo. htälöä tulee z. 5. luku 287 5. luku 288
Kun äteet mielletään henuuntaiiki, piilopintojen lakenta on tehtää ainoataan niille piteille, joilla on amat (, ) koorinaatit. eti upituu pelkätään z arojen ertailuun kertomaan, onko pite toien eeä. Muunno laatikon hteeä, jonka ki iu on henuuntainen kuataon kana, on kuaa 5.22. Laatikon kärkien kautta katelupiteeeen kulkeat äteet tuleat henuuntaiiki kolmiulotteiea kuaaaruuea. Sarojen tarkkuu on kuan komplekiuuen funktio. Uein 8 bittiä on riittämätön, mutta 6 on taallieti tarpeeki. Kua 5.22. Muunno ja alonäteet kateluaaruueta kua aaruuteen. Kuan 5.22. mukaieti katelutilauuen iut oat henuuntaiia. ämän uoki leikkaulakenta upituu rajojen ertailuiki. 5. luku 289 5. luku 29 Leikkauoperaatiot on tehtää homogeeniea koorinaatitoa ennen perpektiiijakoa. Katelupramiin iirto homogeenieen koorinaatitoon antaa leikkaurajat: w w w w z w Aaruukien älinen muunno on hä jakaa kahtia, jolloin. 286 htälö aaaan muotoon: perpektiii f /( f ) perpektiii f /( f perpektiii2 / h ) / h Näitä enimmäinen matriii on kaalau (/h) :n ja :n uhteen. Katelutilauu muunnetaan katkaituta pramiita. ämän iut aukeaat uhteen h/ määräämää kulmaa, äännöllieki pramiiki, jonka iut oat 45 kulmaa (kua 5.23.). Eim. piteelle aaaan muunno: (,h,,) muuntuu piteeki (,,,) ja ataaati: (, h,,) muuntuu piteeki (,,,) oinen muunno kuaa äännöllien pramiin laatikoki. Lähitao kuautuu (,) taoon ja kaukotao kohtaan z. 5. luku 29 5. luku 292
Kua 5.23. Katelutilauuen muunno kanonieki katelutilauueki (laatikko) kahen matriiimuunnoken aulla. 5. luku 293