Geometrian yksinkertaistaminen Quadric error metrics -menetelmällä

Samankaltaiset tiedostot
Yksinkertaistaminen normaalitekstuureiksi

min x x2 2 x 1 + x 2 1 = 0 (1) 2x1 1, h = f = 4x 2 2x1 + v = 0 4x 2 + v = 0 min x x3 2 x1 = ± v/3 = ±a x 2 = ± v/3 = ±a, a > 0 0 6x 2

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Luku 8. Aluekyselyt. 8.1 Summataulukko

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 3: 3D katselu. Sisältö

Matematiikan tukikurssi

Luento 6: Geometrinen mallinnus

Lineaarinen yhtälöryhmä

Taso 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste, suora

Gaussinen vaikutuskaavio Tommi Gustafsson 45434f Tfy IV

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

Juuri 4 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Kertaus. b) B = (3, 0, 5) K2. 8 ( 1)

Suora 1/5 Sisältö ESITIEDOT: vektori, koordinaatistot, piste

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

s = 11 7 t = = 2 7 Sijoittamalla keskimmäiseen yhtälöön saadaan: k ( 2) = 0 2k = 8 k = 4

j n j a b a c a d b c c d m j b a c a d a c b d c c j

6.6. Tasoitus ja terävöinti

Numeeriset menetelmät

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

MAB3 - Harjoitustehtävien ratkaisut:

Demonstraatiot Luento

Insinöörimatematiikka D

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Johdatus tekoälyn taustalla olevaan matematiikkaan

2.5. Matriisin avaruudet ja tunnusluvut

6. Differentiaaliyhtälösysteemien laadullista teoriaa.

Algoritmit 1. Luento 9 Ti Timo Männikkö

Vektoreiden virittämä aliavaruus

1. Olkoot vektorit a, b ja c seuraavasti määritelty: a) Määritä vektori. sekä laske sen pituus.

Tekijä Pitkä matematiikka b) Kuvasta nähdään, että b = i 4 j. c) Käytetään a- ja b-kohtien tuloksia ja muokataan lauseketta.

MS-C1340 Lineaarialgebra ja

Vektoreiden A = (A1, A 2, A 3 ) ja B = (B1, B 2, B 3 ) pistetulo on. Edellisestä seuraa

Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia

Suorista ja tasoista LaMa 1 syksyllä 2009

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

v 8 v 9 v 5 C v 3 v 4

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

3.1 Lineaarikuvaukset. MS-A0004/A0006 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

9 Matriisit. 9.1 Matriisien laskutoimituksia

Lineaarinen optimointitehtävä

4. Esittäminen ja visualisointi (renderöinti)

Oppimistavoitematriisi

Ortogonaalinen ja ortonormaali kanta

Talousmatematiikan perusteet: Luento 12. Lineaarinen optimointitehtävä Graafinen ratkaisu Ratkaisu Excel Solverilla

Johdatus tekoälyn taustalla olevaan matematiikkaan

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

2.6 Funktioiden kuvaajat ja tasa-arvojoukot

Luento 7: Lokaalit valaistusmallit

Lineaarialgebra ja matriisilaskenta I

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Derivaatta: funktion approksimaatio lineaarikuvauksella.

Tekijä Pitkä matematiikka Suoran pisteitä ovat esimerkiksi ( 5, 2), ( 2,1), (1, 0), (4, 1) ja ( 11, 4).

Viikon aiheet. Funktion lineaarinen approksimointi

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Mat. tukikurssi 27.3.

Luento 6: Piilopinnat ja Näkyvyys

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

Oppimistavoitematriisi

802118P Lineaarialgebra I (4 op)

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Ota tämä paperi mukaan, merkkaa siihen omat vastauksesi ja tarkista oikeat vastaukset klo 11:30 jälkeen osoitteesta

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. Olkoot A 2 := AA =

Juuri 4 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty Kertaus. b) B = (3, 0, 5) K2. ( )

Insinöörimatematiikka D

T Vuorovaikutteinen tietokonegrafiikka Tentti

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

Kertausosa. 5. Merkitään sädettä kirjaimella r. Kaaren pituus on tällöin r a) sin = 0, , c) tan = 0,

TEKNILLINEN KORKEAKOULU Tietoliikenneohjelmistojen ja Multimedian Laboratorio T Tietokonegrafiikan seminaari L.

MATEMATIIKAN PERUSKURSSI I Harjoitustehtäviä syksy Millä reaaliluvun x arvoilla. 3 4 x 2,

Ville Turunen: Mat Matematiikan peruskurssi P1 1. välikokeen alueen teoriatiivistelmä 2007

Yleistä vektoreista GeoGebralla

Talousmatematiikan perusteet: Luento 9

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Kanta ja Kannan-vaihto

Geometrian yksinkertaistaminen: Progressive Meshes

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

Matematiikan tukikurssi

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Neliömatriisi A on ortogonaalinen (eli ortogonaalimatriisi), jos sen alkiot ovat reaalisia ja

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

12. Hessen matriisi. Ääriarvoteoriaa

Tekijä Pitkä matematiikka Poistetaan yhtälöparista muuttuja s ja ratkaistaan muuttuja r.

Transkriptio:

TEKNILLINEN KORKEAKOULU 5.5.003 Tietoliikenneohelmistoen a multimedian laboratorio T-.500 Tietokonegrafiikan seminaari Kevät 003: Reaaliaikainen 3d-grafiikka, visualisoinnin tehokkuuden lisääminen Geometrian yksinkertaistaminen Quadric error metrics -menetelmällä Matti Laitinen 4979P

Geometrian yksinkertaistaminen Quadric error metrics -menetelmällä Matti Laitinen HUT Matti.Laitinen@hut.fi Tiivistelmä Vuosien varrella tietokonegrafiikassa käyttävien 3d-obektien koko on kasvanut niin suureksi, että alkuperäistä korkearesoluutiosta mallia ei voida käyttää kaikissa tilanteissa. Siksi tarvitaan tekniikoita obektin geometrian yksinkertaistamiseen, otta sen käyttö saadaan paremmin suuvaksi käyttökohteeseensa. Quadric error metrics on tehokas menetelmä geometrian yksinkertaistamiseen. Se taroaa parhaimman tasapainon nopeuden, toistotarkkuuden a toimintavarmuuden suhteen. Algoritmin toiminta perustuu solmuen yhdistämiseen valitsemalla sopivat solmuparit a laskemalla niiden yhteensovittamisesta muodostuvan virheen. Alkuperäinen algoritmi ei ota huomioon mm. värien, normaalivektorien a tekstuurien muutoksia, otka ovat erittäin tärkeitä nykyaan sovelluksissa. Ongelman ratkaisuun on kehitetty useita ratkaisua täydentämään alkuperäistä algoritmia. JOHDANTO Tietokonegrafiikan visuaalinen laatu on vuosien kuluessa parantunut saatavilla olevan laitetehon kasvaessa a laitteiden hintatason laskiessa myös tavallisille kuluttaille sopivaksi. Näin polygoneista muodostettuen 3d-obektien koko on lähtenyt kasvamaan. Mutta ongelmaksi muodostuu kuitenkin se, että näitä suurikokoisia mallea ei pystytä esittämään kaikissa tilanteissa a siksi tarvitaan menetelmiä niiden yksinkertaistamiseen sopivaa käyttötarkoitusta varten. Erityisesti ongelma korostuu reaaliaikaisen 3d-grafiikan esittämisessä. Kun halutaan esittää animaatiota suuvalla ruudunpäivitysnopeudella, pitää käytetyn grafiikan laadusta tinkiä tavalla, onka käyttää kokee mahdollisimman huomattomana a häiritsemättömänä. Tässä seminaaripaperissa esitellään aluksi perusmenetelmät a käsitteet obektien yksinkertaistamisessa. Sen älkeen perehdytään tarkemmin uadric error metrics nimiseen menetelmään, oka on yksi monista tavoista yksinkertaistaa polygoneista kasattu obekti. Tämän älkeen esitellään menetelmiä, kuinka alkuperäistä algoritmia voidaan parantaa ottamalla mukaan solmuille tärkeät lisämääreet kuten värien, tekstuureiden a normaalivektorien koordinaatit. Lopuksi esitellään lyhyesti yhteenveto algoritmin toiminnasta.

GEOMETRIAN YKSINKERTAISTAMISEN KÄSITTEET. Yksinkertaistamisen syyt Luebke esittää artikkelissaan kolme selkeää syytä, miksi obektien yksinkertaistamista tarvitaan. Ensinnäkin, monet obektit sisältävät turhaa geometriaa, onka poistaminen ei muuta kappaleen muotoa. Esimerkiksi tasainen pinta saattaa koostua useista erillisistä pinnoista, vaikka sen esittämiseen riittäisi yksi pinta. Toiseksi syyksi esitellään kaistan säästäminen obektea siirrettäessä tietoverkkoa pitkin. Varsinkin hitaita yhteyksiä käytettäessä on tärkeää optimoida obektien koko niin, että siirto saadaan suoritettua kohtuullisessa aassa varsinkin os siirretään obektea vaan esikatselua varten. Kolmas syy on reaaliaikainen grafiikan nopeuden parantaminen käyttämällä level of detail (LOD) menetelmää, ossa lähimpänä kameraa oleville obekteille esitetään korkearesoluutioinen obekti kauimpana matalaresoluutionen. Kuvassa on alkuperäisestä obektista tehty eriresoluutioiset obektit. Huomattavaa on, että nopeasti katsottuna malli, ossa on vain 357 pintaa näyttää samalta kuin malli, ossa on 74308 eri pintaa. Tästä vielä pudotettaessa pintoen määrää visuaalinen laatu kärsii o tosin liikaa. Kuva : Ford Bronco 3d-obektista muodostettu eri level of detail (LOD) tasot. Malleissa pintoen määrät ovat 74308 (alkuperäinen malli), 357, 338 a 80. Lähde: http://www.cs.unc.edu/~walk/hlod/images.html. Topologia Yksinkertaistamisalgoritmi voi olla toiminnaltaan sellainen, että se oko säilyttää alkuperäisen topologian tai sitten se muokkaa sitä. Kun topologia säilytetään yksinkertaistamisprosessissa, obektin toistotarkkuus säilyy hyvänä, kun esimerkiksi obektissa olevat reiät eivät mene umpeen eikä toisaalta obektiin ilmesty uusia reikiä. Jos taas topologian muokkaaminen sallitaan, algoritmi ei takaa, että esimerkiksi reiät eivät mene umpeen a etteikö erilliset osat liittyisi toisiinsa. Tämä tapa mahdollistaa selvästi tehokkaamman tavan yksinkertaistamiseen, mutta vastaavasti toistotarkkuus ää heikommaksi..3 Mekanismit Yksinkertaistamismekanismea on nelä, oihin algoritmit pääperiaatteessaan perus-

tuvat oko kokonaan yhteen tai useamman yhdistelmään. Näitä mekanismea ovat näytteistävät algoritmit, adaptiiviset osiinakavat algoritmit, desimointitekniikat a solmuenyhdistämistekniikat. Näytteistävissä algoritmeissa näytteistetään obekti tietyllä tarkkuudella a sen tuloksen mukaan muodostetaan uusi obekti. Käytännössä algoritmin ohelmoiminen on hankalaa, koska näytteistyspisteiden valinta on vaikeaa. Toistotarkkuus ää huonoksi, koska terävät reunat äävät yleensä pois; Tekniikka toimiikin parhaiten vain tasaisesti muuttuville pinnoille. Adaptiivisissa osiinakavissa algoritmeissa etsitään aluksi perusverkko, oka voidaan rekursiivisesti akaa osiin approksimoimaan alkuperäistä mallia. Tekniikka toimii hyvin vain os perusverkko saadaan muodostettua, mikä yleensä on hyvin vaikeaa. Algoritmi säilyttää alkuperäisen topologian sekä sopii hyvin moniresoluutiokäsittelyyn, koska muutokset alemmalla tasolla näkyvät suoraan ylemmällä tasolla. Desimaatiotekniikoissa poistetaan kertautuvasti solmua tai pintoa verkosta niin, että pyöreät muodot tulevat vähitellen kulmikkaiksi. Algoritmit ovat helppoa ohelmoida a ovat suhteellisen nopeita. Solmuenyhdistämistekniikoissa liitetään yhteen kolmionmuotoisten pintoen solmua. Niitä voi olla kerrallaan kaksi tai useampi. Uudet muodostuneet solmut voidaan taas liittää toisten solmuen kanssa. Näin saadaan obektissa olevien solmuen määrää laskettua yksinkertaisella a helposti ohelmoitavilla menetelmällä. Tekniikkaan perustuvia algoritmea on useita, otka käyttävät eri menetelmiä määrittämään miten liitettävät solmut valitaan. Kuva : 3d-obekti, ossa on otettu katselukulma huomioon. Kameran näkymää on kuvattu sinisillä viivoilla. Katselukulmalla tärkeitä pintoa on kuvattu tarkemmin kuin niitä, oita kamera ei näe. Lähde: http://www.cs.unc.edu/~walk/hlod/images.html.4 Staattinen, dynaaminen a katselukulmariippuvainen yksinkertaistaminen Perinteisesti reaaliaikaisen grafiikan nopeutta on parannettu käyttämällä LODtekniikkaa. Eri tasoen obektit voidaan muodostaa alkuperäisestä mallista oko staattisesti tai dynaamisesti. Staattisessa tapauksessa yksinkertaistaminen tehdään etukäteen. Näin yksinkertaistaminen voidaan tehdä halutulla tavalla eikä tarvitse raoittautua reaaliaikaisen tilanteen aiheuttamiin raoituksiin. Jokaisen tason obektien suorituskyky voidaan optimoida konvertoimalla obektit kolmioiksi a tallentamalla obektit erillisiin 3

display listoihin. Reaaliaikatilanteessa valitaan vaihtoehdoista sopiva obekti näytettäväksi. Dynaamisessa tapauksessa LOD:n eri tasot luodaan aonaikaisesti. Tästä on hyötynä hienoakoisuus käytettävien polygonien määrä saada valittua aina optimaalisesti, olloin ei käytetä yhtään sen enempää polygonea, kun tarvitaan. Näin polygonea säästyy käytettäväksi muille obekteille. Katselukulmariippuvainen yksinkertaistaminen laaentaa dynaamisen yksinkertaistamisen käsitettä niin, että tarkkuutta lisätään siihen kohtaan missä sitä eniten tarvitaan a vähennetään siinä kohtaa missä sitä ei tarvita. Esimerkiksi kamerakulmasta riippuen oko obektin ulko- tai sisäpuoli tarvitsee renderöidä tarkemmin. Kuvassa on kuvattuna äniksestä muodostettu 3d-obekti, ota katsellaan edestäpäin. Kameran näkemiä pintoa on kuvattu tarkemmin kuin pintoa, otka kuvakulman takia äävät peittoon. 3 YLEISTÄ QUADRIC ERROR METRICS MENETELMÄSTÄ Quadric error metrics on Michael Garlandin a Paul S. Heckbertin vuonna 997 esittelemä algoritmi. Se taroaa ehkäpä kaikista saatavilla olevista yksinkertaistamisalgoritmeista parhaimman tasapainon nopeuden, toistotarkkuuden a toimintavarmuuden suhteen. Algoritmi kykenee yksinkertaistamaan suuriakin tietomääriä lyhyessä aassa säilyttäen hyvän toistotarkkuuden vaikka oltaisiin tehty suurempikin yksinkertaistaminen. Etuna on myös se, että pystytään liittämään yhteen alueita, otka eivät alun perin olleet yhdessä olettaen, että topologian säilyttäminen ei ole tärkeätä. Näin päästään entistä tehokkaampaan lopputulokseen. Tekiöiden mukaan muut alan algoritmit eivät ole riittäviä tavallisiin tarpeisiin. Desimointialgoritmit eivät ole sopia, koska ne pyrkivät säilyttämään topologian a vaativat fyysisesti toteuttamiskelpoisen (manifold) geometrian. Osiinakoalgoritmit ovat nopeita, mutta niiden tuottama huono laatu ei ole hyväksyttävää. Algoritmin toiminta perustuu siihen, että polygoneista muodostettu obekti koostuu ainoastaan kolmioista. Tämä sinänsä ei ole ongelma, koska mikä tahansa malli saadaan muutettua esiprosessointivaiheessa kolmiomuotoon. Toimintaperiaatteeltaan uadric error metrics perustuu solmuen yhdistämiseen niin, että oletusarvoisesti ei topologiaa pyritä säilyttämään. Algoritmin toiminnan edetessä, geometrisen virheen approksimaatiota pidetään muistissa okaisessa solmussa. Tätä virheen approksimaatiota esitetään käyttämällä 4x4-matriisea, otka esitellään tarkemmin luvussa 5. 4 SOLMUPARIEN VALINTA Quadric error metrics algoritmin toiminnan perusperiaate on se, että iteratiivisesti yhdistetään kaksi solmua keskenään. Toimenpidettä merkitään kaavalla ( v, v) v, ossa solmut v a v siirretään uuteen paikkaan v. Samalla yhdistetään solmuihin liittyvät särmät solmuun v a poistetaan solmu v. Operaatiossa käyttämättömiksi ääneet särmät a pinnat poistetaan. Mikäli ( v, v ) on särmä, poistetaan vähintään yksi pinta (kuva 3), muussa tapauksessa kaksi erillistä osiota yhdistetään (kuva 4). 4

Kuva 3: Särmien yhdistäminen. Korostettu särmä yhdistetään yhdeksi solmuksi. Varostetuista kolmioista tulee käyttämättömiä a ne poistetaan yhdistämisen yhteydessä. Kuva 4:Yhdistämättömien solmuen yhdistäminen. Kun solmupari yhdistetään, obektin yhdistämättömät osat liitetään yhteen. Algoritmin perusversiossa yhdistettävät solmut valitaan o alkuvaiheessa a niitä käsitellään koko algoritmin toiminnan aan. Tämä päätös perustuu siihen, että hyvällä approksimaatiolla pisteet eivät liiku kauaksi niiden alkuperäisistä paikoista. Määritetään, että solmut v, ) on pätevä pari, os: ( v. ( v, v ) on särmä, tai. v v < t, ossa t on kynnysarvo Suuret kynnysarvot mahdollistavat ei-yhdistettyen osien yhdistämisen. Kynnysarvo kannattaa kuitenkin valita huolella, koska muuten suuren etäisyyden päässä olevat osat yhdistyvät. 5 VIRHEEN ARVIOINTI Quadric error metric:ksi kutsutaan tarkalleen ottaen virhettä, oka syntyy peräkkäisistä yhdistämisoperaatioista. QEM-algoritmi on tehokas nimenomaan älykkäästi totetutetun virheenmäärityksen ansiosta. Solmun uadric error metric on 4x4-kokoinen matriisi Q, ota esittää muodostuva summa solmusta sen naapurikolmioiden tasoen välisistä neliöidyistä etäisyyksistä. Koska matriisi on symmetrinen, kymmenen liukulukunumeroa riittää esittämään yksinkertaistamisen aikana syntynyttä geometristä poikkeamaa. Virhettä voidaan esittää seuraavanlaisen kaavan avulla: T T v) = ([ v v v ] ) = (p v) () ( x y z p planes(v) ossa p=[a b c d] T esittäen tasoa, oka määritellään kaavalla ax+by+cz+d=0 ossa a +b +c =. Virheen määrittämä kaava voidaan kiroittaa uadric muotoon seuraavasti: 5

T (v) = v p planes(v) K p v () ossa K p on matriisi K p = pp T a ab = ac ad ab b bc bd ac bc c cd ad bd cd d (3) Tämä fundamental error uadric K p voidaan käyttää löytämään neliöllinen etäisyys mistä tahansa pisteestä tasoon p. Summaamalla K p: eet keskenään, saadaan esitettyä koko tasoen oukko yhdellä matriisilla Q. Lisäksi tarvitaan vielä kaava, olla lasketaan solmuparin ( v, v ) uusi paikka v. Yksinkertaista olisi laskea v :n a v :n keskiarvo kaavalla ( v + v )/, mutta kannattavaa on valita v siten, että (v) :stä tulee mahdollisimman pieni. Koska virhefunktio on uadric muotoa, on minimin löytäminen lineaarinen ongelma. v ratkaistaan laskemalla yhtälö / x = / y = / z = 0. Vastaukseksi saadaan: v = 0 3 3 0 3 3 33 0 4 4 34 0 0 0 (4) On myös mahdollista, että esiintyy tilanteita, oissa kaavaa ei voi käyttää, koska matriisi ei ole käännettävissä. Tällöin minimipisteitä on ääretön määrä. Tilanne voidaan korata siten, että valitaan v :ksi oko v tai v sen mukaan kummalla virhe tulee pienemmäksi. 6 ALGORITMIN TOIMINTA TIIVISTETTYNÄ Quadric error metrics algoritmin toiminta siis koostuu solmuparien yhdistämisestä a virheen laskemisesta. Edellytetään, että 3d-obekti on sellaisessa verkon rakenteessa, että solmut, särmät a tasot (kolmiot) ovat esitettynä eksplisiittisesti. Algoritmin toiminta voidaan tiivistää seuraavanlaiseksi.. Laske matriisit Q kaikille alkuperäisille solmuille.. Valitse kaikki pätevät solmuparit. 3. Laske optimaalinen solmuen yhdistämiskohde v okaiselle solmuparille ( v, v ). Virheestä v T (Q +Q ) v tulee uuden kohdesolmun solmuparin yhdistämisen kustannus. 4. Aseta kaikki solmuparit kekoon (heap) niin, että sillä, olla on pienin kustannus tulee päällimmäiseksi. 5. Iteratiivisesti poista solmupari ( v, v ) keon päältä, yhdistä tämä pari a päivitä kaikkien parien kustannus, oihin v liittyy. 6

7 VÄRIEN, NORMAALIVEKTORIEN JA TEKSTUURIEN KÄSITTELY Selvä puute alkuperäisessä uadric error metrics menetelmässä on se, että se ei ota huomioon pinnan sävytyksessä käytettävien attribuuttea kuten väriä, normaalivektoreita a tekstuureita. Kuva 5 havainnollistaa, kuinka selvä ero on siinä, kun myös normaalivektorit määritellään oikein yksinkertaistamisen yhteydessä sen siaan, että niitä vaan kuletettaisiin pinnan määrittelyn mukana. Kuva 5: Vasemmalla puolella oleva alkuperäinen 90000 pintaa sisältävä obekti yksinkertaistetaan sisältämään vain 0000 pintaa. Keskimmäisessä kuvassa normaalivektorit on vain kuletettu alkuperäisten pintoen mukana, kun taas oikean puoleissa kuvassa normaalivektorit määritellään uudestaan yksinkertaistamisen mukana. (lähde: Hoppe 999) Garland a Heckbert lisäsivät algoritmiinsa vuotta myöhemmin tuen lisäattribuuttien käsittelylle. Carl Erikson a Dinesh Manocha taas kehittivät parannetun algoritmin, oka ottaa myös lisäattribuutit huomioon. Sitä kutsutaan nimellä General and Automatic Polygonal Simplification, GAPS. Ehkäpä parhaimman korausmenetelmän kuitenkin kehitti Hugues Hoppe vuonna 999 Microsoft Research:lla. Jotta lisäattribuuttien käsittely onnistuisi oikein, epäatkuvuuskohdat täytyy käsitellä oikein. Näitä ovat esimerkiksi taitteet, avoimet reunat sekä tekstuurien a värien selvät raat. Alkuperäinen algoritmi ottaa huomioon muodon epäatkuvuudet, mutta ei ollenkaan reunoen käsittelyä. Koraus on onneksi kuitenkin helppo toteuttaa. Reunoa merkitään lipulla. Ne käydään sitten läpi a lasketaan niille reunat raaavat tasot, olloin niille voidaan määritellä tuttuun tapaan 4x4-matriisi (uadric). Sitä kuitenkin painotetaan suurella kertoimella, olloin määriteltäessä poistettavia solmuparea, reunat säilyvät vaikka yksinkertaistamisoperaatio suoritetaan alkuperäisen algoritmin mukaan. 7. Garlandin a Heckbertin korausehdotus Garland a Heckbert esittävät laaennettua n-dimensioiseen avaruuteen kuuluvaa mallia uadric error metrics:stä ongelman ratkaisuun. Esimerkiksi kun tavalliset xyzkoordinaatit muodostavat kolmiulotteisen avaruuden, rgb-komponenttien lisääminen malliin muodostaisi kuusiuloitteisen avaruuden (xyzrgb). Alkuperäisen virhematriisi Q aetaan osiin seuraavasti: 7

A b Q = = (A, b, c) = (nn T, dn, d ), ossa (5) T b c A on nxn-kokoinen symmetrinen matriisi, b on n-kokoinen vektori a c on skalaari. A:n geometrinen tulkinta on se, että sen yhtenäispinnat (isosurfaces) ovat ellipsoidin muotoisia. Näin sitä voidaan käyttää apuna määrittelemään pinnalle sen paikallisen muodon. n on pinnan normaalivektori a d on vakio. Jokaisen pinnan tulee toteuttaa ehto n T v+d=0 Virheelle eli neliöidylle etäisyydelle pisteestä v tasoon T Garland a Heckbert ovat matemaattisesti ohtaneet uuden yleisessä muodossa olevan kaavan. Q(v) = D = v T Av + b T v + c (6) 7. General and Automatic Polygonal Simplification, GAPS GAPS laaentaa alkuperäistä uadric error metrics algoritmia kolmella eri tavalla: Kynnysarvo t valitaan automaattisesti a adaptiivisesti, olloin geometrian yksinkertaistaminen hoituu tehokkaasti. Estetään sellaiset solmuen yhdistämiset, oilla on suhteessa t:n arvoon suuria muutoksia paikallisen pinnan muotoon. Pinnan attribuuttea päivitetään yksinkertaistamisprosessin aikana a otetaan ne huomioon virhettä määritettäessä. Algoritmi sisältää omat virheenmääritysattribuutit normaaleille, väreille a tekstuurien koordinaateille käyttämällä pistepilviä. Pistepilvi on oukko pisteitä, otka mahdollistavat tehokkaan summan laskemisen tietyn pisteen a kaikkien pilvessä olevien pisteiden neliöllisen etäisyyden välillä. Kaikille attribuuteille voidaan matemaattisesti ohtaa virheenmäärityskaavat, kun oletetaan, että 3d-mallissa on n pistettä p 0, p, p,, p n- a niillä vastaavat painot a 0, a, a,, a n-. Yhdistetyksi virheenmäärityskaavaksi saadaan: E(v) S(v) Γ(v) + c N(v) + c S(v) + c + c n0 c0 t0 =, ossa (7) n0 c0 C(v) + c + c t0 T(v) S(v) on pinnan määrittelevä funktio Γ(v) on geometrinen virhe N(v) on normaaliattribuutin virhe C(v) on väriattribuutin virhe T(v) on tekstuuriattribuutin virhe a c 0 on okaiselle attribuutille omainen painoen (a) summa. E(v):tä käytetään määrittelemään paras kandinaattisolmupari, mikä yhdistetään. Jotta virhettä voidaan arvioida koko obektin alueella, otetaan painotettu keskiarvo kaikkien solmuen virheiden arvosta a kerrotaan sitä vielä vakiolla 0. 8

7.3 Hoppe:n korausehdotus Hugues Hoppen kehittämää algoritmia pidetään tällä hetkellä parhaana menetelmänä ottaa huomioon solmuen lisämääreet. Kuva 6 havainnollistaa kuinka palon parempi on yksinkertaistamisen älkeen mallin visuaalinen laatu verrattuna Garlandin a Heckbertin algoritmiin. Kuva 6: Tuloskuvat, kun vasemmalla olevan alkuperäinen 790 pintaa sisältävä malli yksinkertaistetaan vain 000 pintaa sisältäväksi malliksi. Keskimmäinen kuva on saatu aikaan käyttämällä Garlandin a Heckbertin esittämää laaennusta alkuperäiseen algoritmiin, kun taas oikealla oleva kuva on saatu aikaan käyttämällä Hoppen algoritmia. Hoppen algoritmissa perusideana on Garlandin a Heckbertin ideasta poiketen pysyttäytyä kolmiulotteisessa maailmassa a laskea siinä vastaavat geometria- a attribuuttivirheet kuvan 7 mukaisesti. Kuva 7: Pisteen p a sen attribuutin s vastaavuus tasolla (v, v, v 3 ). Virhettä pinnalla f voidaan esittää summana: Q f m f Qs = f ( v) = Q (v) + (v), ossa (8) p Q (v) on geometrinen virhe pisteessä p a f p f Q (v) on attribuutin s virhe. s Geometristä virhettä voidaan esittää seuraavanlaisen kaavan avulla 9

A O0O b Q f p (v) = (A, b, c) =,, c O0O O0O 0 (9), oka on vain yksinkertaisesti nollilla laaennettu kaavan 6 mukainen kaava, ossa matriisin akoviivat osoittavat A:n kooksi 3x3 a b:n x3. Attribuutin virhettä pidetään neliöllisenä haontana pisteiden s a s välillä. Matemaattisesti sille voidaan ohtaa kaava siten, että kun määritellään kolmionmuotoiselle pinnalle skalaarifunktion gradiantti g a sitä vastaava skalaari d, on yhtäpitävää, että n T g =0. Matemaattisesti saadaan lopulta ohdettua kaava T g g O0O v) = (A,b, c) = T g O0O O0O O0O O0O O0O, L0L O0O d g 0 d 0 f Qs ( d L0L O0O - g 0 0, (0), ossa arvo on kohdassa A 3+,3+ a d on kohdassa b 3+. 8 YHTEENVETO Quadric error metrics on Michael Garlandin a Paul S. Heckertin kehittämä tehokas 3d-obektien yksinkertaistamisalgoritmi, oka on nopea, mutta laadultaan erinomainen verrattuna moniin muihin yksinkertaistamisalgoritmeihin. Tässä seminaaripaperissa esiteltiin aluksi algoritmin toiminnan perusperiaatteet, kuinka valitaan sopivat solmuparit a kuinka parien yhdistämisestä ohtuva virhe määritellään. Koska alkuperäinen algoritmi ei ota huomioon pinnalle tyypillisiä määreitä kuten väriä, normaaleita a vektoreita, esiteltiin kolme parannusehdotusta koraamaan puutteet. Garlandin a Heckbertin menetelmässä alkuperäinen algoritmi yksinkertaisesti vain laaennettiin toimimaan kolmiulotteisen maailman siaista n-ulotteisessa maailmassa. General and Automatic Polygonal Simplification (GAPS) on taas radikaalimpi korausehdotus. Siinä käytetään pistepilviä apuna virheen määrittelemisessä sekä omia virheen määrittämisfunktioita normaaleille, väreille a tekstuureille. Hugues Hoppen kehittämä algoritmi tunnetaan kaikista parhaina sen tuottaman hyvän visuaalisen laadun takia. Siinä perusideana on Garlandin a Heckbertin ideasta poiketen pysyttäytyä kolmiulotteisessa maailmassa a laskea siinä vastaavat geometria- a attribuuttivirheet erikseen. 0

VIITTAUKSET Erikson, C. a Manocha D. 999. GAPS: General and Automatic Polygonal Simplification. Proc. 999 Symp. Interactive 3D Graphics, ACM Press, New York, 999, s. 79-88. Viitattu 7.3.003, URL: http://portal.acm.org/citation.cfm?id=30053&dl=acm&coll=portal Garland, M. a Heckbert P. 997. Surface Simplification Using Quadric Error Metrics. In Proceedings of SIGGRAPH 97. Carnegie Mellon University, University of Virginia, Charlottesville, VA., 8 s. Viitattu 7.3.003, URL: http://graphics.cs.uiuc.edu/~garland/papers/uadrics.pdf Garland, M. a Heckbert P. 998. Simplifying Surfaces with Color and Texture using Quadric Error Metrics. In Proceedings of IEEE Visualization 98. Carnegie Mellon University, University of Virginia, Charlottesville, VA., 8 s. Viitattu 7.3.003, URL: http://graphics.cs.uiuc.edu/~garland/papers/uadric.pdf Hoppe, H. 999. New Quadric Metric for Simplifying Meshes with Appearance Attributes. Proc. IEEE Visualization 99, IEEE CS Press, Los Alamitos, CA, 999, s. 59-66. Viitattu 7.3.003, URL: http://research.microsoft.com/~hoppe/newem.pdf Luebke, D. P. 00. A developer s Survey of Polygonal Simplification Algorithms. IEEE Computer Graphics and Applications, May/June 00, University of Virginia, Charlottesville, VA., s. Viitattu 7.3.003, URL: http://www.cs.virginia.edu/~luebke/publications/pdf/cg+a.00.pdf