Reprezentace 3D scény

Podobné dokumenty
Modely prostorových těles

Jana Dannhoferová Ústav informatiky, PEF MZLU

Geometrické modelování

REPREZENTACE 3D SCÉNY

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

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

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

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

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

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

Watkinsův algoritmus řádkového rozkladu

Josef Pelikán, CGG MFF UK Praha

Malířův algoritmus Josef Pelikán CGG MFF UK Praha. 1 / 15

Rekurzivní sledování paprsku

PRINCIPY POČÍTAČOVÉ GRAFIKY metodický list č. 1

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

Deformace rastrových obrázků

Modelování pevných těles

Monochromatické zobrazování

Lineární transformace

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

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

Detekce kolizí v 3D Josef Pelikán KSVI MFF UK Praha

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

Geometrické transformace pomocí matic

Vyplňování souvislé oblasti

Reprezentace 3D modelu

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

1.8. Úprava uživatelského prostředí AutoCADu 25 Přednostní klávesy 25 Pracovní prostory 25

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

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Základy OpenGL Josef Pelikán CGG MFF UK Praha. OpenGL / 34

Počítačová grafika 1 (POGR 1)

Rekonstrukce izoploch

Tělesa Geometrické těleso je prostorový omezený geometrický útvar. Jeho hranicí neboli povrchem je uzavřená plocha. Geometrická tělesa dělíme na

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

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

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.

Počítačová grafika RHINOCEROS

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

Visualizace objemových dat

Matematická morfologie

Visualizace objemových dat

GIS Geografické informační systémy

11 Zobrazování objektů 3D grafiky

Urychlovací metody pro Ray-tracing

Datové struktury pro prostorové vyhledávání

13 Barvy a úpravy rastrového

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

Počítačová geometrie I

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

Text úlohy. Kolik je automaticky generovaných barev ve standardní paletě 3-3-2?

GIS Geografické informační systémy

Výukové materiály pro výuku 3D grafiky na SOŠ

Textury a šumové funkce

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

Maturitní témata profilová část

Distribuované sledování paprsku

Fergusnova kubika, která je definována pomocí bodu P1, vektoru P1P2, bodu P3 a vektoru P3P4

5 Algoritmy vyplňování 2D oblastí

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

Rastrová reprezentace

Základní topologické pojmy:

Geometrické těleso je prostorově omezený geometrický útvar. Jeho hranicí, povrchem, je uzavřená plocha.

B_PPG PRINCIPY POČÍTAČOVÉ GRAFIKY

Vzorce počítačové grafiky

Reprezentace bodu, zobrazení

- obvyklejší, výpočetně dražší - každé písmeno je definováno jako zakřivený nebo polygonální obrys

Otázky z kapitoly Stereometrie

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

Fakulta elektrotechniky a informatiky Počítačová grafika. Zkouška ústní

Témata ke státní závěrečné zkoušce z matematiky ARITMETIKA

14. Věty Gauss-Ostrogradského, Greenova a Stokesova věta

Přímé zobrazování objemových dat DVR

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Í

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

Vektorové grafické formáty

Základní škola Moravský Beroun, okres Olomouc

Radiometrie, radiační metody

Datové struktury. Zuzana Majdišová

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

Vývoj počítačové grafiky

Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

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

Pojmy: stěny, podstavy, vrcholy, podstavné hrany, boční hrany (celkem hran ),

STEREOMETRIE 9*. 10*. 11*. 12*. 13*

GIS Geografické informační systémy

Produktové Dokumenty (Datum ) Srovnání verzí: pcon.planner 7.0 Rozdíly mezi verzemi Standard-, ME a PRO

SMART Notebook verze Aug

Základy vizualizace. Výpočetní metody

Práce na počítači. Bc. Veronika Tomsová

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

Geometrie. 1 Metrické vlastnosti. Odchylku boční hrany a podstavy. Odchylku boční stěny a podstavy

Vzdělávací oblast: Matematika a její aplikace Vyučovací předmět: Matematika Ročník: 5.

Photon-Mapping Josef Pelikán CGG MFF UK Praha.

Digitální učební materiál

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Typy geometrie v. Rhinu. Body

Transkript:

Reprezentace 3D scény 1995-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 36

Metody reprezentace 3D scén objemové reprezentace přímé informace o vnitřních objemech těles snadný test bod těleso (leží daný bod uvnitř tělesa?), zobrazování může být obtížnější používají se též jako pomocné datové struktury pro rychlé vyhledávání povrchové reprezentace přímé informace o povrchu těles (hrany, stěny) obtížnější test bod těleso (tělesa vůbec nemusí mít vnitřní objem), poměrně snadné zobrazování 2 / 36

Objemové reprezentace výčtové reprezentace přímé vyčíslení obsazeného prostoru (diskrétní reprezentace - omezená přesnost) používají se hlavně jako pomocné datové struktury pro rychlé vyhledávání buněčný model, oktantový strom CSG reprezentace velice silná a přesná metoda (elementární tělesa, geometrické transformace, množinové operace) obtížnější zobrazování (vrhání paprsku) 3 / 36

Buněčný model voxel volume element pole k l m voxelů jednobitová varianta: 0 - nic, 1 - těleso vícebitová varianta: 0 - nic, n > 0 - těleso číslo n 4 / 36

Zobrazování buněčného modelu kreslení odzadu-dopředu pouze přivrácené stěny voxelů pouze stěny na povrchu těles (stěny mezi 0 a >0) vícenásobné překreslování speciální promítání velmi efektivní algoritmus bez zbytečného překreslování Ant-attack na ZX-Spectru (128 128 8 voxelů) 5 / 36

Speciální promítání x x 1. horní stěna [0,0,0] 2. pravá stěna [0,1,0] 6 / 36

Speciální promítání II x x 3. levá stěna [1,1,0] 4. horní stěna [1,1,1] 7 / 36

Oktantový strom ( Octree ) 8 / 36

Oktantový strom 3D analogie kvadrantového stromu je-li vnitřek krychle nehomogenní, rozdělí se na osm částí (dělí se až do úrovně voxelu) úspora paměti proti buněčnému modelu kreslení odzadu-dopředu pouze přivrácené stěny krychlí pouze stěny na povrchu těles (stěny mezi 0 a >0) několikanásobné překreslování některých pixelů 9 / 36

Kreslení odzadu-dopředu 1 3 4 3 4 7 8 2 4 8 2 6 pořadí: 5-6-1-2-7-8-3-4 pořadí: 6-5-2-1-8-7-4-3 10 / 36

CSG ( Constructive Solid Geometry ) elementární geometrická tělesa snadno definovatelná a vyčíslitelná kvádr, poloprostor, hranol, koule, válec, kužel,... množinové operace kompozice složitějších těles z elementárních sjednocení, průnik, rozdíl,.. geometrické transformace modifikace elementárních i složitějších těles (homogenní) maticové transformace 11 / 36

CSG strom množinové operace T 1 T 2 T 3 T 4 výsledek elementární tělesa T 3 T 1 T 4 T 1 geometrické transformace 12 / 36

Transformace v CSG stromu význam (sémantika) transformace T i T i mohou být uloženy v každé hraně CSG stromu převod souřadnic ze soustavy podtělesa (podstromu, elementárního tělesa) do soustavy nadtělesa podtěleso transformuji pomocí T i před tím, než ho přidám do nadtělesa snadná transformace libovolného podstromu změním pouze jednu matici inverzní transformace T i -1 pro vyčíslovací algoritmy (test bod CSG, zobrazení) 13 / 36

Transformace v CSG stromu uložení transformací jen v listech kumulované součiny (např. T 3 T 2 T 1 nebo inverzní T 1-1 T 2-1 T 3-1 ) urychlení vyčíslovacích algoritmů (pro editaci je výhodnější distribuované uložení transformací) úsporné uložení elementárních těles tělesa jsou uložena v normovaném tvaru, všechny změny se provádí geometrickými transformacemi krychle (jednotková, vrchol v počátku), koule (jednotková, střed v počátku), válec (vodorovná podstava - jednotkový kruh, svislá osa, výška 1),... 14 / 36

Test bod CSG strom leží daný bod A uvnitř tělesa? někdy chceme zjistit i podtělesa obsahující bod A testy bod elementární těleso jsou snadné! (především pro normované tvary těles) průchod CSG stromem souřadnice bodu A se převádějí do souřadných soustav elementárních těles (inverzní transformace) místo množinových operací se provádějí jejich booleovské ekvivalenty ( místo, místo,...) 15 / 36

Test bod CSG strom bod A T -1 1 bod A T 3 T 4 T 1 T 2 Uvnitř bod A T 2-1 Mimo bod A T 1-1 T -1 3 Uvnitř bod A T 1-1 T -1 4 Mimo 16 / 36

Zobrazování CSG reprezentace převedení do povrchové reprezentace pro každý druh elementárního tělesa: rutina převádějící těleso na mnohostěn množinové operace nad mnohostěny (omezená přesnost - výsledek nemusí být správně ani v topologickém smyslu) vrhání paprsku ( Ray-casting ) přesné zobrazování v rastrovém prostředí (pixelová přesnost) výpočetně náročnější metoda 17 / 36

Povrchové reprezentace drátový model pseudo-povrchová reprezentace pouze vrcholy a hrany těles (nelze použít pro výpočet viditelnosti) VHS(T) reprezentace kompletní topologická informace: seznamy vrcholů, hran, stěn (a těles) okřídlená hrana ( winged-edge ) redundantní informace pro rychlé vyhledávání sousedních objektů (hrany incidentní s vrcholem,..) 18 / 36

Povrchová reprezentace VHST V 5 S 2 V 3 H 5 V 4 H 3 H 4 S 1 V 1 H 1 H 2 V 2 tělesa stěny... T... 1 S 1 S 2......... těleso T 1 hrany... H 1 H 2 H 3 H 4 H 5... vrcholy x y z x y z x y z x y z x y z... V 1 V 2 V 3 V 4 V 5 19 / 36

Děravá stěna umělá hrana (nevykresluje se) 20 / 36

2-manifold (manifold) Def: Pro každý povrchový bod existuje okolí, které je topologicky ekvivalentní s rovinou Ano Ne 21 / 36

Okřídlená hrana ( winged-edge ) V 4 V 1 H 2 H 3 x y z x y z x y z... vrcholy S 1 H 1 S 2 V 1 V 2 V 3 H 4 H 5... V 3 V 2 V 5 hrany V 1 V 2 H 1 těleso T 1 S 1 S 2 H 2 H 5... stěny T 1... tělesa H 4 H 3 + -... S 1 S 2 22 / 36

Další informace v databázi vrchol barva, texturové souřadnice normálový vektor (stínování hladké plochy) hrana příznak umělé hrany: pro reprezentaci děravých stěn stěna barva, materiál, textura normálový vektor (stínování, přivrácená/odvrácená) těleso barva, materiál, textura 23 / 36

Data ve vrcholech n [s,t] [x,y,z] 24 / 36

Data ve vrcholech souřadnice [x,y,z] nebo [x,y,z,w] normálový vektor pro stínování (později), může být interpolován barva explicitní barva povrchu, může být interpolována texturové souřadnice 2D souřadnice v normalizovaném prostoru textury [s,t], [u,v], interpolují se do pixelů 25 / 36

Vertex Buffer Objects glbindbuffer( GL_ARRAY_BUFFER, 0 ); glvertexpointer( ); glnormalpointer( ); 0 1 [x,y,z,w] [N x,n y,n z ] [s,t] Vertex buffer [0,1,2] [1,2,3] [3,0,12] id=0 [x,y,z,w] [N x,n y,n z ] [s,t] VBO buffer objects Index buffer id=1 GPU memory glbindbuffer( GL_ELEMENT_ARRAY_BUFFER, 1 ); gldrawelements( GL_TRIANGLES, ); 26 / 36

Corner Table (trojúhelníky) tabulka vrcholů G[v] souřadnice, normála, barva, texturové souřadnice, tabulka rohů V[c] jeden vnitřní roh trojúhelníka index vrcholu ( c.v ) rohy jsou uloženy za sebou v 1D poli, CW orientace stěn protější roh protějšího trojúhelníka ( c.o ) implicitní údaje: - číslo trojúhelníka t = c div 3 - ostatní rohy c.n = (c mod 3 == 2)? c-2 : c+1, c.p = c.n.n - další sousední trojúhelníky c.l = c.n.o, c.r = c.p.o 27 / 36

Corner Table c.l c.v c c.r c.p c.t c.n roh c c.o uloženo u c dá se odvodit 28 / 36

Corner Table - kódování tabulka o se nemusí přenášet lze ji jednoznačně rekonstruovat z v hodnoty indexů v se mohou bitově ořezat index vrcholu obsahuje 31 log 2 v úvodních nul ořezání souřadnic obalový kvádr celého objektu, uvnitř se používají relativní souřadnice (10 až 16 bitů na složku) predikce polohy vrcholů při inkrementálním průchodu daty (např. Edgebreaker ) další úspory 29 / 36

Edgebreaker (Rossignac) úsporné kódování tri-mesh pomocí inkrementálního průchodu sítí pozice vrcholů se komprimují za pomoci predikce (až 7 bpv) topologie sítě se ukládá velice úsporně na základě průchodu (1.0 až 1.8 bpv) CLERS pole 5 možností, jak pokračovat z aktuálního trojúhelníka možnost entropické komprese (některé kroky/ posloupnosti jsou mnohem pravděpodobnější) 30 / 36

Eulerovy zákony pro jednoduchý polyedr (bez děr) platí vzorec V - H + S = 2 V - počet vrcholů, H - počet hran, S - počet stěn zobecněný vzorec (dovoluje díry) V - H + S - D = 2 (T - G) D - počet děr ve stěnách, T - počet těles, G - počet děr procházejících celým tělesem (Genus) 31 / 36

Eulerovy operátory konstrukce 2-manifoldu po krocích v každém kroku je zajištěna platnost Eulerových vzorců (těleso je topologicky korektní) ke každému operátoru existuje inverzní (snadná implementace příkazu Undo ) příklady Eulerových operátorů: Msfevv(P 1,P 2 ): make solid, face, edge, vertex, vertex Mev(f 1,v 1,P 2 ): make edge, vertex Mef(f 1,v 1,v 2 ): make edge, face Kef(e): kill edge, face 32 / 36

Konstrukce čtyřstěnu 1. Msfevv(P 1,P 2 ) 2. Mev(f 1,v 1,P 3 ) 3. Mef(f 1,v 2,v 3 ) s 1 s 1 v 1 (P 1 ) f 1 e 1 v 2 (P 2 ) v 1 e 2 e 1 f 1 v 3 (P 3 ) v 2 s 1 f 2 e 2 v 3 v f 1 1 e 3 e 1 v 2 4. Mev(f 2,v 1,P 4 ) s 1 e 4 v 4 (P 4 ) f 2 e 2 v 3 v f 1 1 e 3 e 1 v 2 s 1 5. Mef(f 2,v 3,v 4 ) 6. Mef(f 3,v 2,v 4 ) f 3 e 4 v 4 e 5 f 2 e 2 f 1 e 3 e 1 v 2 v 1 v 3 s 1 e 4 v 4 e 5 v f f 3 3 4 v e 1 3 e 1 v 2 33 / 36

Rozšířená sada operací Josef Pelikán, Sven http://cgg.mff.cuni.cz/~pepca Havemann, 2005 34 / 36

Krychle s otvorem Josef Pelikán, Sven http://cgg.mff.cuni.cz/~pepca Havemann, 2005 35 / 36

Konec Další informace: J. Foley, A. van Dam, S. Feiner, J. Hughes: Computer Graphics, Principles and Practice, 534-562, 712-714 Jiří Žára a kol.: Počítačová grafika, principy a algoritmy, 234-238 Sven Havemann: Generative Mesh Modeling, PhD thesis, 2005, TU Braunschweig, pp. 59-79 36 / 36