CSCI 599: Digital Geometry Processing
Hao Li
http://cs599.hao-li.com
1
Spring 2015
1.2 Surface Representation & Data Structures Hao Li - - PowerPoint PPT Presentation
Spring 2015 CSCI 599: Digital Geometry Processing 1.2 Surface Representation & Data Structures Hao Li http://cs599.hao-li.com 1 Administrative No class next Tuesday, due to Siggraph deadline Introduction to first programming
CSCI 599: Digital Geometry Processing
http://cs599.hao-li.com
1
Spring 2015
2
Siggraph Deadline 2013@ILM, Ewww!
3
4
Reconstruction Geometry Processing Capture Analysis Manipulation Rendering Reproduction
5
implicit surfaces / particles volumetric tetrahedrons point based quad mesh triangle mesh
6
implicit surfaces / particles volumetric tetrahedrons point based quad mesh triangle mesh
7
8
9
10
r
11
12
13
f(t) =
p
ci ti =
p
˜ ci φi(t) f(ti) = g(ti) , 0 ≤ t0 < · · · < tp ≤ h |f(t) − g(t)| ≤ 1 (p + 1)! max f (p+1)
p
⇤
i=0
(t − ti) = O
g(h) =
p
⇤
i=0
1 i! g(i)(0) hi + O
14
t
15
3 6 12 24
25% 6.5% 1.7% 0.4%
16
17
18
19
20
21
22
A B C D E F G H I J K
23
A B C D E F G H I J K
24
A B C D E F G H I J K
25
A B C D E F G H I J K
26
A B C D E F G H I J K
27
A B C D E F G H I J K
Path of edges connecting every two vertices
28
A B C D E F G H I J K
Path of edges connecting every two vertices
Graph {V’,E’} is a subgraph of graph {V,E} if V’ is a subset of V and E’ is a subset of E incident on V’.
29
A B C D E F G H I J K
Path of edges connecting every two vertices
Graph {V’,E’} is a subgraph of graph {V,E} if V’ is a subset of V and E’ is a subset of E incident on V’.
30
A B C D E F G H I J K
Path of edges connecting every two vertices
Graph {V’,E’} is a subgraph of graph {V,E} if V’ is a subset of V and E’ is a subset of E incident on V’.
Maximally connected subgraph
31
A B C D E F G H I J K
Path of edges connecting every two vertices
Graph {V’,E’} is a subgraph of graph {V,E} if V’ is a subset of V and E’ is a subset of E incident on V’.
Maximally connected subgraph
32
Embedding in Embedding in
33
Embedding in R3
34
Graph whose vertices and edges can be embedded in such that its edges do not intersect
Planar Graph Plane Graph Straight Line Plane Graph
35
A B C D E F G H I J K
Straight line plane graph where every face is a triangle
36
embedded in
exactly 1 face
exactly 2 faces
more than 2 faces
boundary edges
37
38
39
called edges of the polygonal mesh and are either empty or form a single closed polygon
40
41
42
curves that do not disconnect the graph into multiple components.
no disconnect the mesh
Genus 0 Genus 1 Genus 2 Genus 3
43
is given by Euler’s formula:
44
45
46
47
48
Sphere Torus Moebius Strip Klein Bottle
49
50
Any closed surface of genus 0 consisting only of hexagons and pentagons and where every vertex has valence 3 must have exactly 12 pentagons
51
Local neighborhoods are disk-shaped
52
53
54
55
56
57
(since they encode connectivity)
58
Triangles x x x x x x ... ... ... x x x
9*4 = 36 B/f (single precision) 72 B/v (Euler Poincaré)
59
Vertices x ... x Triangles i ... ... ... ... i
12 B/v + 12 B/f = 36B/v
60
64 B/v
handling for arbitrary polygons
61
62
120 B/v
special case handling for neighbors
63
96 to 144 B/v
runtime overhead due to arbitrary faces
64
65
66
67
68
69
70
71
72
meshes (not in CGAL)
meshes (not in CGAL)
73
for polyhedral surfaces, Symp. on Comp. Geom., 1998
Triangle Meshes, Journal of Graphics Tools 4(3), 1998
structure, OpenSG Symp. 2002
74
75
76