Title: Subdivision Surfaces
1Subdivision Surfaces
- Computational Geometry Presentation
- Adam Lake
2Motivation
- Scalability across machines
- Speed of evaluation
- LOD in a scene
- Topological restrictions of NURBS surfaces
- Planes, Cylinders, and Torii
3Motivation
- 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!!
4Subdivisions 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
52D subdivision curve example
- De Casteljau curve Foley90
P2
P3
P4
P1
62D subdivision curve example
- De Casteljau curve Foley90
H(P2P3)/2
P2
P3
R2(HR3)/2
L3(L2H)/2
L2(P1P2)/2
L4R1(L3R2)/2
R3(P3P4)/2
P4R4
P1L1
73D subdivision surface example
8Major categories of subdivision surfaces
- Catmull-Clark Catmull78
- Doo-Sabin Doo78
- Loop Loop87
- Butterfly scheme Dyn90
9Subdivision 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. Vv1,v2,v3vn,
vi in R3 is a set of vertex positions defining
the shape of the mesh in R3. Example V0,0,0
,1,0,0,0,0,1 Simplical complex K vertices
1,2,3 edges 1,2,2,3,1,3 faces
1,2,3
2
1
3
10B-Spline Patch Splitting
The Bicubic B-Spline Patch can be expressed as
Where
11B-Spline Patch Splitting
- Now, consider a subdivision scheme for
0ltu,vlt1/2 and introduce a matrix - In order to obtain the same patch we must have
12B-Spline Patch Splitting
This is known as the splitting matrix. Note
Mistake in original paper!!!
13B-Spline Patch Splitting
p31
p21
14B-Spline Patch Splitting
p11
15Arbitrary Topology
- 3 types of points
- Face
- Edge
- Vertex
- Edges formed by 2 rules
- Subdivision surface is the LIMIT surface
16Arbitrary Topology
- New face points
- Average of all old points defining the face.
- Example
17Arbitrary Topology
- New edge points
- Average midpoints of old edge with average of the
two new face points of faces sharing edge - Example
18Arbitrary Topology
- Qaverage of the new face points of all faces
adjacent to the old vertex point - Raverage of the midpoints of all old edges
incident on the old vertex points - Sold vertex point
19Arbitrary 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
20Extraordinary points
- Previous method generates continuous surfaces
except at extraordinary points - Extraordinary points have valence other than 4
N5
N3
Extraordinary points
21Doo-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.
22Bi-quadratic surfaces
- Applying the method for bi-cubic can also be used
to derive bi-quadratic surfaces.
23Recap
- 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
24Next
- 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
25Subdivision Surfaces in character animation
DeRose98
- Used for first time in Geris game to overcome
topological restriction of NURBS - Modeled Geris head, hands, jacket, pants, shirt,
tie, and shoes - Developed cloth simulation methods
- Method to construct scalar fields enabling use of
programmable shaders
26Why 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
B-splines, makes it easier to use in-house and
commercial systems (Renderman and
Alias-Wavefront).
27Hybrid 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
28Subdivision Surfaces in character animation
- Implemented in Renderman
- Shows subdivision surfaces can be used in high
end rendering
29Non-uniform subdivision surfaces Sederberg98
30Non-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.
31Non-uniform subdivision surfaces
322D Non-uniform subdivision surfaces
333D Non-uniform subdivision surfaces
34Exact Evaluation of Catmull-Clark Surfaces at
arbitrary parameter values Stam98
35Exact Evaluation of Catmull-Clark 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.
36First 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.
37MAPS Multiresolution Adaptive Parameterization
of Surfaces Lee98
38MAPS Multiresolution Adaptive Parameterization
of Surfaces Lee98
Note Great computational geometry paper!!
39Step 1A scanned input mesh
- Acquired via laser range scanning or MRI
volumetric imaging followed by isosurface
extraction - Arbitrary topology
- Irregular structure
- Tremendous size
40Step 2 Via mesh simplification, obtain the
parameter or base domain
- During simplification, building a topological
representation for O(nlgn) multiresolution
representation.
41Step 2 Via mesh simplification, obtain the
parameter or base domain
42Step 3 Assign triangles in original mesh to
their base domain triangle (during 1-gt2)
43Step 4 Adaptive Remeshing with subdivision
connectivity (epsilon 1)
Uniform mesh obtained via Loop scheme Interested
in smooth parameterizations, not simplification!!
44Step 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.
45Step 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).
46Step 4 (details)
Smoothed mesh using modified Loop simplification
scheme
47Step 5 Multiresolution editing
Smooth parameterization allows efficient mesh
modification. Texture coordinates and polygons
nicely behaved.
48Summary
- Who developed them?
- Catmull-Clark
- Doo-Sabin
- Loop
- Dyn (butterfly)
- Recent work
- DeRose, Sederberg, Lee, Stam
49Summary
- What are they?
- Mesh based representation of geometry
- Defined recursively
- Many levels of fidelity
50Summary
- Where can they be used?
- Animation
- CAD modeling
- Game engines
- more?
51Summary
- Why are they useful?
- Scalable
- LODs
- Efficient to implement
52Summary
53References
- 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.