Reprezentace 3D modelu

Podobné dokumenty
Osvětlování a stínování

Souřadnicové prostory

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Výpočet vržených stínů

Zobrazování a osvětlování

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Hierarchický model Josef Pelikán CGG MFF UK Praha. 1 / 16

Úvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Geometrické transformace pomocí matic

MATURITNÍ TÉMATA Z MATEMATIKY

Rekurzivní sledování paprsku

Jana Dannhoferová Ústav informatiky, PEF MZLU

11 Zobrazování objektů 3D grafiky

Matematika pro geometrickou morfometrii (2)

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Přehled vhodných metod georeferencování starých map

Precomputed radiance transfer

Gymnázium Jiřího Ortena, Kutná Hora. Průřezová témata Poznámky. Téma Školní výstupy Učivo (pojmy) volné rovnoběžné promítání průmětna

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Algoritmy výpočetní geometrie

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Pokročilé osvětlovací techniky Josef Pelikán, MFF UK Praha

Úvod do mobilní robotiky AIL028

MRBT M8. VIDITELNOST OBJEKTŮ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Bc. MARTIN MAŠTERA

Reprezentace 3D scény

Android OpenGL. Pokročilé shadery

11 Vzdálenost podprostorů

II. Zakresli množinu bodů, ze kterých vidíme úsečku délky 3 cm v zorném úhlu větším než 30 0 a menším než 60 0.

Gymnázium Jiřího Ortena, Kutná Hora

Obsah a průběh zkoušky 1PG

Watkinsův algoritmus řádkového rozkladu

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Reflections, refractions, interreflections

Afinní transformace Stručnější verze

GIS Geografické informační systémy

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

Maticová optika. Lenka Přibylová. 24. října 2010

7.5.3 Hledání kružnic II

7. OSVĚTLENÍ. Cíl Po prostudování této kapitoly budete znát. Výklad. 7. Osvětlení

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

1 Připomenutí vybraných pojmů

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník SOUŘADNICOVÉ SOUSTAVY VE FOTOGRAMMETRII

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Konstruktivní geometrie PODKLADY PRO PŘEDNÁŠKU

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

Michal Zamboj. January 4, 2018

Michal Zamboj. December 23, 2016

Co je grafický akcelerátor

GIS Geografické informační systémy

Výpočet průsečíků paprsku se scénou

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Vzorce počítačové grafiky

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

Gymnázium Jiřího Ortena, Kutná Hora

Laserové skenování (1)

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA STROJÍRENSKÁ a Jazyková škola s právem státní jazykové zkoušky, Kolín IV, Heverova 191. Obor M/01 STROJÍRENSTVÍ

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

AXONOMETRIE - 2. část

Počítačová grafika 2 (POGR2)

Gymnázium Jiřího Ortena, Kutná Hora. volné rovnoběžné promítání průmětna

Analýza napjatosti PLASTICITA

Globální matice konstrukce

Návod k použití softwaru Solar Viewer 3D

Maturitní otázky z předmětu MATEMATIKA

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora

Textury v real-time grafice Josef Pelikán, MFF UK Praha Josef.Pelikan@mff.cuni.cz

Vybrané kapitoly z matematiky

9 Prostorová grafika a modelování těles

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

P R O M Í T Á N Í. rovina π - průmětna vektor s r - směr promítání. a // s r, b// s r,

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

Lineární transformace

Výpočet průsečíků paprsku se scénou

Maturitní témata z matematiky

= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin cos 9 = 1 0, ( 0, ) = 1 ( 0, ) + 6 0,

1. Přímka a její části

2.4 Výslednice rovinné soustavy sil

Multimediální systémy. 11 3d grafika

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

4. Napjatost v bodě tělesa

Eukleidovský prostor a KSS Eukleidovský prostor je bodový prostor, ve kterém je definována vzdálenost dvou bodů (metrika)

Světlo je elektromagnetické vlnění, které má ve vakuu vlnové délky od 390 nm do 770 nm.

Deskriptivní geometrie I zimní semestr 2017/18

Obsah. Základy práce s rastry. GIS1-5. cvičení. ČVUT v Praze, Fakulta stavební, katedra mapování a kartografie

MATEMATIKA II - vybrané úlohy ze zkoušek ( 2015)

Matematika I 12a Euklidovská geometrie

19 Eukleidovský bodový prostor

Počítačová grafika Radiozita

ak. rok 2013/2014 Michal Španěl,

Transkript:

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 1/25 Reprezentace 3D modelu Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010 Multimediální a grafické aplikace (BI-MGA), ZS 2010/11, Přednáška 8 MI-POA Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 2/25 Povrchová reprezentace zdaleka nejčastější reprezentace (podporovaná grafickým hardwarem) reprezentuje se povrch modelu (žádná informace o vnitřku) typicky pomocí trojúhelníkové sítě geometrie a topologie (rozdíl?)

Povrchová reprezentace Jak uložit trojúhelníkovou síť v paměti? pro každý trojúhelník seznam vrcholů neefektivní Lepší způsob: pole vrcholů V (bodů A 3 ) pole trojúhelníků T (pole hran ne vždy nutné) Trojúhelník dán trojicí indexů do V... nedochází k duplikaci vrcholů Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 3/25

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 4/25 Příklad V 2 V 3 T 2 T 3 T 1 V 1 V5 V 4 T[1] = {1,5,2} T[2] = {2,5,3} T[3] = {3,5,4}

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 5/25 Stěna trojúhelníku Objekt typicky uzavřený nikdy nevidíme dovnitř každý trojúhelník má dvě stěny: přední a zadní obvyklá optimalizace: uvažovat pouze jednu stěnu V 1 V 2 normála Jak se určí zdali je stěna přední nebo zadní? Podle zvolené konvence a normálového vektoru. V 3

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 6/25 Stěna trojúhelníku Jak spočteme normálu? Vektorový součin: (V 3 -V 1 )(V 2 -V 1 ) Poznámka: (V 2 -V 1 )(V 3 -V 1 ) je opačně orientovaný vektor V 2 (V 1, V 2, V 3 )... jedna stěna (V 1, V 3, V 2 )... druhá stěna V 1 normála Stěna trojúhelníku je dána pořadím vrcholů (resp. jejich permutací) V 3

CCW konvence CCW: obvykle používaná konvence Hledíme-li na stěnu ze směru normály, vidíme vrcholy uspořádány proti směru hodinových ručiček (Counter- ClockWise) Alternativou je CW (po směru, ne tak časté) Příklad: CCW (V 1, V 3, V 2 ) (V 3, V 2, V 1 ) (V 2, V 1, V 3 ) CW: (V 1, V 2, V 3 ) (V 2, V 3, V 1 ) (V 3, V 2, V 1 ) Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 7/25 V 1 V 2 V 3 normála

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 8/25 Projektivní transformace promítá 3D svět do 2D roviny (obrazovka) na podobném principu funguje lidský zrak C P V V - 3D vrchol P průmět V C střed projekce d vzdálenost průmětny d průmětna

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 9/25 Projektivní transformace Lze ji popsat následující maticí: 1 0 0 0 0 1 0 0 P 0 0 1 0 0 0 1 / d 0 Pozor: Nejedná se o afinní transformaci! Projekcí (x, y, z, 1) T je (x, y, z, z/d) T, což je vektor v homogenních souřadnicích. Převod na afinní souřadnice: skalárně vynásobíme d/z Výsledek: (xd/z, yd/z, d, 1) T (Cvičení: Odvoďte tentýž vztah z předchozího obr.)

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 10/25 Kreslení povrchové rep. Promítnout trojúhelníky do průmětny a vyplnit je Problém: viditelnost Možná řešení: Malířův algoritmus setřiď trojúhelníky odzadu dopředu a v tomto pořadí kresli ne vždy lze takto setřídit (příklad?) Z-buffer (paměť hloubky) kresli trojúhelníky v libovolném pořadí pomocné pole Z-buffer (stejné rozlišení jako průmětna) inicializace: +nekonečno ve všech pixelech Z-bufferu před nakreslením pixelu se porovná jeho hloubka (Z) s aktuální hodnotou v Z-bufferu je-li menší, přepíšeme barvu a hodnotu v Z-bufferu jinak neděláme nic (bod je zakrytý)

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 11/25 Z-Buffer (paměť hloubky) Omezená přesnost počet bitů dán grafickým HW rozlišení ovlivňují ořezávací roviny (blízká a vzdálená) Pixely se překreslují neefektivní Optimalizace: odstranění odvrácených stěn odstranění trojúhelníku mimo zorný jehlan early Z-culling blízká ořezávací rovina vzdálená ořezávací rovina

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 12/25 Odstranění odvrác. stěn Trojúhelník má maximálně dvě stěny typicky jen jednu (pro uzavřené objekty) Známe-li pohledový vektor v d R 3, můžeme odstranit odvrácené stěny: Stěna s normálou n je odvrácená právě když skalární součin <v d,n> je kladný v d n - normal triangle (projection)

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 13/25 Ořezávání zorným jehlanem Příklad: rozsáhlá scéna (např. virtuální město) vidíme vždy jen malou část Viditelná část je obsažená v tzv. zorném jehlanu (je dán středem projekce, zornými úhly a blízkou/vzdálenou rovinou) Cíl: rychle zahodit trojúhelníky mimo zorný jehlan Pro statickou scénu: vytvořit hierarchii obalových těles (např. koulí) spočítat průsečíky koulí se zorným jehlanem podobný algoritmus jako detekce kolizí více o detekci kolizí v dalších přednáškách

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 14/25 Osvětlovací modely klasický osvětlovací model: Phongův říká jak spočítat barvu nasvíceného materiálu ke světlu normála odražené světlo pozorovatel

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 15/25 Phongův osvětlovací model L s = C L s cos h () (odražená složka) L d = C C L d cos() (difúzní složka) L a = C a (ambientní osvětlení) L = L a + L d + L s (výsledek) kde C je barva materiálu C L je barva světelného zdroje C C L násobení po složkých (nikoliv skalární součin) s, d, a, h... materiálové konstanty s... odrazivost d... koeficient difúzního osvětlení a... okolní osvětlení (ambient) h... koeficient ostrosti odrazu (např. zrcadlo - vysoké h)

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 16/25 Hladké stínování Nevýhoda povrchové reprezentace: hrany někdy potřebujeme hladký objekt (např. koule) Trik: uvádět normály ve vrcholech nejde o normálu v pravém slova smyslu používá se místo normály trojúhelníka lze ji interpretovat jako normálu aproximované plochy (např. opět koule) Vyhlazovací skupiny: jen některé části hladké (např. válec)

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 17/25 Stínovací metody vyčíslování osvětlovacího modelu je časově náročné Typické otimalizace Konstantní stínování: osvětlovací model se spočítá jednou pro celý trojúhelník vyplní se konstantní barvou Gouraudovo stínování: osvětlovací model se vyhodnotí ve vrcholech interpoluje se barva Phongovo stínování: osvětlovací model se vyhodnocuje v každém pixelu interpolují se normály vrcholů nejpřesnější, dostatečně rychlý na moderním HW

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 18/25 Konstantní stínování viditelné plošky nehladké Stínovací metody Gouraudovo stínování hladké difúzní materiál Phongovo stínování hladké i lesklý materiál

Graf scény Skládá se z následujících prvků: 3D objekty uložené v hierarchické struktuře (DAG) terminologie: uzly, listy, otec, syn, kořen lze přirozeně skládat každý objekt ve svém lokálním souřadném systému dáne transformační matice z otce na syna udává relativní polohu objektů světový souřadný systém souř. systém kořene více kopií jednoho objektu je možné měnit atributy (např. materiál) relativně levná variace (objekt se neukládá znovu) Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 19/25

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 20/25 Transformace normál Problém: normálové vektory přestanou být kolmé tečná rovina zůstavá tečnou M změna měřítka v ose x M M 0 1 1 t M 1... 33 matice

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 21/25 Transformace normál Normála je vektor, tj. n = (n 1, n 2, n 3, 0) T (transformuje se pouze M 1, žádné posunutí) Mn M 0 tn 10 M1 0 1 n Řešení: transformovat normály M 1 -T (transpozice inverzní matice) Platí: M 1 -T = M 1 (pouze pro rotaci či reflexi) (M 1-1 ) T = (M 1T ) -1 toto nás opravňuje psát M 1 -T

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 22/25 Textury významně vylepší vzhled modelu princip: modulace povrchových vlastností typicky barvy normály (bump mapping zdánlivá struktura povrchu) dále: neprůhlednost, odrazivost,... 3D (objemové) textury také možné, ale více paměti Mapování textur zobrazení z povrchu (v 3D) na 2D obrázek texturové souřadnice: U, V ( UV-mapping) (U, V) dány v každém vrcholu lineárně se interpolují uvnitř trojúhelníku lze kombinovat více textur (barva a normála)

Příklad textury Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 23/25

Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 24/25 Alfa kanál a neprůhlednost barevné kanály R, G, B doplněné o typicky stejné počet bitů, ale záleží na HW znamená neprůhlednost = 0... zcela průhledný materiál (neviditelný) = 1... zcela neprůhledný Jak se používá spolu se Z-bufferem? nejdřív vykreslit neprůhledné trojúhelníky setřídit ostatní ( < 1) trojúhelníky ozdadu dopředu vykreslit trojúhelníky s < 1 Míchání barev: S=(R s,g s,b s, s ), D=(R d,g d,b d, d ) Výsledná barva (a alfa kanál) = F s S + F d D kde F s a F d jsou míchací koeficienty

Děkuji Dotazy Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 25/25