Geometrické modelování

Podobné dokumenty
Modely prostorových těles

Reprezentace 3D scény

Jana Dannhoferová Ústav informatiky, PEF MZLU

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

REPREZENTACE 3D SCÉNY

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

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

Modelování pevných těles

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

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

GIS Geografické informační systémy

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

GIS Geografické informační systémy

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

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

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

11 Zobrazování objektů 3D grafiky

Typy geometrie v. Rhinu. Body

Počítačová grafika RHINOCEROS

Reprezentace 3D modelu

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

Zobrazování a osvětlování

Vyplňování souvislé oblasti

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

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

Počítačová geometrie I

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.

Rekurzivní sledování paprsku

GIS Geografické informační systémy

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

Jana Dannhoferová Ústav informatiky, PEF MZLU

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

Pokročilé metody fotorealistického zobrazování

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

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

Algoritmy výpočetní geometrie

Distribuované sledování paprsku

Rastrová reprezentace

Obecný princip 3D numerického modelování výrubu

Watkinsův algoritmus řádkového rozkladu

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

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

Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1

Vývoj počítačové grafiky

Geometrické transformace pomocí matic

Matematický ústav UK Matematicko-fyzikální fakulta

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

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

Matematická morfologie

Kristýna Bémová. 13. prosince 2007

Laserové skenování (1)

Přehled. Motivace Úvod. Křivky a plochy počítačové grafiky. Závěr. Rozvoj počítačové grafiky Výpočetní geometrie

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

Úvod do GIS. Prostorová data I. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Novinky v Solid Edge ST7

Několik úloh z geometrie jednoduchých těles

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

Digitální model reliéfu (terénu) a analýzy modelů terénu

Vzorce počítačové grafiky

Deformace rastrových obrázků

Terestrické 3D skenování

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

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

Matematický ústav UK Matematicko-fyzikální fakulta

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

Vektorové grafické formáty

APLIKACE. Poznámky Otázky

Aproximační křivky. Trocha historie. geometrické modelování veliký pokrok v oblasti letectví 1944 Roy Liming

Osvětlování a stínování

Maturitní okruhy z matematiky - školní rok 2007/2008

Generování sítě konečných prvků

Příklady otázek PB009/jaro 2015

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

Urychlovací metody pro Ray-tracing

Matematika B101MA1, B101MA2

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

Mechanika

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

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

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

Maturitní témata profilová část

Obsah A ROVINNÁ GRAFIKA 17

Radiometrie, radiační metody

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

aneb jiný úhel pohledu na prvák

Žák plní standard v průběhu primy a sekundy, učivo absolutní hodnota v kvartě.

2. přednáška z předmětu GIS1 Data a datové modely

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

PostGIS Topology. Topologická správa vektorových dat v geodatabázi PostGIS. Martin Landa

13 Barvy a úpravy rastrového

Souřadnicové prostory

Visualizace objemových dat

SOFTWARE NA ZPRACOVÁNÍ MRAČEN BODŮ Z LASEROVÉHO SKENOVÁNÍ. Martin Štroner, Bronislav Koska 1

8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra

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

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

Základní topologické pojmy:

Transkript:

Geometrické modelování 1997 Josef Pelikán, MFF UK Praha 2007 Jiří Sochor, FI MU Brno 2007-12 Petr Felkel, ČVUT FEL Praha 2007 Jiří Žára, ČVUT FEL Praha felkepet@fel.cvut.cz Datum poslední aktualizace 22.1.2016

Geometrické modelování = soubor metod k popisu těles (tvaru, vlastností, postupu výroby, ) Vzniklo se vznikem a rozvojem počítačů (přelom 50/60 let) První systém - 50. léta (letectvo, SAGE) Boom přelom 60 a 70 let (auta, letadla, ) Sutherland, Ross, Coons, Fergusson, de Casteljau, Bézier, Eshleman, Meriwether, Forrest, Zpočátku podpora konstruování (vytvoření, editace, zobrazení) Postupně nabaluje další funkce aerodynamika, simulace chování modelování struktury (FEM) digitální prototypy (mock-up) řízení NC strojů, Computer Aided Manufacturing (CAM), Postavy a objekty do her a filmů 2

Model Model [Angel] = abstrakce světa, idealizace reálného (v němž žijeme), existující výrobek virtuálního (vytvořeného počítačem), návrh výrobku Svět (fyzické objekty) složitý a proto nepostihnutelný Př.: déšť-kapky-částice Matematický model rovnice zjednodušeně popisující fyzické objekty Reprezentace (datové modely) reprezentace matematických modelů vhodné pro počítačové zpracování Počítačové vědy abstraktní datové typy Počítačová grafika geometrické objekty 3

Požadavky na reprezentaci těles [Schene] Široká doména co nejvíce použitelných geometrických objektů Jednoznačnost (úplnost) tvar je jasný na první pohled Unikátnost reprezentace konkrétní těleso jen jedním způsobem, lze testovat shodu Přesnost bez aproximace Nemožnost vytvořit chybnou reprezentaci nelze vytvořit objekt, který by nebyl tělesem Uzavřenost transformací vznikne zase platné těleso Kompaktnost šetří místo Efektivní algoritmy 4

Těleso, plochy, hrany a vrcholy 5

Metody reprezentace 3D objektů a scén A) Drátový model B) Povrchová reprezentace C) Objemová reprezentace 6

A) Drátový model A) Drátový model (wire-frame, GL_LINE) Velmi úsporný jen vrcholy a hrany těles Nezná plochy, proto nejde určit viditelnost Nejednoznačný Nevhodný pro modelovací operace 7

A) Drátový model a modelování 8

Metody reprezentace 3D objektů a scén B) Povrchová reprezentace (Boundary Representation, B-rep) Jen slupka, popsány plochy a hrany (hranice tělesa) C n spojité záplaty (patch) C 0 spojité mřížky (mesh) polygony -> trojúhelníky Snadno se zobrazují Není informace o vnitřku => Obtížný test bod těleso (test zda je bod uvnitř tělesa) C) Objemová reprezentace Přímé informace o objemu tělesa => Snadný test bod těleso Obtížněji se zobrazují Často jako pomocné datové struktury pro rychlé vyhledávání 9

B) Polygonální geometrie - běžné úlohy kreslení -průchod všemi trojúhelníky, pozice vrcholů zjištění vlastností objektů - nalezení všech hraničních hran - nalezení sousedního trojúhelníku změny sítě - vložení/zrušení trojúhelníku -přemístění vrcholu a přilehlých trojúhelníků - kolaps hran/rozdělení vrcholů 10

Nalezení hraničních hran 11

Přemístění vrcholu 12

Kolaps hrany 13

Rozdělení vrcholu 14

Geometrie a topologie Primitiva vrcholy hrany stěny (polygony, často jen trojúhelníky) Topologické vztahy vrcholy incidující s hranou hrany incidující se stěnou vrcholy incidující se stěnou hrany incidující s vrcholem Geometrie pozice a tvar vrcholů, hran, stěn Topologie konektivita/sousednost mezi různými vrcholy, hranami, stěnami 15

Topologicky identické sítě 16

Topologicky odlišné sítě identická geometrie vrcholů odlišná topologie a geometrie trojúhelníků/hran 17

Manifold Def: 2-manifold: Pro každý povrchový bod existuje okolí, které je topologicky ekvivalentní s rovinou (kruhem) 18

B) Povrchová reprezentace ploškami - C 0 VEF(S) reprezentace -max Polygonální polévka -min Okřídlená hrana ( winged-edge ) - spec 19

Povrchová reprezentace VEFS V 5 F 2 E 5 V 4 E 3 E 4 F 1 V 1 E 1 stěny tělesa S 1 DAG Přímé odkazy V 3 E 2 V 2 F 1 F 2 těleso S 1 hrany E 1 E 2 E 3 E 4 E 5 + Hierarchická + Kompletní topologie + Sdílí záznamy V Interakce - Q: hrany(v 1 ) chybí zpětné odkazy vrcholy x x x x x y y y y y z z z z z V 1 V 2 V 3 V 4 V 5 20

Polygonální polévka Polygonální polévka (polygon soup) Zjednodušená VEF reprezentace na VF Izolované stěny trojúhelníky (polygony), neukládá topologii Redundantní vrcholy (opakují se) nebo sdílené vrcholy (topologie dodatečně odvoditelná) Zná plochy, proto lze určit viditelnost Nevhodný pro modelovací operace, ideální pro export těles stěny F 1 F 2 DAG 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 Sdílené vrcholy 21

Okřídlená hrana (winged-edge) V 3 V 2 x vrcholy x x DAG E 2 E 3 F 1 E 1 F 2 y z y z y z E 4 E 5 V 1 V 2 V 3 Zpětné odkazy V 4 V 1 V 5 těleso S 1 Omezeny přímé odkazy, přidány zpětné odkazy Snadno - Q: hrany(v 1 ) hrany tělesa (L) (n) F 1 F 2 E 2 E 5 E 4 E 3 E 1 stěny S V 1 V 2 1 Přímé odkazy F 1 F 2 22

Okřídlená hrana - (F,E,V) DAG Přímý odkaz Zpětné odkazy Přímý odkaz Přímé odkazy Seznamy či Tabulky 23

Okřídlená hrana Hrana struct Edge { Vertex *start; Vertex *end; Face * left; Face * right; Edge *leftsucc; Edge *leftpred; Edge *rightsucc; Edge *rightpred; }; Příklad: průchod hranami levé stěny leftface( Edge *startedge ) { Edge *current = startedge; do { output( current ); current = current->leftsucc; } while( current!= startedge ); } 24

B) Povrchová reprezentace ploškami - shrnutí VEF(S) reprezentace (česky VHS(T)) Kompletní topologická informace: Seznamy vrcholů (Vertex), hran (Edge), stěn (Face) a těles (Solid) Přímé odkazy S F E V Polygonální polévka Zjednodušená VEF na VF Okřídlená hrana ( winged-edge ) Redundantní informace pro rychlé vyhledávání sousedních objektů (hrany incidentní s vrcholem (V E),...) Omezeny přímé odkazy jen jeden, doplněny zpětné odkazy S F E V V E, E F 25

Eulerovy rovnosti Pro jednoduchá tělesa bez děr: F + V = E + 2 F počet stěn, V počet vrcholů, E počet hran 6 + 8 = 12 + 2 Obecný vzorec (s dírami): F + V = E + 2*(S-H) + R S počet těles H počet děr procházejících celým tělesem R počet děr ve stěnách Solid, Hole, Ring (Loop) 10 + 16 = 24 + 2*(1-1) + 2 26

Euler.rovnost - jednoduchá tělesa V + F = E + 2(S H) + R 24 + 15 = 36 +2(1 1) + 3 27

Operace Undo Složitá u množinových operací nad B-rep. Eulerovy operátory: zajišťují topologickou korektnost modelu umožňují operace Undo/Redo operátory zapsané do souboru mohou sloužit jako přenosový formát Příklady Eulerových operátorů mvsf - make vertex, solid, face, mev - make edge, vertex, mef - make edge, face, kef - kill edge, face,... F + V = E + 2*(S-H) + R +1 +1 = 2*1 +1 = +1 +1 = +1 1 = 1 28

Eulerovy operátory... F+V=E+2 nic mvsf kvsf mev kev 2x mev Balónek s bodem na povrchu mef 4x mev 4x mef kef s = 1 f = 6 v = 8 e = 12 29

Další Eulerovy operátory 4x mev mef kemr Dočasná pomocná hrana Pomocná hrana odstraněna 4x mev 4x mef kfmrh kfmrh kill face make ring hole Existence algoritmu pro rozklad tělesa na nic 30

C) 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 (rastr), oktalový strom CSG reprezentace (konstruktivní geometrie těles) velice silná a přesná metoda (elementární tělesa, geometrické transformace, množinové operace) Obtížnější zobrazování (vrhání paprsku) 31

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 nebo skalární hodnota (hustota, pohltivost, ) 32

Buněčný model - příklad 33

Visible human project 36

Voxelová data běžné úlohy nastavení přední roviny ořezání (výběr vrstvy dat) pohledové transformace množinové operace nad modelem osvětlení konstrukce izoploch separace oblastí (např. orgánů ) 37

Zpracování v prostoru obrazu a v prostoru objemu image order (po pixelech) objem dat rovina obrazu pixel paprsky pro jeden pixel object order (po voxelech) rovina obrazu pixel projekce voxelu voxel objem dat 38

Osvětlovací model - principy Voxely algoritmus ray casting / ray marching: Vzájemně si nezakrývají okolní světlo Navzájem světlo neodrážejí zrcadlově Rozptylují dopadající a tlumí procházející světlo (nebo dokonce vyzařují vlastní) 39

Osvětlovací model (spojitý) t 2 t 2 t 1 L t t 1 - t R D(s)ds t 1 ( ) e útlum na cestě t t 1... I 0 t 2 t t 1 I(t) D(t) P(cos ) dt barva v bodě t hustota D, útlum, odrazová funkce P, úhel mezi paprskem a světlem 40

Diskrétní osvětlovací model 0 L C(i) příspěvek barvy ve voxelu i od světla L dle osvětlovacího modelu neprůhlednost voxelu i i pozadí 123 k R C R = K K [ C(i) i (1- j ) ] i=0 j=i+1 barva voxelu i útlum na cestě ke kameře 42

Oktantový model 43

Oktantový strom (octree) oktalový strom y 2 3 66 62 63 67 64 65 7 7 5 3 1 x 4 5 z F F F F F F 0 1.... 7 F F 60 61.... 67 F F F Full E Empty P Partial 44

Oktantový strom 3D analogie 2D 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 (uloženy jen obsazené kostičky) kreslení odzadu-dopředu (malířův algoritmus) 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ů 45

CSG (Constructive Solid Geometry) Prvky CSG stromu elementární geometrická tělesa (listy) snadno definovatelná a vyčíslitelná kvádr, poloprostor, hranol, koule, válec, kužel,... Odpovídají tvarům nástrojů a materiálu množinové operace (vnitřní uzly) kompozice složitějších těles z elementárních sjednocení, průnik, rozdíl, odpovídají operacím s nástroji geometrické transformace (hrany) modifikace elementárních i složitějších těles (homogenní) maticové transformace 46

CSG strom - modelování 47

CSG strom hierarchie modelovacích transformací množinové operace T 3 T 4 T 1 T 2 výsledek!!! T 1 T 3 T 1 T 4 geometrické transformace elementární tělesa, primitiva 48

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í - RT) 49

Transformace v CSG stromu uložení transformací jen v listech kumulované součiny (např. T 1 T 2 T 3 nebo inverzní T 3-1 T 2-1 T 1-1 ) urychlení vyčíslovacích algoritmů pro editaci je výhodnější distribuované uložení transformací na hranách úsporné uložení elementárních těles Elementární 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),... 50

Test bod x 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,...) 51

Test bod x CSG strom bod Uvnitř bod A ve světových souřadnicích T 1-1 A T 3 T 4 T 1 T 2 Uvnitř bod T 2-1 Mimo A bod T -1 3 T -1 1 A Uvnitř bod T 4-1 T 1-1 Mimo A Bod A v modelovacích souřadnicích jednotlivých elementárních těles 52

Prořezávání CSG stromů A B C směr pohledu úplný CSG strom (A+B)-C A + - B C podprostory s prořezanými CSG stromy A + - A B B C 53

Úprava CSG výrazů - vyvažování - + - D.. + C not not not not A B A C D B C D ((A+B)-C)-D=(A-C-D)+(B-C-D)=A.notC.notD+B.notC.notD 54

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 55

CSG operace - záludnosti A B Je nutné definovat tzv. regularizované operace 56

Porovnání modelů 57

Porovnání modelů + Kompaktní + Snadno test in vykreslování + Obsáhlý test in + vykreslování 58

Další informace o tělese vrchol: (normálový vektor pro spojité stínování) hrana: příznak umělé hrany: pro reprezentaci děravých stěn nebo aproximaci křivých ploch sítí polygonů stěna: Barva normálový vektor (stínování, přivrácená/odvrácená) těleso: barva 59

Reference [MPG] Žára, Beneš, Sochor, Felkel. Moderní počítačová grafika, 2. vydání, Computer Press, 2004, kap. 5. [Mortenson] M. E. Mortenson. Geometric Modeling, 2nd edition, Wiley Computer Publishing, 1997 [Ježek] F. Ježek: Geometrické a počítačové modelování, pomocný učební text, ZČU Plzeň, 2000 http://www.fd.cvut.cz/personal/voracova/gm/021/gm_jezek.pdf [Finn] D. Finn: Geometric Modelling: lecture notes http://www.rosehulman.edu/~finn/ [Shene] C. K. Shene: Introduction to Computing with Geometry Notes, Michigan Technological University, http://www.cs.mtu.edu/~shene/courses/cs3621/notes/notes.html [Cubic] Cubic Tragedy, Story: Chun-Wang Sun, Director Ming-Yuan Chuan, National Taiwan University of Science and Technology, Taipei, presented at Computer Animation Festival, SIGGRAPH 05 60