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