Subdivision Surfaces
Download
Report
Transcript Subdivision Surfaces
Subdivision Surfaces
Introduction to Computer
Graphics
CSE 470/598
Arizona State University
Dianne Hansford
Overview
• What are subdivision surfaces in a nutshell ?
• Advantages
• Chaiken’s algorithm
The curves that started it all
• Classic methods
Doo-Sabin and Catmull-Clark
• Extensions on the concept
What is subdivision?
Input:
polygon or
polyhedral mesh
Process:
repeatedly refine
(subdivide) geometry
Output:
“smooth” curve
or surface
http://www.multires.caltech.edu/teaching/demos/java/chaikin.htm
Advantages
• Easy to make
complex geometry
• Rendering very
efficient
• Animation tools
“easily” developed
Pixar’s A Bug’s Life
first feature film to use
subdivision surfaces.
(Toy Story used NURBS.)
Disadvantages
• Precision difficult to specify in general
• Analysis of smoothness very difficult to
determine for a new method
• No underlying parametrization
Evaluation at a particular point difficult
Chaiken’s Algorithm
Chaiken published in ’74
An algorithm for high speed curve generation
a corner cutting method
on each edge: ratios 1:3 and 3:1
Chaiken’s Algorithm
Riesenfeld (Utah) ’75
Realized Chaiken’s algorithm an evaluation method
for quadratic B-spline curves (parametric curves)
Theoretical foundation sparked more interest in idea.
Subdivision surface schemes
Doo-Sabin
Catmull-Clark
Doo-Sabin
one-level
of
subdivision
Input: polyhedral mesh
many levels
of
subdivision
Doo-Sabin ‘78
Generalization of Chaiken’s idea to biquadratic B-spline surfaces
Input: Polyhedral mesh
Algorithm:
1) Form points within each face
2) Connect points to form new faces:
F-faces, E-faces, V-faces
Repeat ...
Output: polyhedral mesh;
mostly 4-sided faces
except some F- & V-faces;
valence = 4 everywhere
Doo-Sabin
Repeatedly subdivide ... Math analysis will say that a
subdivision scheme’s smoothness tends to be the same
everywhere but at isolated points.
extraordinary points
Doo-Sabin: non-four-sided patches become
extraordinary points
Catmull-Clark
Input: polyhedral mesh
one-level
of
subdivision
many-levels
of
subdivision
Catmull-Clark
‘78
Generalization of Chaiken’s idea to bicubic B-spline surfaces
Input: Polyhedral mesh
Algorithm:
1) Form F-vertices: centroid
of face’s vertices
2) Form E-points: combo of
edge vertices and F-points
3) Form V-points: average of
edge midpoints
4) Form new faces (F-E-V-E)
Repeat....
Output: mesh with all 4-sided
faces but valence not = 4
CC - Extraordinary
Valence not = 4
1) Input mesh had valence not = 4
2) Face with n>4 sides
Creates extraordinary vertex (in limit)
(Remember: smoothness less there)
Let’s compare
D-S
C-C
Convex Combos
Note: D-S & C-C use convex combinations !
(Weighting of each point in [0,1])
Guarantees the following properties:
new points in convex hull of old
local control
affinely invariant
(All schemes use barycentric combinations)
See references at end for exact equations
Data Structures
Each scheme demands a slightly different
structure to be most efficient
Basic structure for mesh must exist plus more
info
Schemes tend to have bias – faces, vertices,
edges .... as foundation of method
Lots of room for creativity!
Extensions
Many schemes have been developed since....
more control (notice sharp edges)
See NYU reference for variety of schemes
interpolation
(butterfly scheme)
Pixar: tailored for animation
References
•
Ken Joy’s class notes
•
Gerald Farin & DCH
The Essentials of CAGD, AK Peters
http://graphics.cs.ucdavis.edu
http://eros.cagd.eas.asu.edu/~farin/essbook/essbook.html
•
Joe Warren & Heinrik Weimer
•
NYU Media Lab
•
CGW article
www.subdivision.org
http://www.mrl.nyu.edu/projects/subdivision/
http://cgw.pennnet.com/Articles/Article_Display.cfm?Section=Articles&Subsection=Display&
ARTICLE_ID=196304