Počítačová grafika 1. Definice oblasti souvisí: a) s definováním množiny všech bodů, které náleží do hranice a zároveň do jejího vnitřku b) s popisem její hranice c) s definováním množiny všech bodů, které tvoří její okolí d) s popisem vnitřních bodů 2. Které z následujících tvrzení neplatí pro metodu řádkového vyplňování: a) pro každý rozkladový řádek se hledá seznam průsečíků s hraničními úsečkami b) vykreslují se vodorovné úseky mezi lichými a sudými průsečíky c) před výpočtem lze vynechat svislé hrany d) na začátku je možné zkrátit všechny hrany o 1 pixel Jana Dannhoferová (jana.dannhoferova@pef.mendelu.cz) Ústav informatiky, PEF MZLU 3. Plot je: a) pomyslná svislá čára, která může protínat vnitřek i hranici oblasti b) pomyslná svislá čára, která může protínat vnitřek, ale ne hranici oblasti c) pomyslná diagonální čára, která může protínat vnitřek i hranici oblasti d) pomyslná diagonální čára, která může protínat vnitřek, ale ne hranici oblasti 4. Při semínkovém vyplňování nepotřebujeme znát: a) barvu semínka b) barvu vnitřního bodu c) barvu vnějšího bodu d) barvu hraničního bodu 2 Pojem tělesa těleso množina bodů vyplňující určitou trojrozměrnou prostorovou oblast (splňující určitá kritéria) sjednocení dvou disjunktních množin: množiny vnitřních bodů a množiny hraničních bodů spojitý útvar tvořený jedním celkem z těles jsou vyloučeny úsečky, křivky a plochy, které nemají vnitřní body ve smyslu tělesa (slouží k popisu hraničních bodů) používané označení: S (solid), F (face), E (edge), V (vertex) modelování těles důraz kladen na tvorbu úplných reprezentací fyzických prostorových objektů, které umožňují řešit libovolný geometrický problém algoritmicky model popíše co nejrozsáhlejší třídu těles model je jednoznačný a úplný model je unikátní a přesný nemožnost vytvořit nesprávnou reprezentaci model je uzavřený vůči vybraným operacím model je kompaktní model je navržen tak, aby podporoval použití efektivních algoritmů pro tvorbu, modifikaci a vyhodnocení modelu 3 4 Modely 3D scén dekompoziční modely reprezentují tělesa seznamem, výčtem vyplněného prostoru výčet elementů bývá uspořádaný konstruktivní modely popisují tělesa jako kombinaci těles s jednoduchým geometrickým tvarem primitivní tělesa: hranol, koule, válec aj. nejznámější je CSG model, který má formu stromu hraniční modely reprezentují tělesa pomocí hraničních povrchů povrch tělesa množina nepřekrývajících se stěn nejznámější je tzv. okřídlená hrana objemové reprezentace přímé informace o vnitřních objemech těles snadný test bod vs. 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ělesa (hrany, stěny) obtížnější test bod vs. těleso (tělesa vůbec nemusí mít vnitřní objem) poměrně snadné zobrazování 5 6 1
1) Objemové reprezentace Buněčný model výčtové reprezentace přímé vyčíslení obsazeného prostoru použití zejména jako pomocné datové struktury pro rychlé vyhledávání například: buněčný model, oktalový strom CSG reprezentace velice silná a přesná metoda (elementární tělesa, geometrické a množinové operace) obtížnější zobrazování prostor je tvořen elementárními objemy ve tvaru krychle voxel (volume element) pole k x l x m voxelů jednobitová varianta: 0 nic, 1 těleso vícebitová varianta: 0 nic, n > 0 těleso číslo n voxel 7 8 Buněčný model kreslení odzadu-dopředu pouze přivrácené stěny voxelů pouze stěny na povrchu těles vícenásobné překreslování paměťově náročný snadná modifikace a vyhodnocování triviální algoritmy pro množinové operace mezi buněčnými (voxelovými) modely tzv. Octree, Octal tree (quadtree v rovině) sjednocení prostorových buněk různé velikosti základním objemovým prvkem je krychle 9 10 3D analogie kvadrantového stromu je-li vnitřek krychle nehomogenní, rozdělí se na osm částí (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 několikanásobné překreslování některých pixelů číslování oktantů závisí na konkrétní implementaci modelu, na způsobu jeho vytváření a zpracování nevýhody pouze aproximují tělesa nejsou příliš vhodné jako primární modely těles 11 model lze popsat grafem se stromovou strukturou 12 2
Constructive Solid Geometry (CSG) CSG strom CSG modely jsou založeny na teorii množin a jsou nejvhodnější pro interaktivní modelování těles CSG strom zachycuje postup konstrukce tělesa elementární geometrická tělesa snadno definovatelná a vyčíslitelná (poloprostor, koule, válec, kužel, kvádr, toroid) 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 maticové transformace 13 ((A + B) C) D = (A C D) + (B C D) = A.notC.notD + B.notC.notD 14 CSG transformace Regularizované množinové operace A B množinové operace nesmí změnit topologickou dimenzi tělesa! požadavek: uzavřenost modelů na množinové operace (sjednocení, průnik, rozdíl, doplněk) pojmy: hranice, vnitřek, uzávěr množiny Příklad: regularizovaný průnik vyloučí izolovanou stěnu 15 17 2) Povrchové reprezentace CSG vs. hraniční reprezentace hranová reprezentace tzv. drátový model pseudo-povrchová reprezentace pouze vrcholy a hrany těles (nelze použít pro výpočet viditelnosti) plošková reprezentace VEF(S) model kompletní topologická informace: seznamy vrcholů (vertex), hran (edge), stěn (face) a těles (solid) hraniční reprezentace tzv. okřídlená hrana redundantní informace pro rychlé vyhledávání sousedních objektů 18 19 3
Drátové modely Drátové modely hranová reprezentace je nejjednodušší a nejstarší obsahuje seznam vrcholů a hran úsporná struktura, minimum topologických informací drátový model nelze jednoznačně interpretovat! jeden model může reprezentovat několik různých těles! prosté zobrazení všech hran modelu neposkytuje dostatečnou informaci o tvaru tělesa, jeho pozici vzhledem k pozorovateli problém např. při řešení viditelnosti tělesa, objemu nebo těžiště 20 21 VEFS VEFS představitel tzv. ploškové reprezentace těleso je určeno seznamem rovinných plošek nejčastější případ: všechny plošky mají stejný počet vrcholů (trojúhelníky nebo čtyřúhelníky) rozšíření modelu vrcholů a hran o plochy (seznam stěn) povrch = množina nepřekrývajících se stěn (hrany a vrcholy) 22 23 Okřídlená hrana Okřídlená hrana představitel tzv. hraniční reprezentace hraniční modely jsou podobné ploškovým + podrobnější informace o topologii tělesa informace o vrcholech, hranách a plochách jsou vedeny v hybridní datové struktuře (tzv. okřídlená hrana) obsahuje cyklické seznamy vrcholů, hran a stěn a redundantní informace pro rychlé vyhledávání sousedících objektů z hybridního seznamu lze odvodit: stěny sousední s danou stěnou seznam hran vymezujících obvod stěny a díry ve stěně stěny se společnou danou hranou vrcholy dané stěny stěny stýkající se v daném vrcholu posloupnost hran tvořících hranici zvolené stěny každá hrana inciduje právě se dvěma stěnami 24 25 4
Okřídlená hrana Modely a zobrazení 26 27 Literatura Beneš, B., Felkel, P., Sochor, J., Žára, J. Moderní počítačová grafika. Computer Press: Brno, 2004. Beneš, B., Sochor, J., Žára, J. Algoritmy počítačové grafiky. ČVUT: Praha, 1996. Sochor, J.: Základy počítačové grafiky. FI MU: Brno, 2001. 28 5