T i
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 [email protected] Datum poslední aktualizace 5.1.2015 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ů PGR 3 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ý 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 PGR 4 Požadavky na reprezentaci těles [Schene] PGR Š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 5 Těleso, plochy, hrany a vrcholy PGR 6 Metody reprezentace 3D objektů a scén A) Drátový model B) Povrchová reprezentace C) Objemová reprezentace PGR 7 A) Drátový model A) Drátový model (wire-frame, GL_LINE) • • • • PGR Velmi úsporný – jen vrcholy a hrany těles Nezná plochy, proto nejde určit viditelnost Nejednoznačný Nevhodný pro modelovací operace 8 A) Drátový model a „modelování“ PGR 9 Metody reprezentace 3D objektů a scén B) Povrchová reprezentace (Boundary Representation, B-rep) • Jen „slupka“, popsány plochy a hrany (hranice tělesa) • • Cn spojité – záplaty (patch) C0 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 • • • PGR 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í 10 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ů PGR 11 Nalezení hraničních hran PGR 12 Přemístění vrcholu PGR 13 Kolaps hrany PGR 14 Rozdělení vrcholu PGR 15 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 PGR 16 Topologicky identické sítě PGR 17 Topologicky odlišné sítě • identická geometrie vrcholů • odlišná topologie a geometrie trojúhelníků/hran PGR 18 Manifold Def: 2-manifold: Pro každý povrchový bod existuje okolí, které je topologicky ekvivalentní s rovinou (kruhem) PGR 19 B) Povrchová reprezentace VEF(S) reprezentace Polygonální polévka “Okřídlená hrana” (“winged-edge”) PGR 20 Povrchová reprezentace VEFS V5 tělesa E5 F2 E3 V3 S1 V4 E 4 V1 F1 E2 E1 stěny F2 F1 V2 těleso S1 Kompletní topologie Sdílí záznamy PGR DAG hrany E1 vrcholy E2 E3 E5 E4 x x x x x y y y y y z z z z z V1 V2 V3 V4 V5 21 Polygonální polévka • • • • • Zjednodušená VEF reprezentace na VF Izolované stěny trojúhelníky (polygony), neukládá topologii Redundantní vrcholy (opakují se) nebo společné vrcholy (topologie dodatečně odvoditelná) Zná plochy, proto lze určit viditelnost Nevhodný pro modelovací operace, ideální pro export těles stěny F1 vrcholy PGR DAG Polygonální polévka (polygon soup) F2 x x x x x y y y y y z z z z z V1 V2 V3 V4 V5 22 Okřídlená hrana (winged-edge) DAG vrcholy V3 E2 F1 V4 E1 E4 V1 V2 E3 F2 V1 E5 V5 hrany těleso S 1 S1 Omezeny přímé odkazy, posíleny zpětné odkazy PGR tělesa x x x y y y z z z V2 (L) V3 F1 (n) F2 E2 E5 E4 E3 V1 V2 Přímé odkazy Zpětné odkazy E1 stěny F1 F2 23 Okřídlená hrana - (F,E,V) DAG Přímý odkaz Zpětné odkazy Přímý odkaz Přímé odkazy PGR 24 Okřídlená hrana Příklad: průchod hranami levé stěny PGR 25 B) Povrchová reprezentace - 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, posíleny zpětné odkazy S→F→E→V V → E, E→ F PGR 26 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 10 + 16 Solid, Hole, Ring (Loop) PGR = 24 + 2*(1-1) + 2 27 Euler.rovnost - jednoduchá tělesa V + F = E + 2(S – H) + R 24 + 15 = 36 +2(1 – 1) + 3 PGR 28 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ů • • • • PGR mvsf mev mef kef - “make vertex, solid, face”, - “make edge, vertex”, - “make edge, face”, - “kill edge, face”, ... 29 Eulerovy operátory ... F+V=E+2 mvsf mev nic kvsf kev 2x mev Balónek s bodem na povrchu mef kef PGR 4x 4x mev mef s=1 f=6 v=8 e = 12 30 Další Eulerovy operátory 4x mef kemr mev 4x mev 4x kfmrh mef kfmrh – „kill face make ring hole“ Existence algoritmu pro rozklad tělesa na „nic” PGR 31 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) PGR 32 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,…) PGR 33 Buněčný model - příklad PGR 34 Visible human project PGR 37 Voxelová data – běžné úlohy PGR 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ů …) 38 Zpracování v prostoru obrazu a v prostoru objemu objem dat image order rovina obrazu object order paprsky pro jeden pixel pixel projekce voxelu objem dat ← rovina obrazu PGR voxel pixel 39 Osvětlovací model - principy Voxely – 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í) PGR 40 Osvětlovací model (spojitý) L ... t2 t t2 t1 t - ∫D(s)ds ∫ (e t1 R t1 útlum na cestě t → t1 I0 t2 t t1 ) I(t) D(t) P(cos ) dt barva v bodě t hustota D, útlum , odrazová funkce P, úhel mezi paprskem a světlem PGR 41 Diskrétní osvětlovací model C(i) – příspěvek barvy ve voxelu i od světla L dle osvětlovacího modelu i – neprůhlednost voxelu i L 0 pozadí 12 3 R k K CR = K C(i) i (1-j) i=0 j=i+1 barva voxelu i PGR útlum na cestě ke kameře 43 Oktantový model PGR 44 Oktantový strom (octree) „oktalový strom“ y 2 66 62 63 67 65 64 4 7 3 3 7 1 x 5 5 z F 0 PGR F 1 F F F .... F F 60 61 F F Full E Empty P Partial 7 F .... F 67 45 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 (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ů PGR 46 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,... • množinové operace (vnitřní uzly) • • kompozice složitějších těles z elementárních sjednocení, průnik, rozdíl, .. • geometrické transformace (hrany) • • PGR modifikace elementárních i složitějších těles (homogenní) maticové transformace 47 CSG strom - modelování PGR 48 CSG strom – hierarchie modelovacích transformací množinové operace T3 !!! T1 ⋃ T1T3 T2 výsledek T4 T1T4 elementární tělesa, primitiva geometrické transformace PGR 49 Transformace v CSG stromu význam (sémantika) transformace Ti • Ti 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í Ti 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 Ti-1 • pro vyčíslovací algoritmy (test bod×CSG, zobrazení RT) PGR 50 Transformace v CSG stromu uložení transformací jen v listech • kumulované součiny (např. T1 T2 T3 nebo inverzní T3-1 T2-1 T1-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 • 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), ... PGR 51 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 , ...) PGR 52 Test „bod x CSG strom“ bod A ve světových souřadnicích bod T 1-1 A Uvnitř T3 T1 T2 Uvnitř T4 bod T2-1 A Mimo -1 -1 bod T3 T 1 A Uvnitř PGR bod T4-1 T 1-1 A Mimo Bod A v modelovacích souřadnicích jednotlivých elementárních těles 53 Prořezávání CSG stromů úplný CSG strom A - (A+B)-C B + A C B C podprostory s prořezanými CSG stromy směr pohledu A + A PGR B B C 54 Úprava CSG výrazů - vyvažování + A + . D C B not A C . not D not B C not D ((A+B)-C)-D=(A-C-D)+(B-C-D)=A.notC.notD+B.notC.notD PGR 55 Zobrazování CSG reprezentace • převedení do povrchové reprezentace • • • vrhání paprsku (“Ray-casting”) • • PGR 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) přesné zobrazování v rastrovém prostředí (pixelová přesnost) výpočetně náročnější metoda 56 CSG operace - záludnosti AB Je nutné definovat tzv. „regularizované operace“ PGR 57 Porovnání modelů PGR 58 Další informace o tělese vrchol: • hrana: • Barva normálový vektor (stínování, přivrácená/odvrácená) těleso: • PGR příznak umělé hrany: pro reprezentaci děravých stěn nebo aproximaci křivých ploch sítí polygonů stěna: • • (normálový vektor pro spojité stínování) 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/PGR021/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 PGR 60
Podobné dokumenty
NURBS REPREZENTACE KŘIVEK V MAPLE 1 Úvod
Jedním ze základních úkolů, které jsou řešeny v geometrickém modelování, je otázka, jak množinou bodů v rovině či prostoru proložit křivku vhodného tvaru. Víme, že takové křivky můžeme rozdělit
do ...
Uložte dění na obrazovce do videosoubor - Architektura
Napsal uživatel Michal Záhora
Pondělí, 25 Srpen 2008 21:41
Stáhnout
Téma projektu si student vybı́rá v rámci konzultacı́ s přednášejı́cı́m. Standardnı́m postupem je výběr článku v časopise CAGD - Computer Aided Geometric Design (viz elektronické
informa...
BotNet Feed Buletin
V případě jakýchkoli otázek nebo nejasností nás neváhejte kontaktovat na adrese: [email protected]. Zároveň bychom Vás chtěli požádat o informace – jak jste postupovali při identifikaci, odstran...
Geometrické a poc´ıtacové modelován´ı
Téma projektu si student vybı́rá v rámci konzultacı́ s vedoucı́m cvičenı́ nebo s přednášejı́cı́m.
Standardnı́m postupem je výběr článku v časopise CAGD - Computer Aided Geometric Design...
Úvod do používání COMSOL Multiphysics v modelování
elektromagnetismu, elektrostatiky a dynamiky tekutin. COMSOL Multiphysics je však
otevřený systém a uživatel má možnost si vytvářet své vlastní aplikační úlohy využitím
obecného tvaru PDE a slabých...
KRÁLOVOPOLSKÁ STRESS ANALYSIS GROUP sro
KRÁLOVOPOLSKÁ STRESS ANALYSIS GROUP s.r.o. byla založena zakladatelskou
listinou ze dne 13.12.2000 a zapsána do obchodního rejstříku vedeného Krajským soudem
v Brně dne 3. září 2001 v oddílu C, vlo...
7. Dosažené výsledky - DCGI - České vysoké učení technické v Praze
Lattice a metodu Two Fluids Model. Tyto metody budou popsány v kapitolách 3 a 4. Ještě
před tím, ale bude v kapitole 2 uveden přehled existujících prací souvisejících s tématem
diplomové práce. Kap...