Subdivision Surfaces Introduction to Computer Graphics CSE 470598
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. ucdavis. edu http: //eros. cagd. eas. asu. edu/~farin/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
- Slides: 18