Luento 3: 3D katselu. Sisältö

Samankaltaiset tiedostot
Luento 7: 3D katselu. Sisältö

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Luento 2 Stereokuvan laskeminen Maa Fotogrammetrian perusteet 1

T Vuorovaikutteinen tietokonegrafiikka Tentti

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

Tilanhallintatekniikat

Palauta jokainen funktio-tiedosto. Esitä myös funktiot vastauspaperissasi.

Luento 7: Fotogrammetrinen mittausprosessi

5. Grafiikkaliukuhihna: (1) geometriset operaatiot

Radiotekniikan sovelluksia

3.4.1 Perspektiiviprojektio

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

Teoreettisia perusteita II

3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset. 3.2 Matriisien laskutoimitukset

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

Luento 4: Kiertomatriisi

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

Tampereen yliopisto Tietokonegrafiikka 2013 Tietojenkäsittelytiede Harjoitus

Symmetrioiden tutkiminen GeoGebran avulla

Viikon aiheet. Funktion lineaarinen approksimointi

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

Luento 4 Georeferointi

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

Konformigeometriaa. 5. maaliskuuta 2006

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

JAKSO 2 KANTA JA KOORDINAATIT

Luento 6: Piilopinnat ja Näkyvyys

Riemannin pintojen visualisoinnista

Tik Tietokoneanimaatio

3.1 Lineaarikuvaukset. MS-A0007 Matriisilaskenta. 3.1 Lineaarikuvaukset. 3.1 Lineaarikuvaukset

(ks. kuva) ja sen jälkeen x:n ja y:n suhteen yli xy-tasossa olevan alueen projektion G:

z 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2

MS-A0002 Matriisilaskenta Luento 1:Vektorit ja lineaariyhdistelyt

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

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

Luento 4 Georeferointi Maa Fotogrammetrian perusteet 1

Matematiikan tukikurssi

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

Luento 5: Kuvakoordinaattien laskeminen ja eteenpäinleikkaus

Luento 4: 3D Transformaatiot

T Tietokonegrafiikan perusteet. OpenGL-ohjelmointi

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

Luento 6: 3-D koordinaatit

Avaruuden R n aliavaruus

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

Kertausta: avaruuden R n vektoreiden pistetulo

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

Luento 7: Kuvan ulkoinen orientointi

Matriisialgebra harjoitukset, syksy 2016

Matriisilaskenta Luento 12: Vektoriavaruuden kannan olemassaolo

3D-Maailman tuottaminen

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 2 / vko 45

Luento 2: Transformaatiot (2D)

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

1. Matemaattiset perusteet

Oletetaan ensin, että tangenttitaso on olemassa. Nyt pinnalla S on koordinaattiesitys ψ, jolle pätee että kaikilla x V U

Lineaarikuvauksen R n R m matriisi

KJR-C1001 Statiikka ja dynamiikka. Luento Susanna Hurme

Vanhoja koetehtäviä. Analyyttinen geometria 2016

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

Insinöörimatematiikka D

3 Suorat ja tasot. 3.1 Suora. Tässä luvussa käsitellään avaruuksien R 2 ja R 3 suoria ja tasoja vektoreiden näkökulmasta.

Insinöörimatematiikka D

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

4.1 Kaksi pistettä määrää suoran

Luento 7: Lokaalit valaistusmallit

Insinöörimatematiikka D

Luento 6: Stereo- ja jonomallin muodostaminen

BM20A5800 Funktiot, lineaarialgebra ja vektorit Harjoitus 4, Syksy 2016

T Johdatus tietoliikenteeseen ja multimediatekniikkaan Tietokonegrafiikka

Vipumekanismit. Kari Tammi, Tommi Lintilä (Janne Ojalan kalvoista)

Vektorit, suorat ja tasot

Suorat ja tasot, L6. Suuntajana. Suora xy-tasossa. Suora xyzkoordinaatistossa. Taso xyzkoordinaatistossa. Tason koordinaattimuotoinen yhtälö.

Teoreettisia perusteita I

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

Insinöörimatematiikka D

Avaruuden kolme sellaista pistettä, jotka eivät sijaitse samalla suoralla, määräävät

Luento 6: Geometrinen mallinnus

Lineaarialgebra ja matriisilaskenta I, HY Kurssikoe Ratkaisuehdotus. 1. (35 pistettä)

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 3: Vektorikentät

Monissa käytännön ongelmissa ei matriisiyhtälölle Ax = b saada ratkaisua, mutta approksimaatio on silti käyttökelpoinen.

r > y x z x = z y + y x z y + y x = r y x + y x = r

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

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 4 / vko 47

Kuvaus. Määritelmä. LM2, Kesä /160

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

Ellipsit, hyperbelit ja paraabelit vinossa

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 10: Moninkertaisten integraalien sovelluksia

Piste ja jana koordinaatistossa

kaikki ( r, θ )-avaruuden pisteet (0, θ ) - oli θ

MS-A0305 Differentiaali- ja integraalilaskenta 3 Luento 8: Divergenssi ja roottori. Gaussin divergenssilause.

1 Avaruuksien ja lineaarikuvausten suora summa

Ominaisarvo ja ominaisvektori

Lineaarialgebra ja matriisilaskenta I

DYNAMIIKKA II, LUENTO 2 (SYKSY 2015) Arttu Polojärvi

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

Transkriptio:

Tietokonegrafiikan perusteet T-.43 3 op Luento 3: 3D katselu Lauri Savioja Janne Kontkanen /27 3D katselu / Sisältö Kertaus: koordinaattimuunnokset ja homogeeniset koordinaatit Näkymänmuodostus Kameran koordinaattijärjestelmästä Projektioista 3D katselu / 2

2 3D katselu / 3 Koordinaattimuunnokset Vektorin v siirto muunnosmatriisin M määrittelemään avaruuteen: v M v Perusmuunnoksista tärkeimmät Kierto Siirto Skaalaus Projektio Homogeenisia koordinaatteja käytettäessä M voi kuvata mitä tahansa näistä 3D katselu / 4 Homogeeniset Koordinaatit Koordinaatti [, y, ] voidaan ilmaista homogeenisia koordinaatteja käyttäen vektorina [h yh h h] h voi olla mikä vain > Yhtä kolmiulotteista koordinaattia vastaa ääretön määrä homogeenisia koordinaattivektoreita Siirron (t t y t ) ja kierron (R) kuvaaminen ilman homogeenisia koordinaatteja: Vastaava homogeenisissa koordinaateissa: + y t t t y R y y t t R t y y

Näkymän muodostaminen Prosessia jossa tietokone tuottaa 3-ulotteisesta mallista 2- ulotteisen esityksen kutsutaan renderöinniksi Renderöintiprosessi sisältää useita erilaisia vaiheita, jotka riippuvat käytettävästä menetelmästä Seuraavassa käydään läpi näkymän muodostamiseksi tehtävät koordinaattimuunnokset, sillä tavoin kuin ne toimivat esimerkiksi OpenGL ohjelmointirajapinnassa (näin asia esitetään myös kurssin kirjassa) 3D katselu / 5 Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Kameran koordinaatisto Projisoidut koordinaatit Aluksi jokainen malli on kuvattu omassa koordinaatistossaan (model/object-space) -tyyppillisesti origo keskellä k.o. objektia Malliin on assosioitu jokin muunnosmatriisi joka pitää sisällään mallin paikan, asennon ja skaalan Normalisoidut koordinaatit Ikkunan koordinaatisto 3D katselu / 6 3

Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Maailmakoordinaatistossa (World-space) kaikki mallit tuodaan yhteiseen koordinaattijärjestelmään Kameran koordinaatisto Projisoidut koordinaatit Normalisoidut koordinaatit Ikkunan koordinaatisto 3D katselu / 7 Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Kameran koordinaatisto Projisoidut koordinaatit Normalisoidut koordinaatit Kameran koordinaatistossa origo on katselupisteessä ja - akseli tyypillisesti suuntaan johon kamera katsoo Grafiikkalaitteiston suorittamia operaatioita (tyypillisesti): - valaistuksen laskenta polygonien kulmapisteisiin (ohjelmoitavalla laitteistolla ei välttämättä näin) - nurinpäin olevien pintojen poisto Kamerasta lisää hetken päästä Ikkunan koordinaatisto 3D katselu / 8 4

Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Kameran koordinaatisto Projisoitu versio kamerakoordinaateista Esim. Perspektiiviprojektiossa kaukana olevat esineet (suuri koordinaatti) ovat pienempiä Projektiosta lisää hetken kuluttua Projisoidut koordinaatit Normalisoidut koordinaatit Ikkunan koordinaatisto 3D katselu / 9 Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Kameran koordinaatisto Projisoidut koordinaatit Normalisoiduissa koordinaateissa kaikki näkyvä geometria on yksikkökuution - < < Λ - < y < Λ - < < sisällä Tyypillisiä operaatioita tässä vaiheessa Polygonien leikkaus (clipping) Normalisoidut koordinaatit Ikkunan koordinaatisto 3D katselu / 5

Näkymän muodostaminen Mallin koordinaatisto Maailman koordinaatisto Kameran koordinaatisto Projisoidut koordinaatit Esim. origo on näkyvän alueen vasemmassa alalaidassa ja, oikeassa ylälaidassa Homogeenisista koordinaateista luovutaan yleensä vasta tässä vaiheessa, koska tämä välttää perspektiiviprojektiossa muuten helposti sattuvan nollalla jakamisen Normalisoidut koordinaatit Ikkunan koordinaatisto 3D katselu / Kamerasta 3D katselu / 2 6

Kameran koordinaattijärjestelmän rakentaminen Kun tunnetaan kameran paikka (e), haluttu katselukohde (t) ja globaalisti määritelty suunta ylös (upv) Kantavektorit voidaan määrittää seuraavasti: w t e v upv + d, missä d (upv w) w D u v w upv V maailma O Z P (,y,) T P (u,v,w) W E kamera U Y X 3D katselu / 3 Kameran koordinaattijärjestelmästä Edellä mainittu on yksi tapa rakentaa kantavektorit Muita tilanteita: Kamera halutaan sitoa johonkin olemassa olevaan objektiin (jonka asentoa voi kontrolloida esimerkiksi fysiikkasimulaatio) Kameran asentoa kontrolloidaan käyttöliittymästä käsin esim. Euler-kulmina Kameran asento interpoloidaan jostain etukäteen määritellystä liikeradasta 3D katselu / 4 7

8 3D katselu / 5 Muuntaminen kameran koordinaatteihin Kameran koordinaateissa ilmaistu piste p (u,v,w) saadaan maailmankoordinaatistoon kertomalla koordinaatit kantavektoreilla ja lisäämällä kameran origo: Käänteismuunnos: [ ] e Mp e w v u e w v u p + + + + + w v u w v u [ ] e) (p w e) (p v e) (p u e p w v u e p M e p M p ( ) ( ) ( ) ( T 3D katselu / 6 Projektioista

Projektiokuvaus Mikä tahansa neliömatriisi P on projektio, jos pätee että P PP Voidaan esittää 44 muunnosmatriisina Projisointi homogeenisissa koordinaateissa tuttuun tapaan v Pv Tyypillisesti P kuvaa v:n johonkin aliavaruuteen siten, että käänteiskuvausta P - ei ole olemassa (poikkeuksena identiteettimatriisi) Grafiikassa projektiomatriisi kuvaa 3D maailman kaksiulotteiseksi 3D katselu / 7 Projektiotyyppejä Yhdensuuntais Perspektiivi Ortograafinen Ylä-, etu-, sivukuvat Vino, 2 tai 3 katoamispistettä Aksonometrinen 3D katselu / 8 9

Yhdensuuntaisprojektioista Saadaan tiputtamalla haluttu koordinaatti pois (esim. ). Projektiomatriisi on muuten yksikkömatriisi, mutta lävistäjällä on pois jätettävää koordinaattia vastaavalla paikalla nolla (vrt. skaalausmatriisi, jossa S S y S w, mutta S ). (Aksonometrisessa yhdensuuntaisprojektiossa tehdään ensin mielivaltainen rotaatio ja/tai translaatio) 3D katselu / 9 Perspektiiviprojektio Perspektiivi periaate: skaalataan koordinaatteja jakamalla ne katselusuuntaisella etäisyydellä projektiokeskuksesta Esim. jos katsellaan -akselin suuntaan ja projektiokeskuksena on origo, niin / ja y y / (ja / ). 3D katselu / 2

Perspektiiviprojektio Jos kuvataso on origossa (y-taso) ja projektiokeskus etäisyydellä d negatiivisella -akselilla: d* / (+d) /((/d)+), y d*y / (+d) y/((/d)+), ja d d Huomaa: kun [ y ] T kerrotaan yllä olevalla matriisilla ->, w /d+ 3D katselu / 2 Perspektiiviprojektio Perspektiiviprojektio voidaan määritellään usein Halutun näkökentän laajuuden avulla kulmina (field of view) Kuvatason ja projektiokeskipisteen koordinaatteina (myös epäsymmetrinen projektio mahdollinen) Projektiomatriisin rakentaminen em. Tapauksissa kuvattu kirjan kappaleessa 7 3D katselu / 22

Normalisoidut koordinaatit Esim. OpenGL:ssä perspektiiviprojektiota seuraa normalisointimuunnos eli skaalaus jossa kaikki näkyvä geometria viedään (-,-,-) (,,) kuution sisälle Normalisoidussa avaruudessa voidaan tehdä esimerkiksi polygonien leikkaus näkyvän alueen reunoihin (näin esim. OpenGL:ssä) Näkyvän alueen määrittelyyn kuuluu myös kuvatason suuntaiset leikkaustasot lähellä ja kaukana (near plane ja far plane) Normalisointimatriisi yhdistetään usein projektiomatriisiin 3D katselu / 23 2