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

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

Luento 2: Tulostusprimitiivit

T Tietokoneanimaatio ja mallintaminen. Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio 02/02

T Studio 4. luento 1: kurssin järjestelyt k-2006 tietokonegrafiikan perusteita Tassu Takala 1

T Studio 4. luento 1: kurssin järjestelyt k-2007 ( www) aihepiirin yleisesittely tietokonegrafiikan perusteita Tassu Takala 1

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

T Studio 4. kurssin järjestelyt k-2008 ( www) aihepiirin yleisesittely tietokonegrafiikan ja vuorovaikutustekniikan perusteita

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

Tapio Takala / Lauri Savioja Teknillinen korkeakoulu Tietoliikenneohjelmistojen ja multimedian laboratorio

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

T Studio 4. luento 1: kurssin järjestelyt k-2005 tietokonegrafiikan perusteita Tassu Takala 1

Luento 3: 3D katselu. Sisältö

Tilanhallintatekniikat

Objektien deformaatiot

Luento 6: Geometrinen mallinnus

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Luento 6: Piilopinnat ja Näkyvyys

Malleja ja menetelmiä geometriseen tietokonenäköön

Tassu Takala pääaineinfo

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

Luento 6: Geometrinen mallinnus

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS

Tassu Takala Teknillinen korkeakoulu Mediatekniikan laitos

3D-mallinnus ja teksturointi tietokonepeleissä

Visualisoinnin perusteet

Luento 2: 2D Katselu. Sisältö

Grafiikka 205. Tässä luvussa käsitellään geometriaa ja graafisia kohteita. Mukana on pääosin alkeisoperaatioita.

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

T Vuorovaikutteinen tietokonegrafiikka Tentti

3D animaatio: liikekäyrät ja interpolointi. Tommi Tykkälä

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

T Johdatus Tietoliikenteeseen ja Multimediaan

Tehdään laadukas painotuote

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

Tietokonegrafiikan perusteet

Tieteellinen visualisointi. Esityksen rakenne. Taustaa. Motivointi 2. Motivointi 1

T Tietokoneanimaatio

Ongelma(t): Miten digitaalista tietoa voidaan toisintaa ja visualisoida? Miten monimutkaista tietoa voidaan toisintaa ja visualisoida?

Luento 2: Viivan toteutus

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

Luento 3: 2D Katselu. Sisältö

OHJELMOINTIA MONIPUOLISESTI MATEMATIIKAN OPETUKSESSA LUMA-PÄIVÄT, TAMPERE

11. Tilavuusrenderöinti

Luento 5 Mittakuva. fotogrammetriaan ja kaukokartoitukseen

Videon tallentaminen Virtual Mapista

T : Virtuaali- ja lisätty todellisuus

Luento 6 Mittakuva. fotogrammetriaan ja kaukokartoitukseen

Ihminen keinotodellisuudessa. Aiheena

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI LUENTO 4

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

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

Luento 5 Mittakuva. fotogrammetriaan ja kaukokartoitukseen

Tietokonegrafiikan perusteet

Luento 6: Tulostusprimitiivien toteutus

Luento 7: Lokaalit valaistusmallit

Kuvankäsi*ely 1. Digitaaliset kuvat ja niiden peruskäsi3eet. Kimmo Koskinen

JOHDATUS TEKOÄLYYN TEEMU ROOS

Luento 3: Tulostusprimitiivien toteutus

Luento 4: Kiertomatriisi

Sisältö: Johdatus keinotodellisuuteen

HTML5 video, audio, canvas. Mirja Jaakkola

T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi

Se on sinussa. Virtuaalinen ja laajennettu todellisuus. Jari Kotola Sovelto Aamiaisseminaari Tampere

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

Flash. Tehtävä 1 Piirtotyökalut, kokeile niitä. Liiketalous syksy 2012

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

E s i t y s g r a f i i k k a a s e l k o k i e l e l l ä MICROSOFT. PowerPoint. P e t r i V a i n i o P e t r i I l m o n e n TIKAS-SARJA

Suomen virtuaaliammattikorkeakoulu Tietojohtaminen rakennus prosesseissa > 80 % % % < 50 % Suhteellinen osuus maksimiarvosta (%)

JOHDATUS TEKOÄLYYN TEEMU ROOS

Nopeus, kiihtyvyys ja liikemäärä Vektorit

Ohjelmoinnin perusteet Y Python

HELSINKI UNIVERSITY OF TECHNOLOGY Telecommunications Software and Multimedia Laboratory Tik Tietokonegrafiikan seminaari Kevät 2003

JOHDATUS TEKOÄLYYN TEEMU ROOS

IR-lämpömittarityypit

Harjoitus Bones ja Skin

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

Vaihtuvan perspektiivin panoraamat piirrosanimaatiossa

Viestinnän tutkinto ohjelma, 3D animointi ja visualisointi OPETUSSUUNNITELMA KXD19S13D

IR-lämpömittarityypit

LUENTO 6 KUVANKÄSITTELY

Lisätty Todellisuus / Augmented Reality

JOHDATUS TEKOÄLYYN TEEMU ROOS

2.1 Yksinkertaisen geometrian luonti

Pintamallintaminen ja maastomallinnus

Viestinnän tutkinto-ohjelma, 3D-animointi ja -visualisointi OPETUSSUUNNITELMA KXD18S13D

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

Kurssi syksyllä

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

Picasa 3 -kuvankäsittelyopas, osa 2, käytä tehokkaasti

I Geometrian rakentaminen pisteestä lähtien

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

Käyttöliittymän muokkaus

Muutamia peruskäsitteitä

Sisältö. Luento 6: Piilopinnat. Peruskäsitteet (jatkuu) Peruskäsitteitä. Yksinkertaisia tapauksia. Yksinkertaiset tapaukset jatkuu

3D-kuvauksen tekniikat ja sovelluskohteet. Mikael Hornborg

Etikettien suunnittelu. Kuka ja millä välineillä? Tiina Myllymäki

6.4. Järjestyssuhteet

Transkriptio:

T-110.1100 Johdatus tietoliikenteeseen ja multimediatekniikkaan: Tassu Takala Mediatekniikan laitos

Luennon aiheita (1) Mitä on tietokonegrafiikka? tietokone piirtää kuvia Mikä on digitaalinen kuva? rasterikuva (pikseleitä) vs. vektorikuva (viivoja) Mistä kuvat saavat alkunsa? digikamera / skanneri käsin piirtäminen tietokoneen ruudulla matemaattinen malli (simulaatio) ohjelmoitu koodi (algoritmi)

Luennon aiheita (2) Kuinka kuvia tuotetaan ja käsitellään? kolmiulotteisen maailman esittäminen projisoidun kuvan laskenta 3D-mallista (renderointi) kuvien käyttö mallin aineksina (image-based rendering) mihin grafiikkakorttia (GPU) tarvitaan? Miten tuotetaan liikkuvaa (animoitua) kuvaa? nopea sarja kuvia = näennäinen liike Kuinka tietokoneen kanssa keskustellaan? vuorovaikutus (human-computer interaction, HCI) graafiset käyttöliittymät [muut mediat: ääni ja liike]

Digitaalinen kuva rasterikuva pikseli = pienin kuvaelementti, piste resoluutio = pikseleiden määrä (x- ja y- suunnissa) kuvan sisältö muodostuu pikseleiden väreistä väri muodostuu kolmesta komponentista Red + Green + Blue (+ Alpha) lisäksi läpinäkyvyys (alpha) vektorigrafiikka matemaattisia muotoja (mittakaava muutettavissa tarkkuuden kärsimättä) määritellään ohjauspisteiden avulla esim. kirjasimet (font), tallennetut vektorikuvat (SVG)

Kuvien synty digikamera, skanneri, maalaaminen kuvaruudulla è rasterikuva tietokoneavusteinen suunnittelu (CAD), muotoilu käyrien avulla è vektorikuva algoritmit käyttävät graafisia piirtoprimitiivejä: piste, suora viiva, monikulmio, suorakaide, ympyrä/ellipsi (= vektorikuvan elementtejä) è muunnetaan lopulta algoritmisesti pikseleiksi (rasterointi)

Grafiikkaprimitiivit funktiot peruselementtien piirtämiseksi, esim. line (p1, p2)! rectangle (corner, w, h)! ellipse (center, w, h)! polygon : vertex list lisäksi attribuutteja ohjaamaan kuvioiden ominaisuuksia, esim. fill (color)! stroke (color)! linewidth ( )

Sovellusesimerkki: tietokonepeli Habbo Hotel 2-ulotteinen (2D) sarjakuvamainen ilmiasu hahmot toistuvat lähes samanlaisina tilanteesta toiseen Max Payne 3-ulotteinen (3D) realistinen ulkomuoto näkymä riippuu katselusuunnasta ja valaistuksesta nopeaa, reaaliaikaista toimintaa

Mitä peliin tarvitaan? pelimaisema ja pelihahmot kolmiulotteinen muoto (3D-geometria) pintakuviointi (tekstuuri) hahmojen (agenttien) liikkuminen (animaatio) ja mielekäs käyttäytyminen (tekoäly) usein myös: pelaajan sijaishahmo (avatar) pelitilanteen esittäminen (display) kuva virtuaalisella kameralla (renderointi) peliäänet: tapahtumaefektit ja taustamusiikki vuorovaikutus (interaktio) pelaajan kanssa pelaajan liikkuminen ja näkökulma ohjainlaitteiden (hiiri, näppäimet, anturit) seuranta

Geometrinen mallintaminen matemaattinen esitystapa 3-ulotteiselle muodolle monitahokaspinta (kolmi...n-kulmioita) parametriset käyrät ja pinnat (splini) määritellään pisteiden avulla piste ilmaistaan koordinaatteina (x,y,z) kolmio = kolme pistettä; monikulmio = jono pisteitä käyräelementti = päätepisteet + suunnat päätepisteissä monimutkainen muoto voi koostua suuresta joukosta peruselementtejä

Monikulmiomalli verkkorakenteena nurkkapiste (vertex) : x,y,z] särmä (edge) : [alkupiste, loppupiste] taho (face) : lista pisteitä/särmiä lisäksi voi olla tietoa esim. tahojen naapuruuksista, pintojen normaaleista, jne.

Hierarkkinen mallinnus suuret kokonaisuudet muodostuvat osista nämä edelleen pienemmistä osista nämä edelleen vielä pienemmistä osista nämä yhä pienemmistä osista» jne... monta koordinaattijärjestelmää kunkin osan sijainti määritellään suhteessa seuraavaksi isompaan kokonaisuuteen esim. robottinivel sijainti = siirtymä (translaatio) + asento (rotaatio) + mittakaavamuutos (skaalaus) muunnokset koordinaatistojen välillä lasketaan matriisien avulla: P' = M x P mahdollistaa tehokkaan muunnosketjun laskennan

Esimerkki hierarkiasta: ihmismalli VRML/MPEG-4: h-anim

välipalana animaatio-lyhytelokuva Bunny (Oscar-palkittu 1998) Chris Wedge / Blue Sky Studios

Animaatio liike näytetään sarjana hetkellisiä näkymiä (snapshot) esim. elokuvassa 24 ruutua/s liikkeen määrittely (animointi) perinteinen tapa: piirretään kuva kerrallaan matemaattinen tapa: sijainti ajan funktiona [x,y,z](t) kukin näkymä lasketaan tietyllä ajan arvolla sovelletaan hierarkkisen mallin kaikkiin osiin koordinaattimuunnosten avulla (rotaatio, skaalaus, translaatio) liikeradat geometrisina (parametri)käyrinä

Pintarakenne (teksturointi) usein monikulmiomalli sellaisenaan ei riitä (tarvittaisiin liikaa kolmioita) esitetään hienorakenne monikulmion päälle liimattuna rasterikuvana (tekstuuri) määriteltävä, mikä osa kuvasta osuu monikulmion alueelle (texture mapping) kuvaus tekstuurikoordinaatistosta 3D-pinnalle f : [u,v] -> [x,y,z] tekstuuri voidaan tulkita monella tavalla väri (pinnan heijastuskertoimet pääväreille) muotopoikkeama geometriasta (bump/offset map)

Kuvantaminen (renderointi) mallinnettu 3D-maailma projisoidaan kuvatasolle virtuaalisen kameramallin avulla määriteltävä katselupiste ja -suunta (kuvatason normaali) sekä kuvan rajaus (frustrum) monikulmion kuva = nurkkapisteiden projisoidut sijainnit kuvatasolla monikulmion sisään jäävät pikselit väritetään pisteiden värin määrää laskennassa käytetävä valaistusmalli (ks. kuvat seuraavalla sivulla)

Erilaisia renderointitapoja muodon siloittaminen, teksturointi, varjot, heijastukset, jne. wire frame flat shading

3D-renderointi vaiheittain 1. 3D-mallinnus hierarkkisesti 2. piirtoprimitiivit mallin omassa koordinaatistossa 3. muunnos yhteiseen maailmankoordinaatistoon 4. muunnos (normalisoituun) kamerakoordinaatistoon 5. näkymän ulkopuolelle jäävien osien karsinta (culling) 6. projisointi kuvatasolle 7. rasterointi 2D-primitiiveinä 8. valaistuksen laskenta kullekin pikselille 9. muunnos näyttölaitteen kuvakoordinaatistoon 10. kuva näkyvissä! J

http://www.cs.princeton.edu/courses/archive/fall99/cs426/lectures/transform/sld009.htm

Kuvat grafiikan aineksina synteettisten 2D-elementtien sekaan voidaan piirtää myös valmiita kuvia!img = loadimage("name.jpg");!!image(img, corner, wid, hgt);! 3D-mallien muodostaminen kuvista (image-based rendering) valokuvien sijoittaminen 3D-maailmaan (billboard) synteettisten 3D-mallien muokkaaminen oikeita kuvia muistuttavaksi 3D-maailman valaistuksen sovittaminen oikean kaltaiseksi sovelluksia: maisemien rekonstruktio, laajennettu todellisuus (augmented reality) Image interpolation allows visualization of hair while geometry is used for pose corrections. http://www.informatik.hu-berlin.de/forschung/gebiete/viscom/res/ibrface

Grafiikkakortti kuvan laskenta työlästä, jos esitettävänä suuri määrä monikulmioita / pikseleitä rinnakkaisprosessointi keskusyksikkö (CPU) käsittelee mallia (esim. animaatio) monikulmioina grafiikkaprosessori (GPU) laskee 3D-projisoinnin ja yksittäisten pikseleiden valaistuksen [grafiikkakortilla paljon laskentatehoa - voidaan ohjelmoida myös muuhun tarkoitukseen]

Äänet (auditory display) mitä tekemistä grafiikan kanssa? monella tavoin analoginen valon kanssa aaltoliike, säteittäinen eteneminen optiikan periaatteilla voidaan mallintaa myös akustiikkaa sound rendering 3D-äänentoisto äänen tulosuunta tehdään aistittavaksi stereon (vaakasuora panorointi) laajennus ääniefektit synkronissa animaation kanssa esim. puhe + huulten liike (lip-sync)

Vuorovaikutus (interaktio) = informaation kulkua molempiin suuntiin, ja siihen reagoimista ohjainlaitteiden (hiiri, näppäimet, anturit) seuranta tapahtumien (esim. näppäimen painallus) ohjaaminen suorittavalle ohjelmalle ohjauksen vaikutusten näyttäminen kaiku (esim. yhden kirjaimen kuvan ilmestyminen) vuorovaikutuksen tila (esim. mikä työkalu on käytössä) käyttökohteen tila (esim. tekstidokumentti kullakin hetkellä)

Graafinen käyttöliittymä (GUI) virtuaaliset työkalut (widget), esim. rullauskahva (scroll bar) rajattu alue (ikkuna) kullekin toiminnalle / sovellusohjelmalle grafiikan rooli = käyttöliittymäelementtien ja sisällön piirtäminen

Uusia suuntauksia multimodaalisuus (ei pelkkä grafiikka) ääni, tunto- ja liikeaisti uusia syöttölaitteita (näppäinten ja hiiren lisäksi) videokamera + liikkeen/kuvan tunnistus liike- (kiihtyvyys) ja paikka-anturit (mm. GPS) biosensorit (verenpaine, aivoaallot, jne.) uusia kommunikointikanavia esim. tunneilmaisut (kasvojen ilmeet, eleet)

Loppukevennys: Kick Ass Kung Fu Perttu Hämäläinen Virtual Air Guitar Company

Kysyttävää?