2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

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

Algoritmit 2. Luento 6 To Timo Männikkö

Tilanhallintatekniikat

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

6.5. Renderöintijärjestys

11. Tilavuusrenderöinti

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Algoritmit 1. Luento 3 Ti Timo Männikkö

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö

T Vuorovaikutteinen tietokonegrafiikka Tentti

10. Esitys ja kuvaus

Algoritmit 1. Luento 8 Ke Timo Männikkö

Luento 6: Geometrinen mallinnus

Algoritmit 2. Luento 7 Ti Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö

A TIETORAKENTEET JA ALGORITMIT

2 Pistejoukko koordinaatistossa

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Luku 8. Aluekyselyt. 8.1 Summataulukko

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

Luento 3: 3D katselu. Sisältö

PYÖRÄHDYSKAPPALEEN PINTA-ALA

Algoritmit 2. Luento 4 To Timo Männikkö

12.5. Vertailua. Silmäillään laskostumisen estoa tietokonegrafiikan kannalta. Kuva luonnehtii vaihtoehtoja.

Tietorakenteet ja algoritmit

POHDIN - projekti. Funktio. Vektoriarvoinen funktio

8. Morfologinen kuvanprosessointi 8.1. Perusteita

Pintoja kuvaavien verkkojen muodostaminen ja optimointi. Antti Seppälä

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Algoritmit 1. Luento 6 Ke Timo Männikkö

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Määrätty integraali. Markus Helén. Mäntän lukio

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

Tietorakenteet ja algoritmit - syksy

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

Algoritmit 1. Luento 13 Ma Timo Männikkö

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

Algoritmi on periaatteellisella tasolla seuraava:

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

1 PROSENTTILASKENTAA 7

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Kenguru 2016 Student lukiosarja

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

MATEMATIIKKA JA TAIDE I

Matematiikan tukikurssi

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

Algoritmit 2. Luento 4 Ke Timo Männikkö

Luento 7: Lokaalit valaistusmallit

Luento 6: Piilopinnat ja Näkyvyys

Tietorakenteet ja algoritmit

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 4 Ke Timo Männikkö

Paikkatiedon käsittely 6. Kyselyn käsittely

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

Oppijan saama palaute määrää oppimisen tyypin

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Lisää segmenttipuusta

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

Jakotaso 1. Teoriatausta. Työvaiheet. CAD työkalut harjoituksessa parting_1_1.catpart. CAE DS Muotinsuunnitteluharjoitukset

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 2: Usean muuttujan funktiot

Luento 6: Geometrinen mallinnus

Johdatus verkkoteoriaan 4. luento

Johdatus graafiteoriaan

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

S09 04 Kohteiden tunnistaminen 3D datasta

Algoritmit 1. Luento 10 Ke Timo Männikkö

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Algoritmit 2. Luento 9 Ti Timo Männikkö

Kartio ja pyramidi

8 Joukoista. 8.1 Määritelmiä

Lause 5. (s. 50). Olkoot A ja B joukkoja. Tällöin seuraavat ehdot ovat

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

MS-A0207 Differentiaali- ja integraalilaskenta 2 (CHEM) Luento 2: Usean muuttujan funktiot

Numeerinen analyysi Harjoitus 3 / Kevät 2017

Tekijä Pitkä matematiikka

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

Muita rekisteriallokaatiomenetelmiä

NÄKYMÄNHALLINTATEKNIIKAT 3D- GRAFIIKKAMOOTTOREISSA

PERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2

Algoritmit 1. Luento 1 Ti Timo Männikkö

Kokonaislukuoptiomointi Leikkaustasomenetelmät

Lineaarialgebra ja matriisilaskenta II Syksy 2009 Laskuharjoitus 1 ( ) Ratkaisuehdotuksia Vesa Ala-Mattila

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

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

Luento 7 Taulukkolaskennan edistyneempiä piirteitä Aulikki Hyrskykari

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Matematiikan tukikurssi

Joukot. Georg Cantor ( )

KESKEISET SISÄLLÖT Keskeiset sisällöt voivat vaihdella eri vuositasoilla opetusjärjestelyjen mukaan.

811120P Diskreetit rakenteet

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Transkriptio:

.. Kohteiden konstruktiivinen avaruusgeometrinen esitys Avaruusgeometrinen esitys on käyttäjäriippuvainen ja vaati erikoismenetelmiä tai lopuksi konversion monikulmiomalliksi. Se on korkean tason esitys ja esittää sekä muodon että rakenteen. Esitetään alkeismuotojen eli primitiivien yhdistelmä. Kuvan.8. esimerkit havainnollistavat Boolen operaatioiden käyttöä. Miellettäessä kohteet pistejoukkoina unioni operaatio (a) yhdistää kaikki kahden kohteen pisteet. Esimerkki (b) kuvaa vähentämistä, jossa toisen kohteen pisteet vähennetään ensimmäisestä. Leikkaus muodostetaan esimerkissä (c). Esitysmuoto mahdollistaa vuorovaikutteisen mallintamisen. Kyseeseen tulee varsinkin teollisuustuotannon esineet, joita suunnitellaan CAD:lla. Primitiivit ovat esim. pallon, kartion, sylinterin tai suorakulmionmuotoisia kappaleita, joita yhdistellään Boolen joukko operaatiolla ja lineaarisilla muunnoksilla kolmiulotteisesti. Kohde tallennetaan attribuuttipuuna. Lehdet sisältävät yksinkertaisia primitiivejä ja solmut operaattoreita tai lineaarisia muunnoksia. Kohde muodostetaan lisäämällä ja vähentämällä (reikien tekemiseksi).. luku 87 Kuva.8. (a) Unioni, (b) erotus ja (c) leikkaus.. luku 88 Kuvassa.9. esitetään puu, joka sisältää kahden suorakulmiokohteen yhdistämisen unionilla ja tästä erotuksen suorittamisen poraamalla reikä. Kuva.10. havainnollistaa edelleen Boolen operaatioiden kätevyyttä. Esimerkissä (a) kaksi erikseen luotua osaa yhdistetään unionilla ja tätä seuraavalla erotuksella. Esimerkissä (b) monimutkainen kappale rakennetaan sylintereistä unioneilla, mistä erotuksella saadaan lopullinen muoto. Kuva.9. Kolmesta primitiivistä rakennettu kohde puutietorakenteineen.. luku 89 Kuva.10. Boolen operaatioiden käyttöä: (a) unioni ja erotus sekä (b) kaksi unionia ja erotus.. luku 90

.3. Tilan alijakomenetelmät Vaikka avaruusgeometrinen esitys on tehokas, siinä on heikkouksiakin. Käytännöllinen ongelma on tarvittava mallin muodostamisen ja kuvan luomisen laskenta aika. Operaatioiden vaikutus on sitä paitsi kuvassa globaali, ja lokaaleja operaatioita, yksityiskohtien muokkausta, on vaikea tehdä. Menetelmä on volumetrinen. Kohteen käyttämä avaruuden osa on pikemmin tilavuutta kuin pintaa. Tilan alijakomenetelmä jakaa koko kohdeavaruuden hierarkkisesti kuutionmuotoisiin osiin, vokseleihin. Jokaisen vokselin kohdalla merkitään, kuuluko se kohteeseen vai ei. Tänä vaatii runsaasti muistitilaa, mutta on monesti käyttökelpoinen tapa, koska data on alkujaan tässä muodossa tai on helposti siihen muutettavissa. Esim. lääketieteellinen data on usein ylläkuvattua. Myös algoritmien ominaisuudet voivat suosia vokselidatan käyttöä. Esim. säteenjäljityksellä on etuja vokselidatalla, kun taas tavanomaisilla esitysmuodoilla se on paljon vaativampi tehtävä. Vokselidatalle tietorakenteena käytetään tyypillisesti kahdeksanpuuta (octree) kuvan.11. tapaan, jossa (a) kuutio on jaettu rekursiivisesti osiin, (b) otetaan kuutioon asetettu kohde ja (c) merkitään, mitkä kuution osista ovat kohteessa mukana. Myös tietorakenne on annettu.. luku 91. luku 9 On kaksi tapaa käyttää kahdeksanpuuta näkymän esittämiseksi. Voidaan käyttää kahdeksanpuuta sellaisenaan kohteen täydellistä esittämistä varten näkymässä. Kohteeseen käytettyjen solujen tai osien joukko muodostaa esityksen. Monimutkaisen näkymän tilanteessa tarkka kuva voi vaatia huikean määrän soluja, mikä johtaa suureen muistitilan tarpeeseen. Kuva.11. Kohteen esittäminen alijakomenetelmällä kahdeksanpuun ollessa tietorakenteena. Toinen, yleinen menettely on hyödyntää tavanomaisia tietorakenteita kohteiden esittämisessä ja käyttää kahdeksanpuuta vain kohteiden jaon kuvaamiseen näkymässä. Tällöin kahdeksanpuun lehti, joka sisältäisi jonkin kohteen tai tämän osan, sisältää viittauksen (osoittimen) kyseiseen kohteeseen.. luku 93. luku 94

Kuva.1. havainnollistaa tätä kaksiulotteisessa tilanteessa. Alijako on lopetettu heti, kun alue sisältää enintään vain yhtä kohdetta. Kohteen muoto esitetään omalla tietorakenteellaan. Tason ollessa kyseessä kohteet olisivat monikulmioita tai lappuja. Yleisessä mielessä alue voisi sisältää useiden kohteiden osia, jolloin käytettäisiin viittauslistaa niihin. Täten kahdeksanpuuta sovelletaan muista poikkeavasti hybridinä toisten tietorakenteiden kanssa.. luku 95 Kuva.1. Kaksiulotteisen näkymän nelipuuesitys (quadtree), jossa jakoa on jatkettu, kunnes alue sisältää enintään yhtä kohdetta. Puun lehdet viittaavat kohteen omaan tietorakenteeseen.. luku 96 Kahdeksanpuut ja monikulmiot Kahdeksanpuita ei siis tavallisesti käytetä tietorakenteena vokselidatalle, vaan järjestämään näkymää, jossa on useita kohteita. Kohteita ei esitetä vokseleilla, vaan monikulmioita sisältävinä suorakulmioisina tiloina. Suorakulmiot esitetään vokseleina. Kahdeksanpuun lehteen voidaan sijoittaa kohteiden ryhmiä, yksittäisiä kohteita, näiden osia tai jopa yksittäisiä monikulmioita. Tällainen menettely voi suuresti nopeuttaa laskentaa, varsinkin säteenjäljittämisessä. Kuvassa.13. on esimerkki, jossa on vähän kohteita, mutta näissä suuri määrä monikulmioita. Tämä johtaa syviin (epäedullisiin) puihin aliajon jakaessa lähinnä tyhjää tilaa. Kuva.13. Vähän kohteita, joilla sitä vastoin monikulmioiden lukumäärä on suuri. Kohteet ovat pieniä verrattuna huoneen tilavuuteen.. luku 97. luku 98

BSP puut Vaihtoehtoinen esitysmuoto on BSP puu (binary space partitioning). Sen jokainen sisäsolmu vastaa yhtä jaettua tasoaluetta, joka jakaa avaruuden tilan kahtia. Kaksiulotteinen analoginen kuva on kuvassa.14. BSP puu on kätevä tilanjakamistehtävien erikoistapauksissa, kuten piilopintojen poistossa. Jakotasojen hyödynnettävät ominaisuudet ovat: v Mikään tason toisella puolella oleva kohde ei voi leikata toisen puolen kohdetta. v Katsojaan nähden samalla tason puolella olevat kohteet ovat häntä lähempänä kuin toisen puoleen kohteet. Kahdeksanpuuhun nähden BSP puu ei ole parempi; kyse on samasta informaatiosta koodattuna eri tavalla. Kuva.14. Yhden jaon nelipuu ja BSP puu kaksiulotteisessa alueessa. Vokselikohteiden luominen Lääketieteellinen kuvantaminen on eräs keskeisistä sovellusaloista kolmiulotteisten kuvien yhteydessä. Kyseessä voi olla esim. röntgenkuva kehon osasta, jolloin pikseli vastaa tason pistettä ja tasoja asetetaan päällekkäin pinoksi. Yksinkertainen keino muuttaa tasojen pino kolmiulotteiseksi kuvaksi on ottaa kahdesta päällekkäisestä tasosta vastinpisteiden parit vokseleiksi.. luku 99. luku 100.4. Kohteiden esittäminen implisiittisillä funktioilla Kokonaisen kohteen esittäminen yhdellä implisiittisellä kaavalla rajoittuu määrättyihin tapauksiin, esim. palloihin. Huolimatta rajoittuneisuudestaan näillä on merkitystä tietokonegrafiikassa. Implisiittiset funktiot ovat primitiivien vaikutuksesta muodostuneita pintoja, joilla on vaikutusta lokaalisesti. Esimerkkinä on kuvan.15. samanlaiset kynttilät, jotka muodostavat valolähteen. Tätä kuvataan liekkejä ympäröivillä ääriviivoilla. Tällainen pinta on esitettävissä sopivilla funktioilla (skalaariarvoilla). Kuva.15. Kahden kynttilän muodostama valolähde, jota kuvataan yhteiselläkin Käytetään generoijaa eli primitiiviä, jolle voidaan määritellä etäisyysfunktio d(p) sen lähellä olevia pisteitä P varten. Käytetään potentiaalifunktiota f(d(p)), joka antaa skalaariarvon pisteelle P etäisyydellä d(p) generoijasta. Vaikutusaluetta rajoitetaan tyypillisesti pallolla, varsinkin pistegeneroijalle. Esimerkki potentiaalifunktiosta on: d f ( P) = (1 ) R d R Tässä d on pisteen etäisyys generoijasta ja R vaikutussäde. Skalaariarvoista saadaan eri generoijien potentiaalifunktioiden yhteisvaikutus. Kuvan.16 vasen sarake matkii Salvador Dalin maalausta. Oikealla kunkin pallon säde määrää vastaavien generoijien vaikutuksen. Tummat pallot ovat negatiivisia generoijia, joilla muodostetaan konkaavisuuksia malliin. Näin on mahdollista luoda orgaanisia muotoja, eläviä olentoja kuvaan. pinnalla.. luku 101. luku 10

Kuva.16. Implisiittisellä funktiolla tuotettua mallintamista.. luku 103