T i

Transkript

T i
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
AB
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

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 ...

Více

Uložte dění na obrazovce do videosoubor - Architektura

Uložte dění na obrazovce do videosoubor - Architektura Napsal uživatel Michal Záhora Pondělí, 25 Srpen 2008 21:41

Více

Stáhnout

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...

Více

BotNet Feed Buletin

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...

Více

Geometrické a poc´ıtacové modelován´ı

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...

Více

Úvod do používání COMSOL Multiphysics v modelování

Ú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...

Více

KRÁLOVOPOLSKÁ STRESS ANALYSIS GROUP sro

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...

Více

7. Dosažené výsledky - DCGI - České vysoké učení technické v Praze

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...

Více

Výroční zpráva za rok 2013

Výroční zpráva za rok 2013 www.opzp.cz  Zelená linka: 800 260 500  [email protected]

Více