what is subdivision based representation? subdivision...
Embed Size (px)
TRANSCRIPT
-
1
What is subdivision based
representation?
Subdivision Surfaces
15.12 Subdivision Surfaces
-
2
What is so special?
One piece
representation™
(arbitrary topology)
Multi-resolution
(Scalability)
Code
Simplicit
y
Covers both
polygon form and
surface form
(Uniformity)
Numerical
stability
-
3
One piece
representation™
-
4
Multi-resolution
(Scalability)
-
5
Covers both polygon form and surface form
(Uniformity of representation)
-
6
So, just what is a
subdivision surface?
Triangular
Loop Butterfly
QuadrilateralCatmull-Clark Doo-Sabin
-
7
Basic Concept (Catmull-Clark Scheme):
: vertices from mesh M0
, , : vertices to be generated for M1
e5
0
e4
0
e3
0
e2
0
e1
0
v0
Around a vertex v of degree 5
-
8
Basic Concept (Catmull-Clark Scheme):
Generating new face points
Face point: centroid of each face
f5
1f4
1
f3
1
f2
1f11
v0
: face point
-
9
Basic Concept (Catmull-Clark Scheme):
Generating new edge points
f5
1f4
1
f3
1
f2
1f11
v0
: edge point
e2
1
e11
e5
1
e3
1
e4
1
4
11
1
001 iiii
ffeve
-
10
Basic Concept (Catmull-Clark Scheme):
Generating new vertex points
f5
1f4
1
f3
1
f2
1f11
v0
: vertex point
e2
1
e11
e5
1
e3
1
e4
1
12
0
2
01 112ii f
ne
nv
n
nv
v1
-
11
Basic Concept (Catmull-Clark Scheme):
Forming new edges
f5
1f4
1
f3
1
f2
1f11
v0
: vertex point
e2
1
e11
e5
1
e3
1
e4
1
v1
-
12
• Repeatedly refining the control meshes,
one gets M0,M1,M2,M3, limit
surface (subdivision surface)
M0
M1
M2
M3
S = M∞
-
13
Modeling made much easier. Why?• No restrictions on the topology of the control points
• Local refinement is possible
NURBS Catmull-Clark
NURBS Catmull-Clark
-
14
Example of control meshes of
Catmull-Clark subdivision surfaces
-
15
Can model any kind of special features
(by modifying the subdivision rules)
-
16
Most importantly, can represent any shape with
just one surface
(one piece representation™)
One Piece Multi-Piece
Solid Modeling
-
17
Is One Piece Representation™ Good?
Data Management: Simpler
Rendering: More efficient
Machining: More precise
Animation: Crack free
-
18
Does this mean
the solid modeling area
is no longer needed?
-
19
What is subdivision based representation?
Subdivision Surfaces
?CAD/CAM
-
20
What is missing?
1. No parameterization
2. No error control
3. No adaptive tessellation
-
21
• Without error controlNo CAD/CAM applications
• Without parameterizationDifficult to perform picking, rendering, texture mapping
• Without adaptive tessellationToo expensive to use
-
22
A major breakthrough occurred in 1998
• Jos Stam
• Parameterization of Catmull-Clark
Subdivision Surfaces
• 1998
-
23
Work on Subdivision Surface
Parameterization
1. J. Stam (1998)
2. D. Zorin, D. Kristjansson (2002)
3. S. Lai, F. Cheng (2005)
-
24
J. Stam Lai/Cheng
(Discrete Fourier Transform)
The Extended Subdivision Diagram
Parameterization
-
25
Applications of the new
parameterization technique
• Surface Evaluation
• Texture Mapping
• Boolean Operations
• Surface Trimming
• Adaptive Tessellation
• Animation
-
26
Surface Evaluation
Fast, Exact Rendering
-
27
Texture Mapping1
1: Lai and Cheng, 2005
-
28
Texture Mapping1
1: Lai and Cheng, 2005
-
29
Texture Mapping1
1: Lai and Cheng, 2005
-
30
Boolean Operations2
2: Lai and Cheng, 2005
-
31
Surface Trimming2
2: Lai and Cheng, 2005
-
32
Adaptive Tessellation3
3: Lai and Cheng, 2005
-
33
What is error control?
-
34
Error Control: Given ε > 0, when would ║Mn - S║< ε ?
M0
M1
M2
Mn
S = M∞
Cross-Sectional View
Limit Surface
ε
-
35
What metric should we use to assess
║Mn - S║ for an extra-ordinary patch?
-
36
A solution is finally available…
• F. Cheng, G. Chen, J. Yong
• Subdivision Depth Computation for
Catmull-Clark Subdivision Surfaces
• 2005
-
37
This work is also important for adaptive subdivision5.
5: J. Yong, F. Cheng, (2004)
Control Mesh Limit Surface Uniform Subdivision Adaptive Subdivision
-
38
Basic Idea: Use unbalanced subdivision6 to
provide smooth transition between areas with
different densities
6: F. Cheng, J. Jaromczyk et al (1989)
2
0
0
0
-
12/9/2014 39University of Kentucky
Adaptive subdivision:input: a piecewise surface P and a subdivision level
assignment S
output: a triangular linear approximaiton P** of P
Three phases:Phase 1: define a label for each vertex of P
Phase 2: generate a gradrilateral subdivision mesh P*
of P
Phase 3: convert P* to a triangular linear approximation
P** of P
-
12/9/2014 40University of Kentucky
Phase 1:
/* F { f | f is a patch of P } */
for each vertex v of P do
L (v ) := max( {1} { S(f ) | f F, v is a vertex of f } )
-
12/9/2014 41University of Kentucky
Phase 2:
1. for each vertex v of P do
LABEL(v ) := L(v );
2. for each patch f of P do
Subdivide(f );
-
12/9/2014 42University of Kentucky
Subdivide(f : quadrilateral surface patch);
if (LABEL(v ) > 0 for more than one vertex of f )
then
balanced_sub( );
for i :=1 to 4 do
subdivide( );
else if (LABEL(v ) > 0 for only one vertex of f )
then
unbalanced_sub( );
for i :=1 to 3 do
subdivide( );
if
if
4321 ,,,, fffff
321 ,,, ffff
-
12/9/2014 43University of Kentucky
-
12/9/2014 44University of Kentucky
-
12/9/2014 45University of Kentucky
-
46
Example of adaptive subdivision
Significant savings
-
47
• Pixar’s Renderman
• Alias|Wavefront’s Maya
• Nichimen’s Mirai
• Newtek’s Lightwave 3D
Subdivision surfaces have already
been used in
http://www.pixar.com/index.html
-
48
Question:
“Is subdivision the representation scheme for
future visualization & animation applications?”
-
49
The End
-
50
Acknowledgement:
• Research work presented here is supported
by NSF (DMS-0310645, DMI-0422126).
• Some datasets are taken from P. Schroeder,
D. Zorin, L. Kobbelt, H. Hoppe.
-
51
-
52