T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka



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

T Johdatus Tietoliikenteeseen ja Multimediaan

T Vuorovaikutteinen tietokonegrafiikka Tentti

Luento 3: 3D katselu. Sisältö

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

Tilanhallintatekniikat

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 10: Näkyvyystarkastelut ja varjot. Sisältö

Luento 7: Lokaalit valaistusmallit

Luento 6: Piilopinnat ja Näkyvyys

Sisällys. T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi 11/2007. Mikä on OpenGL?

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

Luento 4: Näkyvyystarkastelut ja varjot

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

Luento 2: 2D Katselu. Sisältö

Visualisoinnin perusteet

Oppimateriaali oppilaalle ja opettajalle : GeoGebra oppilaan työkaluna ylioppilaskirjoituksissa 2016 versio 0.8

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

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

4.3 Kehäkulma. Keskuskulma

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

Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio

T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi

Luento 6: Tulostusprimitiivien toteutus

6.5. Renderöintijärjestys

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


Malleja ja menetelmiä geometriseen tietokonenäköön

Luento 3: 2D Katselu. Sisältö

2.2. Kohteiden konstruktiivinen avaruusgeometrinen esitys

Opetusmateriaali. Tarvittavat välineet: KUVA 1. Rullakko 1. KUVA 2. Rullakko 2, jossa kiekoissa on kuhmu

Sisältö. Luento 1: Transformaatiot (2D) 1. Koordinaattimuunnokset. Muunnokset (jatkuu) 2. Perustransformaatiot. Perustransformaatiot (jatkuu)

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Kahden suoran leikkauspiste ja välinen kulma (suoraparvia)

Mihin käytetään (jatkuu) Mihin käytetään (jatkuu) Mihin käytetään (jatkuu) Grafiikkajärjestelmä. Graafiset näyttölaitteet.

T Johdatus tietoliikenteeseen ja multimediatekniikkaan: Tietokonegrafiikka. Tassu Takala. Mediatekniikan laitos

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Geogebra -koulutus. Ohjelmistojen pedagoginen hyödyntäminen

I Geometrian rakentaminen pisteestä lähtien

Geometriaa GeoGebralla Lisätehtäviä nopeasti eteneville

MATEMATIIKKA JA TAIDE II

Luento 2: Viivan toteutus

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

TIES471 Reaaliaikainen renderöinti

Luento 2: Tulostusprimitiivit

Matematiikan ilmiöiden tutkiminen GeoGebran avulla

3D-Maailman tuottaminen

Esityksen sisältö. Peruskäsitteitä. 3D Grafiikka tietokonepeleissä. Piirto- ja taustapuskuri

Matematiikka vuosiluokat 7 9

Yksinkertaistaminen normaalitekstuureiksi

Controlling the Camera of 3D World by Using Real Time Face Tracking

Tietokonegrafiikan kertausta eli mitä jokaisen animaattorin tulisi tietää tekniikasta

Paikkatiedon käsittely 4. Diskreettiä geometriaa

HELSINGIN YLIOPISTON VIIKIN NORMAALIKOULUN

Konformigeometriaa. 5. maaliskuuta 2006

Luento 6: Geometrinen mallinnus

T Studio 4. luento 3: laskennallista geometriaa virikkeitä harjoituksiin: luovuudesta. matemaattista/abstraktia taidetta tietokonetaidetta

Vektorimatematiikkaa Pisteet ja vektorit

3D-grafiikkamoottorin toteutus

Tehtävä 1. Oletetaan että uv on neliö ja (u, v) = 1. Osoita, että kumpikin luvuista u ja v on. p 2j i. p j i

/X.WXWNLHOPD 5HDDOLDLNDLVHWYDUMRWMD YDUMRVlUPL DOJRULWPL

GeoGebran 3D paketti

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

Ympyrän yhtälö

3. Harjoitusjakso I. Vinkkejä ja ohjeita

TOMI LAMMINSAARI 3D-MAAILMAN KAMERAN OHJAAMINEN KASVOJEN PAIKANNUKSEN AVULLA. Diplomityö

Tassu Takala Teknillinen korkeakoulu Mediatekniikan laitos

3D-NÄKYVYYSOPTIMOINTI MOBIILILAITTEILLA

LW LightWorks. 1 Renderoijan perussäädöt. 1.3 LightWorks-tehosteet Menetelmät ja reunantasoitus. 1.1 Sisältö. 1.2 Lightworksin käytön aloitus

HELSINGIN YLIOPISTON VIIKIN NORMAALIKOULUN MATEMATIIKAN OPETUSSUUNNITELMA TAVOITTEET 1. LUOKALLE

TIES471 Reaaliaikainen renderöinti

Luento 2: Transformaatiot (2D)

Suorien ja tasojen geometriaa Suorien ja tasojen yhtälöt

Vanhoja koetehtäviä. Analyyttinen geometria 2016

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Tasogeometria. Tasogeometrian käsitteitä ja osia. olevia pisteitä. Piste P on suoran ulkopuolella.

Reaaliaikaiset varjoalgoritmit. Atso Kauppinen

1. a. Ratkaise yhtälö 8 x 5 4 x + 2 x+2 = 0 b. Määrää joku toisen asteen epäyhtälö, jonka ratkaisu on 2 x 1.

3D-renderöinti OpenGL-ohjelmointirajapinnalla

Tietokonegrafiikan perusteet

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

Tieteellinen laskenta 2 Törmäykset

LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA

10. Esitys ja kuvaus

Aloitusohje versiolle 4.0

Kaupunkisuunnittelua

5.3 Suoran ja toisen asteen käyrän yhteiset pisteet

Gimp 3. Polkutyökalu, vektori / rasteri, teksti, kierto, vääntö, perspektiivi, skaalaus (koon muuttaminen) jne.

Luento 3: Transformaatiot (2D)

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

Tekijä Pitkä matematiikka

LightWorks. 1 Renderoijan perussäädöt. 1.1 Sisältö. 1.2 LightWorksin käytön aloitus

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

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

Käy vastaamassa kyselyyn kurssin pedanet-sivulla (TÄRKEÄ ensi vuotta ajatellen) Kurssin suorittaminen ja arviointi: vähintään 50 tehtävää tehtynä

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

b 1. b m ) + ( 2b Ax) + (b b)

Transkriptio:

Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka Timo Tossavainen Mediatekniikan laitos, Aalto-yliopiston perustieteiden korkeakoulu Timo.Tossavainen@tkk.fi 25.3.2011

Sisältö Historiaa Rasterigrafiikkaa Vektorigrafiikkaa 3D-grafiikkaa 2/35

Historiaa 1940 Tietokoneet (Z3) 1950 CRT näyttö tietokoneessa (Whirlwind, SAGE) 1960 Vuorovaikutteinen grafiikka (Sketchpad) 1970 Grafiikan perusalgoritmit (mm. Utahin yliopisto) 1980 Fotorealistinen globaali valaistus 1990 Vuorovaikutteinen 3D-grafiikka yleistyy, OpenGL 2000 Ohjelmoitava kiihdytetty grafiikan liukuhihna 3/35

Rasterigrafiikkaa Digitaaliset kuvat koostuvat pikseleistä hilalla, rasterilla Pikselillä voi olla väri Tyypillinen esitys muistissa Pikselit peräkkäin Pikseleiden värikomponentit peräkkäin 4/35

Rasteriarkkitehtuuri Näytönohj. muisti Kuvapuskuri Videokontrolleri Monitori CPU Näytönohjain Muisti Väylä 5/35

Rasteriesityksen ongelmia Rakenteeton eli kasa pikseleitä Tilantarve Heikko muokattavuus (zoom, kierto) Riippuu näytön tarkkuudesta 6/35

Vektorigrafiikka Kuvataan piirrettävä kuva rakenteisesti äärettömän tarkkojen matemaattisten primitiivien avulla Renderoidaan eli muodostetaan kuva rasterille Resoluutioriippumaton: tarkkuus voi vaihdella Kuvan osat erikseen muokattavissa Tarvitaan sopivat primitiivit ja operaatiot Muunnokset: siirto, skaalaus, kierto Leikkaukset, etäisyydet Rasterointi eli piirtäminen 7/35

Vektorigrafiikan muunnokset Siirtojen, kiertojen ja skaalausten yhdisteet esitettävissä matriiseilla, kun koordinaattivektoreiden loppuun lisätään 1. Esim. Siirto (x, y) (x + x, y + y) matriisimuodossa 1 0 x x x + x 0 1 y y = y + y 0 0 1 1 1 Kuvausten yhdiste = matriisikertolasku. Käänteismatriisi = käänteiskuvauksen matriisi. Projektiiviset muunnokset esitettävissä homogeenisilla koordinaateilla operoivilla matriiseilla samaistamalla (wx, wy, w), w 0, pisteen (x, y) koordinaateiksi. 8/35

Vektorigrafiikan primitiivit Säilyttävä muunnoksissa. Projektiivisissa esim. suora suora kolmio kolmio hypertaso hypertaso kartioleikkaus kartioleikkaus Tehokas kuvata, leikata, piirtää Suora, puolisuora, jana, hypertaso, pallo, ellipsoidi, kolmio, monikulmio, kartioleikkaus Parametrinen esitys. Esim. Jana PQ (1 t)p + tq, 0 t 1 Implisiittinen esitys. Esim. Ympyrä ja suora x 2 + y 2 r 2 = 0, ax + by + c = 0. 9/35

Geometrinen laskenta Piirtoalgoritmit rakentuvat primitiivien välisten geometristen laskelmien päälle Etäisyydet ja leikkaukset C P Q X 1 C X 2 r P u A B 10/35

Rasterointi Piirretään approksimaatio geometrisesta primitiivistä. P C r Q 11/35

Mallintaminen Mallinnetaan piirros aiemmin käsitellyillä matemaattisilla primitiiveillä V 1 V 8 V 2 V 3 V 6 V 7 V 4 V 5 Muunnokset: Voidaan tuottaa kuva piirroksesta eri asennoissa, eri mittakaavoissa ja eri resoluutioilla. 12/35

Katselu ja renderointi Piirrosta katsellaan ikkunan (window) läpi Ikkunasta näkyvä osuus piirretään näyttöalueeseen (viewport) esim. primitiivi kerrallaan 13/35

Leikkaaminen Näyttöalueen ulkopuolisia osia ei piirretä Hidasta testata pikseli kerrallaan (saksiminen) Yleensä primitiivit leikataan näyttöalueeseen ennen piirtoa 14/35

Antialiasointi Primitiivien määrittelemä ideaalikuva on äärettömän tarkka Pikselin värin poimiminen pistenäytteestä aiheuttaa laskostumista (aliasing) Optimaalinen: Alipäästösuodatetaan ideaalikuvaa Käytännössä: Piirretään korkeammalla resoluutiolla ja pienennetään tai käsitellään osittainen pikselin peitto heuristisesti 15/35

3D-vektorigrafiikka Sama periaate kuin 2D-vektorigrafiikassa Primitiivit ja muunnokset kolmiulotteisia Tarvitaan projektio tasolle Perspektiiviprojektio (realistinen) Yhdensuuntaisprojektio (esim. tekniset piirrokset) Näkyvyysongelma Sävytys 16/35

Perspektiiviprojektio P katsoja projektion keskus n u projektio ikkuna projektori katselutaso projektiotaso 17/35

Näkyvyysongelma / Piilopintojen poisto Myöhemmin piirretyt peittävät aiemmin piirretyt. Kuution piirto sivu kerrallaan voi tuottaa ao. tulokset. 18/35

Säteenheitto Heitetään säde jokaisen kuvapisteen läpi Haetaan säteen leikkaukset primitiivien kanssa Lähin leikkauspiste on näkyvä pinnan piste 19/35

Syvyyspuskuri (Z-buffer / depth buffer) Pidetään kirjaa jokaiseen pikseliin piirretyn pinnan pisteen syvyydestä Piirretään pinnan piste, jos lähempänä kuin aiemmin piirretty Läpinäkymättömät primitiivit voidaan piirtää mielivaltaisessa järjestyksessä Nopea: Käytetyin tekniikka reaaliaikaisessa grafiikassa Tarkkuusongelmia, jos suuria mittakaavaeroja 20/35

Sävytys (Shading) Pinnalta havaitun värin muodostaminen Valaistus, teksturointi, kuhmutus 21/35

Paikallinen valaistus Phongin malli: taustavalo (ambient) + hajaheijastuva valo (diffuse, mattapinnat) + peiliheijastuva valo (specular, kiiltävät pinnat) Yksinkertaisia valonlähteitä: piste, suunta, spotti x θ l n r θ θ θ α e x cos θ 22/35

Grafiikan liukuhihna (yksinkertaistettu) Reaaliaikaisessa grafiikassa käytetty laskennan malli kärkipisteet interpoloitava data Primitiivien kokoaminen kolmiot Leikkaus katselupyramidiin leikkaaminen kolmiot Rasterointi kolmion läpikäynti syvyyspuskuri näkyvät pintapisteet kolmion pinnalla interpoloitu data Sävytys tekstuurit vakiot ym. pikselin väri 23/35

Ohjelmoitava sävytys Liitetään mallin kulmapisteisiin tietoa, joka interpoloidaan kolmioiden yli. Sävytysfunktio (pixel/fragment shader) laskee pinnan värin vakioista ja interpoloidusta tiedosta, mm. Valonlähteiden paikat ja tyypit Materiaalin valaistusominaisuudet Tekstuurit ja tekstuurikoordinaatit Pinnan hienorakenne (kuhmut) Joissakin tekniikoissa useita piirtokertoja (esim. varjot). 24/35

Esimerkki: Volumetrinen sumu Väri muuttuu valonsäteen sumun sisällä kulkeman matkan mukaan 25/35

Esimerkki: Varjot Piste varjossa -testi piirtämällä varjotilavuudet 26/35

Esimerkki: Varjot (2) 27/35

Grafiikkaliukuhihnan ominaisuuksia Piirtää primitiivin kerrallaan Ei tarvitse tietoa koko näkymästä Läpinäkymättömien primitiivien piirtojärjestys vapaa Laitteistokiihdytetty Suurelta osin ohjelmoitavissa Maiseman geometriaa tarvitsevien tekniikoiden toteutus hankalaa (heijastukset, varjot, globaali valaistus). 28/35

Fotorealistinen kuvanmuodostus Simuloidaan valon heijastumista maisemassa Tarvitsee tietoa koko maisemasta Laskennallisesti raskasta 29/35

Tietokoneanimaatio Muutetaan piirrettävän maailman tilaa suhteessa aikaan Piirretään kuvia tietyillä ajanhetkillä Pieni muutos kuvien välillä saa aikaan liikehavainnon Reaaliaikainen 20+ kuvaa/s. Kaksoispuskurointi: Näytetään yksi kuva, piirretään toinen, vaihdetaan kun piirto valmis Ongelman monimutkaisuuden takia tarvitaan työkaluja helpottamaan animaation määrittelyä. Liikkeet voivat olla suunniteltuja tai pohjautua fysiikkaan tai interaktioon. 30/35

Esimerkki: Käänteiskinematiikka Nivelrakenteen liikkeen laskeminen tavoitteiden perusteella 31/35

Virtuaalimaailmat Törmäykset, fysiikka, interaktio 32/35

Tutkimus: Kuvapohjainen mallinnus 33/35

Grafiikan kurssit Vuorovaikutteisen tietokonegrafiikan perusteet Vuorovaikutteisen tietokonegrafiikan jatkokurssi 3D-tuotanto Tietokoneanimaatio Tietokonegrafiikan seminaari Keinotodellisuus Erikoiskurssit/tutkimusseminaarit 34/35

A? 35/35