Survey on Subdivision Surfaces

advertisement
Subdivision Surfaces
Computational Geometry Presentation
Adam Lake
Motivation
•
•
•
•
Scalability across machines
Speed of evaluation
LOD in a scene
Topological restrictions of NURBS surfaces
– Planes, Cylinders, and Torii
Motivation
– Trimming is expensive and prone to numerical
error
– It is difficult to maintain smoothness at seams
of patchwork.
• Example: hiding seams in Woody (Toy Story)
[DeRose98]
• Advantage of NURBS: Trimmed NURBS
are readily available in commercial
systems!!
Subdivisions of Talk
•
•
•
•
•
•
2D and 3D Examples
Give data structure for geometry
Define B-spline curve
Derive splitting matrix for bicubics
Define arbitrary topology splitting rules
Define extraordinary vertices, Doo-Sabin
surfaces
2D subdivision curve example
• De Casteljau curve [Foley90]
P2
P3
P4
P1
2D subdivision curve example
• De Casteljau curve [Foley90]
P2
L3=(L2+H)/2
L2=(P1+P2)/2
P1=L1
H=(P2+P3)/2
P3
R2=(H+R3)/2
L4=R1=(L3+R2)/2
R3=(P3+P4)/2
P4=R4
3D subdivision surface example
Major categories of subdivision
surfaces
*
•
•
•
Catmull-Clark [Catmull78]
Doo-Sabin [Doo78]
Loop [Loop87]
Butterfly scheme [Dyn90]
Subdivision Surface Data
Structure
A mesh is a pair (K,V) where K is a simplical complex representing
connectivity of the vertices, edges, and faces. Determines topological type
of the mesh. V={v1,v2,v3…vn}, vi in R^3 is a set of vertex positions
defining the shape of the mesh in R^3.
Example:
V={[0,0,0],[1,0,0],[0,0,1]}
2
Simplical complex K:
vertices: {1},{2},{3}
edges: {1,2},{2,3},{1,3}
faces: {1,2,3}
1
3
B-Spline Patch Splitting
The Bicubic B-Spline Patch can be expressed as:
S (u, v)  UMGM tV t
Where:
 1 3  3

1  3 6 3
M
3
6  3 0

4
1
1
U  [u 3 u 2 u 1]
V  [v 3 v 2 v 1]
1
 P11
P
0
, G   21
 P31
0


0
 P41
P12
P22
P13
P23
P32
P42
P33
P43
P14 
P24 
P34 

P44 
B-Spline Patch Splitting
• Now, consider a subdivision scheme for
0<=u,v<=1/2 and introduce a matrix
1
8

0
S  
0


0
0
0
1
4
0
0
0
1
2
0

0

0

0

1

• In order to obtain the same patch we must
have:
G  [ M 1SM ]G[ M t SM t ]
B-Spline Patch Splitting
• Assuming M is invertible:
4
1
1
1
M SM 
8 0

0
4 0 0
6 1 0
4 4 0

1 6 1
This is known as the splitting matrix.
Note: Mistake in original paper!!!
B-Spline Patch Splitting
( p  p12  p13  p14 )
q11  11
4
CD
p  p22
q12  ( 2  12
)
2
2
C  q11
D  q13 
p41
p42
p43
p44
p31
p34
p21
p24
p12  p13  p22  p23
4
p12
p11
p13
q12
q11
q21
q22
p14
B-Spline Patch Splitting
p
Q
R
q    22
22 4 2 4
where
(q  q  q  q )
Q  11 13 31 33
4
and
( p  p ) ( p  p ) ( p  p ) ( p  p )
1
R   22 12  22 21  22 32  22 23 

4
2
2
2
2

p41
p42
p43
p44
p34

p24
p12
p11
p13
q12
q11
q21
q22
p14
Arbitrary Topology
• 3 types of points
– Face
– Edge
– Vertex
• Edges formed by 2 rules
• Subdivision surface is the LIMIT surface
Arbitrary Topology
• New face points
– Average of all old points defining the face.
– Example
Arbitrary Topology
• New edge points
– Average midpoints of old edge with average of
the two new face points of faces sharing edge
– Example
Arbitrary Topology
• New vertex points
•Q=average of the new face points of all
faces adjacent to the old vertex point
•R=average of the midpoints of all old
edges incident on the old vertex points
•S=old vertex point
Arbitrary Topology
• New edges formed by:
– Connecting each new face point to new edge
points of edges defining the old face
– Connecting each new vertex point to the new
points of all old edges incident to old vertex
point
– Example
Extraordinary points
• Previous method generates continuous
surfaces except at extraordinary points
– Extraordinary points have valence other than 4
N=5
N=3
Extraordinary points
Doo-Sabin Surfaces
• Doo-Sabin showed via Eigenanalysis that at
extraordinary points the surface is
discontinuous and proposed modified rules
to maintain continuity in the surface
[Doo78].
• The improved formulation is known as
Doo-Sabin surfaces.
Bi-quadratic surfaces
• Applying the method for bi-cubic can also
be used to derive bi-quadratic surfaces.
Recap
• So far:
–
–
–
–
–
–
2D and 3D examples
Data structure for geometry
Defined B-spline curve
Derived the splitting matrix for bicubics
Defined arbitrary topology splitting rules
Defined extraordinary vertices, Doo Sabin
surfaces
Next
• Subdivision surfaces in Character
Animation [DeRose98]
• Non-uniform Subdivision Surfaces
[Sederberg98]
• Exact Evaluation of Catmull Clark surfaces
at arbitrary parameter values [Stam98]
• MAPS: Multiresolution Adaptive
Parameterization of Surfaces [Lee98]
Subdivision Surfaces in character
animation [DeRose98]
• Used for first time in
Geri’s game to overcome
topological restriction of
NURBS
• Modeled Geri’s head,
hands, jacket, pants, shirt,
tie, and shoes
• Developed cloth
simulation methods
• Method to construct scalar
fields enabling use of
programmable shaders
Why Catmull-Clark?
• Quads are better than tris at capturing the
symmetries of natural and man-made objects.
Tube like surfaces (arms, legs, fingers) are easier
to model.
• Generalize uniform tensor product cubic Bsplines, makes it easier to use in-house and
commercial systems (Renderman and AliasWavefront).
Hybrid subdivision
• Hoppe wrote about smooth surfaces with infinitely
sharp creases.
• DeRose generalizes this to semi-sharp creases
– Select certain vertices to use rules to subdivide to a
specific level, then switch to another subdivision
scheme applied to the limit.
• Sharp at coarse scales, smooth at finer scales
• Calls this hybrid subdivision
Subdivision Surfaces in character
animation
• Implemented in
Renderman
• Shows subdivision
surfaces can be used in
high end rendering
Non-uniform subdivision
surfaces [Sederberg98]
Non-uniform subdivision
surfaces [Sederberg98]
[Cannot be represented
as NURB nor uniform
Catmull Clark]
• For a non-uniform surface, each vertex is
assigned a knot spacing that may be
different from each edge radiating from it.
• If all knot intervals are equal, back to
regular Catmull-Clark or Doo-Sabin.
Non-uniform subdivision
surfaces
n 1
w P
F
i i
i 0
n 1
w
, where wi  (d i01,i  d i21,i  d i21,i  d i0 2,i 1  d i2 2,i 1  d i22,i 1 )  (d i01,i  d i01,i  d i21,i  d i0 2,i 1  d i2 2,i 1  d i22,i 1 )
i
i 0
E  (1   ij   ji ) M   ij Fij   ji F ji , where  ij 
M
(d 0ji  d 2ji  d ji2 ) Pi  (d ij0  d ij2  d ij 2 ) Pj
(d 0ji  d 2ji  d ji2  d ij0  d ij2  d ij 2 )
n
V  cP0 
3 (mi M i  f i ,i 1 Fi ,i 1 )
i 1
n
n (mi  f i ,i 1 )
i 1
1
0i
mi  (d  d )( d 02i  d 0i2 ) / 2
1
0i
f ij  d 01i d 01j
c
n3
n
d 1ji  d ji1
2(d 1ji  d ij1  d ji1  d ij1 )
2D Non-uniform subdivision
surfaces
3D Non-uniform subdivision
surfaces
Exact Evaluation of CatmullClark Surfaces at arbitrary
parameter values [Stam98]
Exact Evaluation of CatmullClark Surfaces at arbitrary
parameter values [Stam98]
• Disproves belief that Catmull Clark surfaces
cannot be evaluated w/o explicit subdividing.
• Uses a set of eigenbasis functions and derive
analytical expressions for these functions.
• Cost comparable to that of a bi-cubic B-spline.
• Allows algorithms developed for parametric
surfaces to be applied to Catmull-Clark surfaces.
First high resolution plots around
regions of high curvature
Extraordinary point in
center. Patches using
technique are in blue.
Derivative information is
computed and displayed
in model on right.
MAPS: Multiresolution
Adaptive Parameterization of
Surfaces [Lee98]
MAPS: Multiresolution
Adaptive Parameterization of
Surfaces [Lee98]
Note: Great computational geometry paper!!
Step 1:A scanned input mesh
•Acquired via laser
range scanning or
MRI volumetric
imaging followed by
isosurface extraction
•Arbitrary topology
•Irregular structure
•Tremendous size
Step 2: Via mesh simplification,
obtain the parameter or base
domain
• During simplification,
building a topological
representation for
O(nlgn)
multiresolution
representation.
Step 2: Via mesh simplification,
obtain the parameter or base
domain
Step 3: Assign triangles in
original mesh to their base
domain triangle (during 1->2)
+
=
Step 4: Adaptive Remeshing
with subdivision connectivity
(epsilon = 1%)
Uniform mesh
obtained via Loop
scheme
Interested in smooth
parameterizations,
not simplification!!
Step 4 (detail)
Motivation
• Assume a smooth parameterization within
each subdomain (see paper for details)
• One way to obtain global smoothness would
be to minimize a global smoothness
functional.
– Requires PDE solver.
– Found that this is needlessly cumbersome.
• Instead, use simpler and cheaper smoothing
technique based on Loop subdivision.
Step 4 (detail)
Modified Loop Scheme
• If all points of stencil needed for computing
new point or smoothing old point are inside
same triangle of base domain, add Loop
weights and new points will be in the same
face
• If stencil stretches across 2 faces, flatten
using hinge map at common edge.
• If stencil stretches across multiple faces, use
a conformal flattening strategy (see paper).
Step 4 (details)
Smoothed mesh using modified Loop
simplification scheme
Step 5: Multiresolution editing
Smooth
parameterization allows
efficient mesh
modification.
Texture coordinates and
polygons nicely
behaved.
Summary
• Who developed them?
–
–
–
–
–
Catmull-Clark
Doo-Sabin
Loop
Dyn (butterfly)
Recent work
• DeRose, Sederberg,
Lee, Stam
Summary
• What are they?
– Mesh based
representation of
geometry
– Defined recursively
– Many levels of fidelity
Summary
• Where can they be
used?
–
–
–
–
Animation
CAD modeling
Game engines
more?
Summary
• Why are they useful?
– Scalable
– LODs
– Efficient to implement
Summary
• How to
IMPLEMENT!!
References
•
•
•
•
•
•
•
•
•
DeRose, Tony, Michael Kass, and Tien Truong. Subdivision Surfaces in Character
Animation. SIGGRAPH 98.
Clark, E., and J. Clark. Recursively generated B-spline surfaces on arbitrary topological
meshes. Computer Aided Geometric Design, Vol. 10, No. 6, 1978.
Stam, Joe. Exact Evaluation of Catmull-Clark Subdivision Surfaces At Arbitrary
Parameter Values. SIGGRAPH 98.
Lee, Aaron W.F., Wim Swelders, Peter Schroeder, Lawrence Cowsar, David Dobkin.
MAPS: Multiresolution Adaptive Parameterization of Surrfaces. SIGGRAPH 98.
Sederberg, Thomas W., David Sewell, Malcolm Sabin. Non-Uniform Recursive
Subdivision Surfaces. SIGGRAPH 98.
Foley, James D., Andries van Dam, Steven Feiner, John Hughes. Computer Graphics
Principles and Practice, 2nd Edition. Pages 507-510. 1990.
Loop, C.T. Smooth Subdivision Surfaces Based on Triangles. M.S.Thesis. Department
of Mathematics. University of Utah. August 1987.
Doo, D. and M. Sabin. Behavior of Recursive Division Surfaces Near Extraordinary
Points. Computer-Aided Design. Vol. 10, No. 6, 1978.
Dyn, Nyra, David Leven, John Gregory. A butterfly subdivision scheme for surface
interpolation with tension control. ACM Transactions on Graphics, 9(2):160-169, April
1990.
Download