Subdivision Surfaces Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford
Jan 26, 2016
Subdivision Surfaces
Introduction to Computer Graphics
CSE 470/598Arizona 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 usesubdivision 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 parametrizationEvaluation at a particular point difficult
Chaiken’s AlgorithmChaiken 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) ’75Realized Chaiken’s algorithm an evaluation method for quadratic B-spline curves (parametric curves)
Theoretical foundation sparked more interest in idea.
Subdivision surface schemesDoo-SabinCatmull-Clark
Doo-Sabin
Input: polyhedral mesh
one-levelofsubdivision
many levelsofsubdivision
Doo-Sabin ‘78Generalization of Chaiken’s idea to biquadratic B-spline surfaces
Input: Polyhedral meshAlgorithm: 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-levelofsubdivision
many-levelsof subdivision
Catmull-Clark ‘78
Input: Polyhedral meshAlgorithm:1) Form F-vertices: centroid
of face’s vertices2) 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
Generalization of Chaiken’s idea to bicubic B-spline surfaces
CC - Extraordinary
Valence not = 41) Input mesh had valence not = 42) 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!
ExtensionsMany 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
http://graphics.cs.ucdavis.edu
• Gerald Farin & DCHThe Essentials of CAGD, AK Petershttp://eros.cagd.eas.asu.edu/~farin/essbook/essbook.html
• Joe Warren & Heinrik Weimer www.subdivision.org
• NYU Media Labhttp://www.mrl.nyu.edu/projects/subdivision/
• CGW articlehttp://cgw.pennnet.com/Articles/Article_Display.cfm?Section=Articles&Subsection=Display&ARTICLE_ID=196304