Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio T Tietokonegrafiikan seminaari.

Samankaltaiset tiedostot
Luku 8. Aluekyselyt. 8.1 Summataulukko

10. Esitys ja kuvaus

Johdatus verkkoteoriaan 4. luento

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö

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

Cantorin joukon suoristuvuus tasossa

Luento 6: Geometrinen mallinnus

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Datatähti 2019 loppu

isomeerejä yhteensä yhdeksän kappaletta.

4. Varastossa on 24, 23, 17 ja 16 kg:n säkkejä. Miten voidaan toimittaa täsmälleen 100 kg:n tilaus avaamatta yhtään säkkiä?

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Videon tallentaminen Virtual Mapista

T Vuorovaikutteinen tietokonegrafiikka Tentti

Algoritmi III Vierekkäisten kuvioiden käsittely. Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy

Luku 6: Grafiikka. 2D-grafiikka 3D-liukuhihna Epäsuora valaistus Laskostuminen Mobiililaitteet Sisätilat Ulkotilat

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

Injektio. Funktiota sanotaan injektioksi, mikäli lähtöjoukon eri alkiot kuvautuvat maalijoukon eri alkioille. Esim.

Jonot. Lukujonolla tarkoitetaan ääretöntä jonoa reaalilukuja a n R, kun indeksi n N. Merkitään. (a n ) n N = (a n ) n=1 = (a 1, a 2, a 3,... ).

Yksinkertaistaminen normaalitekstuureiksi

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

Tilanhallintatekniikat

Tietotekniikan valintakoe

2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

2 Pistejoukko koordinaatistossa

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Harjoitus Morphing. Ilmeiden luonti

Algoritmit 1. Luento 7 Ti Timo Männikkö

Äärellisten mallien teoria

Algoritmit 1. Luento 10 Ke Timo Männikkö

Käyrien välinen dualiteetti (projektiivisessa) tasossa

Tietokonegrafiikka. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2014

MATEMATIIKKA JA TAIDE II

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 1: Parametrisoidut käyrät ja kaarenpituus

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

v 8 v 9 v 5 C v 3 v 4

Harjoitus Bones ja Skin

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Osoita, että kaikki paraabelit ovat yhdenmuotoisia etsimällä skaalauskuvaus, joka vie paraabelin y = ax 2 paraabelille y = bx 2. VASTAUS: , b = 2 2

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Lukujoukot. Luonnollisten lukujen joukko N = {1, 2, 3,... }.

Algoritmit 2. Luento 13 Ti Timo Männikkö

Luento 6: Piilopinnat ja Näkyvyys

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Algoritmit 1. Luento 1 Ti Timo Männikkö

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta


Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:


Äärellisten mallien teoria

TIEA341 Funktio-ohjelmointi 1, kevät 2008

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

GEOMETRIA MAA3 Geometrian perusobjekteja ja suureita

kartiopinta kartio. kartion pohja, suora ympyräkartio vino pyramidiksi

Demo 1: Simplex-menetelmä

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

Kenguru 2013 Student sivu 1 / 7 (lukion 2. ja 3. vuosi)

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

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

PYÖRÄHDYSKAPPALEEN PINTA-ALA

a) Mitkä reaaliluvut x toteuttavat yhtälön x 2 = 7? (1 p.) b) Mitkä reaaliluvut x toteuttavat yhtälön 5 4 x

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

Tässä osassa ei käytetä laskinta. Selitä päätelmäsi lyhyesti tai perustele ratkaisusi laskulausekkeella, kuviolla tms.

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

Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?

Polkuintegraali yleistyy helposti paloitain C 1 -poluille. Määritelmä Olkoot γ : [a, b] R m paloittain C 1 -polku välin [a, b] jaon

Luento 6: Tulostusprimitiivien toteutus

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

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

11. Geometria Valikot ja näppäintoiminnot. Geometriasovelluksessa voit tehdä puhdasta tai analyyttista geometriaa.

Tällaisessa tapauksessa on usein luontevaa samaistaa (u,v)-taso (x,y)-tason kanssa, jolloin tason parametriesitys on *** VEKTORIANALYYSI.

Algoritmit 2. Luento 9 Ti Timo Männikkö

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Kenguru 2012 Student sivu 1 / 8 (lukion 2. ja 3. vuosi)

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

2.5. Matriisin avaruudet ja tunnusluvut

Kokonaislukuoptiomointi Leikkaustasomenetelmät

STL:n luonti IronCADillä

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

S Havaitseminen ja toiminta

Pistepilvestä virtuaalimalliksi työpolku

Lieriö ja särmiö Tarkastellaan pintaa, joka syntyy, kun tasoa T leikkaava suora s liikkuu suuntansa

T Tietotekniikan peruskurssi: Tietokonegrafiikka. Tassu Takala TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

VERKOSTO GRAAFINEN OHJE

Tehtävä 1: Arjen argumentaatiota

2 Raja-arvo ja jatkuvuus

dt 2. Nämä voimat siis kumoavat toisensa, jolloin saadaan differentiaaliyhtälö

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Ympyrän yhtälö

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Transkriptio:

Teknillinen korkeakoulu 27.4.2004 Tietoliikenneohjelmistojen ja multimedian laboratorio T-111.500 Tietokonegrafiikan seminaari Geometriakuvat Otto Korkalo 48178R

Geometriakuvat Otto Korkalo TKK, Tietoliikenneohjelmistojen ja multimedian laboratorio Otto.Korkalo@hut.fi Tiivistelmä Tietokoneavusteisessa mallintamisessa kappaleet esitetään tavallisesti epäsäännöllisinä kolmioverkkoina, joiden käsittely on hidasta ja hankalaa. Usein geometria halutaankin parametrisoida säännölliseksi, jolloin jokaisella verteksillä on sama määrä naapureita, ja verteksien konnektiviteetti on implisiittisesti määrätty. Nykyisillä menetelmillä objektit voidaan muuntaa kuitenkin vain alueittain säännölliseen muotoon, eikä koko mallia voida kuvata yhteen parametritasoon. Kaikkia säännöllisen geometrian suomia etuja ei silloin saavuteta. Tässä artikkelissa esitellään menetelmä, jolla voidaan muuntaa mielivaltaisesta kolmioverkosta koostuvan kappaleen geometria täysin säännölliseksi. Menetelmässä kappaleen geometria kuvataan yhteen parametritasoon, jota kutsutaan geometriakuvaksi. Geometriakuva on kaksiulotteinen matriisi, jonka alkiot alkuperäisen objektin verteksit vastaavat bittikarttakuvan RGB-arvoja. Geometriakuvien tasaisen luonteen vuoksi niiden pakkaaminen on tavallisilla algoritmeilla tehokasta. Esitetty tietorakenne soveltuu lisäksi hyvin grafiikkapiirien käsiteltäväksi, ja renderöinti voidaan suorittaa aiempiin esitysmuotoihin verrattuna tehokkaammin. Epäsäännöllisestä kolmioverkosta koostuva kappale muunnetaan geometriakuvaksi kahdessa vaiheessa. Ensin objekti leikataan auki siten, että lopputulos vastaa topologisesti tasoa. Sitten avattu kappale parametrisoidaan bittikarttakuvaksi. Objektien varsinaisen geometrian lisäksi menetelmää voidaan soveltaa myös normaalien ja värien tallentamiseen. 1 JOHDANTO Tietokoneavusteisessa mallintamisessa 3D-objektien primitiivit esitetään usein epäsäännöllisinä kolmioina. Vastaavia rakenteita saadaan myös 3D-skannereiden ja monien muiden kuvantamismenetelmien tuloksena. Epäsäännölliset geometriat ovat monimutkaisia ja vievät paljon tilaa. Niitä on hankala muokata, säilyttaa, siirtää tai renderöidä (Lee et al., 1998). Usein geometria halutaankin muuntaa säännölliseksi ja tarkoitusta varten on aiemmin kehitetty useita eri menetelmiä (esimerkiksi Lee et al., 1998; Eck et al., 1995). 1

Epäsäännöllisen geometrian primitiivit esitetään eksplisiittisesti, joka tarkoittaa sitä, että jokaisen verteksin koordinaatit tallennetaan erikseen. Säännöllinen geometria on puolestaan sellainen, jossa jokaisella verteksillä on yhtä monta naapuria ja niiden välinen konnektiviteetti on implisiittisesti määrätty. Vierekkäisten kolmioiden verteksien indeksit saadaan siis selville edellisten perusteella. Säännöllisen geometrian entropia on pienempi verrattuna vastaavaan epäsäännölliseen geometriaan, joten sen tiivistäminen on tehokkaampaa. Objekteihin voidaan lisäksi soveltaa paremmin esimerkiksi signaalinkäsittelyalgoritmeja, ja muita geometrian prosessointimenetelmiä (Gu et al., 2002). Kuva 1: Vasemmalta oikealle: i) alkuperäinen objekti, jossa noin 70 000 primitiiviä. Kuvassa lisäksi leikkaus tason topologiaan. ii) ensimmäistä kuvaa vastaava geometriakuva kooltaan 257x257 pikseliä. iii) geometrisestä kuvasta rekonstruoitu objekti. iv) rekonstruoitu objekti, kun geometriakuva kompressoitu 1.5 kilotavuun. (Kuva: Gu et al., 2002). Nykyisillä menetelmillä 3D-objektien geometria voidaan muuntaa säännölliseksi ainoastaan alueittain. Menetelmät toimivat siten, että kappaleet paloitellaan osiin ja erilliset palat parametrisoidaan kukin omalle parametritasolleen. Tasot kuvaavat geometrian alueittain säännöllisessä muodossa, mutta yhdessä ne muodostavat epäsäännöllisen rakenteen. Monista eri parametritasoista koostuvien esitysten käsittely on monimutkaista etenkin sellaisissa prosesseissa, joissa tarvitaan tietoja vierekkäisten parametritasojen alkioista (Gu et al., 2002). Epäsäännöllinen geometria aiheuttaa lisäksi ongelmia renderöinnissä, sillä perinteisesti objektien tekstuurit esitetään tavallisina bittikarttakuvina. Niiden tietorakenne on täysin säännöllinen ja prosessi hidastuu kun eri tiedot syötetään grafiikkaputkeen eri muodoissa (Gu et al., 2002). Tässä artikkelissa esitellään geometrian esitysmuoto, jota nimitetään geometriakuvaksi. Geometriakuvien avulla 3D-objektit voidaan kokonaisuudessaan kuvata ja näytteistää yhteen parametritasoon. Ne muodostavatkin tavan esittää mielivaltainen geometria aidosti säännöllisessä muodossa (katso kuva 1). Geometriakuvien ideana on parametrisoida alkuperäisen objektin geometria n n taulukkoon, johon mallin verteksit tallennetaan. Taulukko esitetään tavallisen bittikarttakuvan muodossa, jolloin objektin [x, y, z] arvoja vastaavat geometriakuvan [r, g, b] arvot. Samaa menetelmää voidaan soveltaa myös kappaleiden normaaleiden ja värien tallentamiseen. Näin ollen geometriakuvat, sekä tekstuureiden muutenkin säännölli- 2

nen esitystapa muodostavat perustan tallentaa 3D-objektien koko informaatio yhdenmukaisessa muodossa (Gu et al., 2002). Geometriakuvien tasaisen intensiteetti- ja värijakauman ansiosta niiden kompressointi voidaan suorittaa nykyisillä menetelmillä tehokkaasti. Lisäksi objektien renderöinti nopeutuu, kun niihin liittyvät tekstuurit, värit ja normaalit voidaan syöttää grafiikkaputkeen yhdenmukaisessa muodossa. Geometriakuvien tietorakenne on myös tavallisia verteksilistoja kevyempi (Gu et al., 2002). Geometriakuvan kehittämiseksi alkuperäinen objekti tulee leikata auki siten, että se voidaan levittää tasoon. Toisin sanoen geometrian tulee olla topologisesti tason kaltainen. Avattu kappale parametrisoidaan neliön muotoiselle pinnalle, ja edelleen kvantisoidaan 2D-kuvan [r, g, b] arvoiksi. Menetelmässä olennaista on löytää polku, jota pitkin objekti voidaan leikata auki. Polun tulee olla lisäksi sellainen, että parametrisoinnin synnyttämät virheet ovat mahdollisimman pieniä. Leikkausten reunat tulee parametrisoida siten, että rekonstruoidun kappaleen pinnassa ei esiinny epäjatkuvuuksia. Mikäli geometriakuvaa tiivistetään häviöllisellä algoritmilla, voi kappaleen pinta rikkoontua leikkauskohdissa. Tämän estämiseksi leikkauksen reunoihin liittyvä informaatio voidaan tallentaa vielä erikseen (Gu et al., 2002). 2 MUU TUTKIMUS Lukuisat tutkijat ovat aiemmin esittäneet menetelmiä, joilla 3D-kappaleiden geometria voidaan muuntaa alueittain säännölliseen muotoon (esimerkiksi Eck et al., 1995; Lee et al., 2000; Guskov et al., 2000). Kaikissa edellisissä menetelmissä käytetään useita eri parametritasoja, eikä objektia voida muuntaa kokonaan säännölliseksi. Joukko säännöllisiä parametritasoja muodostavat kokonaisuutena epäsäännöllisen rakenteen. Kaikkia täysin säännöllisen geometrian etuja ei silloin saavuteta. Leen et al. menetelmässä (2000) geometria tallennetaan alhaisella resoluutiolla käyttäen tietorakenteena tavallisia verteksilistoja. Lisäksi objektin hienorakenne kuvataan alhaisen resoluutiomallin normaaleiden skalaariarvoisena funktiona. Rakenne on osin säännöllinen, sillä lopullisen geometrian arvot saadaan laskettua suoraan alemman resoluution mallista. Guskov et al. (2000) esittelivät samankaltaisen menetelmän. Leestä et al. poiketen he käyttivät useita eri alhaisen resoluution malleja geometrian perusrakenteen tallentamiseen. Eräässä vanhemmassa Leen et al. työssä (1998) vertailtiin eri tekniikoita kappaleiden muuttamiseksi säännölliseen muotoon. Heidän mukaansa tutkimuksissa on keskitytty kahdenlaisiin tekniikoihin, joista toiset perustuvat objektien moniresoluutiokäsittelyyn sekä geometrian paloitteluun, ja toiset objektien rekursiiviseen resoluution alentamiseen. Leen et al. (1998) menetelmässä sovellettiin molempia edellä mainittuja tekniikoita. Eck et al. (1995) esittivät menetelmän, jossa objektin geometria jaetaan paloihin. Tässä menetelmässä jokainen pala parametrisoidaan ja näytteistetään erikseen omille parametritasoilleen. Parametrisoinnin lisäksi Eck et al. tiivistivät objektejaan aallok- 3

keisiin perustuvilla algoritmeilla. Aiemmin esitellyt menetelmät liittyvät läheisesti tässä esitettyyn tutkimukseen, sillä niiden avulla 3D-objekti voidaan kuvata useille eri geometriakuville. Tässä artikkelissa esitellyn menetelmän avulla kappaletta voidaan kuitenkin muokata niin, että se on parametrisoitavissa yhteen kuvatasoon. 3 MENETELMÄN KUVAUS 3.1 Käsitteistöä Geometriakuvien menetelmä jakaantuu kolmeen päävaiheeseen (Gu et al., 2002): Leikkaaminen Alkuperäisen objektin geometria leikataan auki siten, että lopputuloksella on tason topologia, ja se voidaan parametrisoida neliön muotoiselle pinnalle. Reunojen parametrisointi Leikkauksen reunat parametrisoidaan siten, että rekonstruoidusta objektista tulee pinnaltaan tasainen, eikä siinä esiinny epäjatkuvuuskohtia. Mikäli saatua geometriakuvaa tiivistetään häviöllisellä algoritmilla tulee reunainformaatio tallentaa vielä erikseen. Muun geometrian parametrisointi Geometrian parametrisoinnissa minimoidaan geometriset vääristymät, sekä näytteistetään alkuperäinen objekti säännölliseen muotoon. Käsiteltävälle objektille M haetaan paras mahdollinen leikkaus ρ, jota pitkin avaamalla M:stä saadaan uusi objekti M. Leikkaus ρ määritellään joukkona kolmioiden sivuja, jotka muodostavat M:n geometriaan leikkauspolkuja. Polkujen risteymiä nimitetään leikkaussolmuiksi. ρ:ta nimitetään avaamisen jälkeen avatuksi leikkaukseksi ρ. ρ :n vastakkaisilla puolella olevia kolmioiden sivuja nimitetään puolestaan pareiksi. Koko prosessi aloitetaan hakemalla ensimmäinen leikkaus ρ 0, jota edelleen parannetaan iteratiivisesti kohti ρ:ta. Lopullisen leikkauksen löydyttyä geometria parametrisoidaan tasolle D. Parametrisointi φ on lineaarinen kuvaus D:ltä M:lle (katso kuva 2). 3.2 Reunojen parametrisointi Gu et al. (2002) esittämässä menetelmässä avattu leikkaus ρ parametrisoidaan yksikköneliön D reunalle. Geometriakuvasta rekonstruoituun 3D-objektiin saattaa kuitenkin syntyä epäjatkuvuuskohtia, ellei reunoja parametrisoida oikealla tavalla. Ongelman estämiseksi sekä leikkauspolkujen että -solmujen tulee yhtyä uudessa kappaleessa pareittain. Tavoitteeseen päästään parametrisoimalla leikkaussolmut D:n reunalle säännölliseen hilamuodostelmaan. Lisäksi leikkauspoluille, sekä niitä vastaaville pareille tulee 4

M M D Kuva 2: Geometriakuvan käsitteistöä. Kuvassa vasemmalla ylhäällä on alkuperäinen 3D-objekti M. Ylhäällä oikealla on puolestaan sama objekti (M ) avattuna leikkausta ρ pitkin (katkoviivalla merkityt primitiivit kuuluvat kappaleen toiselle puolelle). Harmaat nuolet kuvaavat kahden leikkaussolmun paikkaa, ylempi on avattu. Siniset, vihreät ja punaiset murtoviivat edustavat leikkauspolkuja. Värit osoittavat lisäksi niiden olevan pareja. Yhdessä leikkauspolut muodostavat leikkauksen ρ. Oikealla alhaalla on kuva säännöllisestä hilasta, johon 3D-kappaleen geometria parametrisoidaan. Siinä on myös esitetty reunojen parametrisoinnin idea: leikkaussolmujen väliset polut varaavat D:n reunalta yhtä suuren mitan. 5

varata yhtenevät mitat D:n reunalla. Leikkauspolkujen verteksejä ei kuitenkaan tarvitse parametrisoida samanlaisille väleille, vaan vaatimus koskee ainoastaan solmuja (katso kuva 2). Reunojen parametrisoinnissa on vaarana myös geometrian degeneroituminen. Ongelma ilmenee silloin, kun jonkun M :n primitiivin kaikki verteksit parametrisoituvat D:n samalle sivulle. Tällaisessa tapauksessa kyseinen kolmio jaetaan osiin liittämällä siihen uusia verteksejä. Uudet verteksit sijoitetaan kolmion niille sivuille, jotka eivät ole M :n reunalla. Toimenpiteen seurauksena saattaa geometriaan syntyä T- haarautumia, jotka poistetaan jakamalla käsitellyn kolmion naapuriprimitiivit vastaavalla tavalla osiin. Toisen degeneroitumiseen liittyvän ehdon mukaan yksikään primitiivi ei saa virittää mitään D:n neljästä kulmasta. Jos näin kuitenkin tapahtuu, tulee vastaavaan kulmaan sijoittaa uusi verteksi. Lisäksi kyseinen kolmio jaetaan kahtia. Sama menettely toistetaan myös kyseisen kolmion parille. 3.3 Geometrian parametrisointi Käsiteltävä objekti M tulee avata siten, että sillä on tason topologia. Tämän jälkeen geometria M parametrisoidaan yksikköneliön D pinnalle ja näytteistetään kuvaksi, jossa M:n spatiaaliarvoja [x, y, z] vastaavat kuvan värikoordinaatit [r, g, b]. Parametrisointi φ muodostaa lineaarisen kuvauksen D:ltä M :lle. Geometrian parametrisoinnissa pyritään sellaiseen lopputulokseen, jossa uuden geometrian suhde alkuperäiseen on mahdollisimman hyvä. Tässä hyvyyden mittana käytetään Sanderin et al. (2001) esittämää metriikkaa. Metriikka mittaa geometrian vääristymiä silloin, kun parametrisointi on tehty tasaisesti. Toisin sanoen näytteet saadaan jaettua tasaisesti parametritasoon, kun minimoidaan metriikan mittaamat geometriset venymät. 3.4 Geometrian avaaminen Geometrian avaaminen on kaksivaiheiden prosessi, jossa ensin haetaan ensimmäinen leikkaus ρ 0. ρ 0 :aa parannetaan edelleen iteratiivisesti kohti lopullista leikkausta ρ. Algoritmin ensimmäisessä vaiheessa poistetaan objektista mielivaltainen aloitusprimitiivi, joka on mielivaltainen kolmio t. Kolmion poistamisen seurauksena geometriaan tulee aukko. Sitä reunustavat sivut e i, joista kukin liittyy ainoastaan yhteen kolmioon. Nyt poistetaan nämä sivut, sekä niitä vastaavat kolmiot. Edellistä jatketaan, kunnes jäljellä ei ole enää yhtään vain yhteen kolmioon liittyvää sivua. Prosessi jatkuu poistamalla vielä kaikki ne verteksit v i, jotka liittyvät ainoastaan yhteen sivuun. Myös vastaavat sivut poistetaan. Jäljelle jäävä polkujen unioni on haettu leikkaus ρ 0. On huomattava, että tietyissä yksinkertaisissa tapauksissa (kappaleet, jotka voidaan avata yhdellä leikkauspolulla) algoritmi poistaa kaiken yhtä verteksiä lukuunottamatta. Tällöin leikkaukseen palautetaan kaksi viimeista sivua e n ja e n 1. 6

Lopuksi jokainen ρ:n leikkauspolku suoristetaan laskemalla lyhin reitti sitä vastaavien leikkaussolmujen välillä. Kuvassa 3 on esitetty leikkausalgoritmi vuokaaviona. Poista aloitusprimitiivi Onko olemassa jana, joka muodostaa vain yhden kolmion sivun? Kyllä Poista jana ja kolmio Onko haetussa leikkauksessa vain yksi verteksi? Ei Kyllä Ei Lisää leikkaukseen kaksi edellistä janaa Onko olemassa verteksi, joka liitty vain yhteen janaan Kyllä Poista verteksi ja jana Suorista leikkaus Ei Jäljelle jääneet verteksit muodostavat haetun leikkauksen Kuva 3: Menetelmä ensimmäisen leikkauksen ρ 0 hakemiseen. Algoritmi poistaa 3Dkappaleen primitiivejä kunnes jäljellä on haettu leikkaus ρ 0. Käsiteltävä objekti voidaan avata kyseistä leikkausta pitkin levitettäväksi tasoon. Toisin sanoen sillä on silloin tason topologia. ρ 0 :n löydyttyä haetaan parametrisointi φ. Tämän jälkeen leikkausta ja parametrisointia parannetaan iteratiivisesti niin kauan, että rekonstruoidun kappaleen laatu ei enää parane. Iterointi aloitetaan hakemalla sellaiset kolmioverkon kohdat, joihin kohdistuu suurin venymä parametritasossa. Nämä kohdat ovat eräänlaisia paikallisia ääriarvoja (esimerkiksi sormenpäät kuvassa 4). Gu et al. (2002) esittivät, että paras mahdollinen leikkaus ρ kulkee alkuperäisen kappaleen M paikallisten ääriarvojen kautta. Ääriarvojen löytämiseksi avattu leikkaus ρ parametrisoidaan yksikköympyrän C kehälle, jolloin vältytään neliön kulmien aiheuttamilta geometrisilta vääristymiltä. M :n muu geometria parametrisoidaan saman ympyrän sisälle. Paikalliset ääriarvot sijaitsevat C:n niissä kohdissa, joissa parametrisoinnin aiheuttama geometrinen venymä on suurin. Näistä kohdista lasketaan lyhin reitti avatun geometrian M reunalle. Edellä laskettu reitti muodostaa erään leikkaushaaran ja se liitetään ρ:hon. Tarvittaessa aloitetaan uusi iterointikierros. 7

Kuva 4: Hyvä leikkaus kulkee paikallisten ääriarvojen kautta. Ääriarvot ovat sellaisia geometrian kohtia, jotka kuvautuvat huonosti parametritasoon. Niiden alueelle syntyy parametrisoinnissa paljon geometrisia vääristymiä. Leikkauksen iteratiivisella parantamisella pyritään liittämän ρ:hon paikallisten ääriarvojen kautta kulkevia leikkaushaaroja. Tässä vaiheessa geometria kuvataan yksikköympyrälle, jolloin neliön kulmien aiheuttamat geometriset vääritymät eivät häiritse ääriarvoanalyysiä. (Kuva: Gu et al., 2002). 3.5 Reunainformaation tallentaminen Kun geometria on levitetty tasoon ja parametrisoitu geometriakuvaksi voidaan kuvaa edelleen tiivistää. Käytettäessä häviöllisiä tiivistysmenetelmiä leikkauksen ρ yhdistäminen voi kuitenkin epäonnistua. Ongelman estämiseksi jokainen leikkauspolku ja sitä vastaava pari {a, ā} liitetään toisiinsa. Kaikista mahdollisista pareista muodostetaan merkkijono seuraavaan tapaan: {abā bc c}. Leikkauspolkujen järjestyksen lisäksi tallennetaan jokaisen leikkauspolun pituus D:n reunalla, sekä ensimmäisen leikkauspolun paikka. Tietomäärältään pienen reunainformaation perusteella leikkauksen ρ jokainen leikkauspolku voidaan pareineen yhdistää yksikäsitteisesti palautettaessa alkuperäistä geometriaa. 4 KÄYTÄNNÖN TULOKSIA Gu et al. ovat testanneet mentelmäänsä useilla korkearesoluutioisilla objekteilla. Tyypillisesti objektin muuttaminen geometriakuvaksi vei tavallisella PC:llä aikaa tunnin verran. Algoritmin pullonkaula on leikkauksen iterointi kohti lopullista leikkausta ρ. Testipenkissä olleet objektit koostuivat noin 500 000 prmitiivistä, ja niistä tehdyt geometriakuvat olivat mitoiltaan 257x257 pikseliä. Kuvassa 1 on esitetty eräs Gun et al. käyttämä 3D-malli leikkauksineen, sekä objektia vastaava geometriakuva. Geometriakuvilla on myös rajoituksensa. Etenkin monimutkaisten kappaleiden parametrisointi on hankalaa ja hidasta. Monimutkaisten ja poimuttuneiden objektien muuntaminen ilman merkittäviä geometrisia virheitä ei myöskään onnistu. Briceño et al. mainitsevat (2003) toisen ongelman, ja se liittyy geometriakuvien sivujen kiinteään 8

suhteeseen. Heidän mukaansa pitkien ja kapeiden objektien parametrisointi aiheiuttaa parametrisoinnissa suuria geometrisia venymiä. Edelleen 3D-kappaleet kuvataan neliön alalle, jolloin sen kulmiin syntyy vääjäämättä vääristymiä. Objektien pintojen nopeat muutokset voivat niin ikään aiheuttaa alhaisella näytteenottotaajuudella aliasoitumista eli laskostumista (katso kuva 5). Geomteriakuvia on hyödynnetty myös muissa projekteissa, joista ensin mainittakoon Briceñon et al. (2003) tutkimus 3D-animaatioista. Projektissa esiteltiin uusi, geometriakuviin perustuva tietorakenne animaatioiden tallentamista varten. Menetelmässä sovellettiin hyvin tuloksin muun muassa MPEG-pakkausta. Toinen aiheeseen läheisesti liittyvä tekniikka on Sanderin et al. (2003) esittelemä menetelmä, jossa objektien geometria leikataan osiin, ja ladotaan eräänlaiseksi kartastoksi. Kartasto parametrisoidaan edelleen yhdelle n m-kokoiselle geometriakuvalle. Algorimi toimii tavallisia geometriakuvia paremmin etenkin monimutkaisten objektien käsittelyssä. Lisäksi Sanderin et al. esittämällä tavalla voidaan parametrisoida objekteja, joihin liittyy useita, toisistaan irrallisia kappaleita. 5 YHTEENVETO JA POHDINTAA Epäsäännöllisten geometrioiden käsittely, tallennus, siirtäminen ja muokkaaminen on hidasta ja hankalaa. Ongelmaa on lähestytty muokkaamalla kappaleiden geometrioita uudelleen. Esitettyjä menetelmiä on lukuisia mutta ne kaikki tuottavat vain osin säännöllisiä esitysmuotoja. Tekstuurit esitetään täysin säännöllisinä 2D-taulukkona, joten 3D-objektien ja tekstuureiden esitystavat ovat tyypillisesti täysin erilaisia. Tämä hidastaa erityisesti kappaleiden renderöintiä. Kuva 5: Nopeat muutokset geometriassa voivat aiheuttaa parametrisoinnin yhteydessä laskostumista. Laskostumisella eli aliasoitumisella tarkoitetaan liian alhaisesta näytteenottotaajuudesta syntyvää tilannetta, jossa geometriaa ei voida rekonsturoida kunnolla uudelleen. Shannonin kuuluisan näyteenottoteoreeman mukaan näytteenottotaajuuden on oltava vähintään kaksinkertainen objektin pinnanmuutosten suurimpaan taajuuteen nähden. Kuvaan on rengastettu rekonstruoituun kappaleeseen syntyneitä laskostuneita kohtia. (Kuva: Gu et al., 2002). Tässä artikkelissa esiteltiin menetelmä geometriakuvien tekemiseksi. Geometriakuvat ovat tavallisia 2D-kuvia, jotka muodostavat täysin säännöllisen esitystavan mielivaltaisille geometrioille. Ne soveltuvat rakenteensa puolesta hyvin esimerkiksi gra- 9

fiikkapiirien käsiteltäviksi. Objektien täysin säännöllinen esitysmuoto nopeuttaa niiden prosessointia myös muissa yhteyksissä. Geometriakuvia voisi ajatella sovellettavan myös CAD-sovellusten tuottamiin malleihin, ovathan mallit monesti useiden gigatavujen kokoisia. Ne ovat kuitenkin hyvin tarkkoja, joten niiden pintaa ei sovi approksimoida uudelleen. Lisäksi objektien geometria on yleensä poimittunutta ja muutenkin monimutkaista. Näin ollen geometriakuvat eivät tarjoa ratkaisua niiden käsittelyyn (Isenburg & Gumhold, 2003). Geometriakuvat soveltuvat kuitenkin hyvin sellaiseen käyttöön, jossa kappaleiden käsittely on aika- ja tilakriittistä, eikä pienillä geometrisillä muutoksilla ole merkitystä. Sovelluksia löytynee esimerkiksi animaatioiden ja tietokonepelien joukosta. Kirjallisuus Briceno H., Sander P., McMillan L., Gortler S. & Hoppe H. 2003. Geometry Videos: A New Representation for 3D Animations. Pages 136 146 of: Proceedings of the 2003 ACM SIGGRAPH/Aurographics Symposium on Computer Animation. Eck M., DeRose T., Duchamp T., Hoppe H., Lounsbery M. & Stuetzle W. 1995. Multiresolution Analysis of Arbitrary Meshes. Pages 173 182 of: Proceedings of the SIGGRAPH 95. Gu X., Gortler S. & Hoppe H. 2002. Geometry Images. Pages 355 361 of: Proceedings of the 29th annual confrence on Computer graphics and interactive techniques. Guskov I., Vidimce K., Sweldens W. & Schröder P. 2000. Normal Meshes. Pages 95 102 of: Proceedings of the SIGGRAPH 2000. Isenburg M. & Gumhold S. 2003. Out-of-Core Compression for Gigantic Polygon Meshes. Pages 935 942 of: Proceedings of ACM SIGGRAPH 2003. Lee A., Sweldens W., Schröder P., Cowsar L & Dobkin D. 1998. MAPS: Multiresolution Adaptive Parametrization of Surfaces. Pages 95 104 of: Proceedings of the SIGGRAPH 98. Lee A., Moreton H. & Hoppe H. 2000. Displaced Subdivision Surfaces. Pages 85 94 of: Proceedings of the SIGGRAPH 2000. Sander P., Gortler S., Snyder J. & Hoppe H. 2001. Texture Mapping Progressive Meshes. Pages 409 416 of: Proceedings of the SIGGRAPH 2001. Sander P., Wood Z., Gortler S., Snyder J. & Hoppe H. 2003. Multi-Chart Geometry images. Pages 146 155 of: proceedings of the Eurographics/ACM SIGGRAPH symposium on Geometry processing. 10