Subdivision Surfaces
description
Transcript of Subdivision Surfaces
![Page 1: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/1.jpg)
Subdivision Surfaces
Introduction to Computer Graphics
CSE 470/598Arizona State University
Dianne Hansford
![Page 2: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/2.jpg)
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
![Page 3: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/3.jpg)
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
![Page 4: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/4.jpg)
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.)
![Page 5: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/5.jpg)
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
![Page 6: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/6.jpg)
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
![Page 7: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/7.jpg)
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
![Page 8: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/8.jpg)
Doo-Sabin
Input: polyhedral mesh
one-levelofsubdivision
many levelsofsubdivision
![Page 9: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/9.jpg)
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
![Page 10: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/10.jpg)
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
![Page 11: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/11.jpg)
Catmull-Clark
Input: polyhedral mesh
one-levelofsubdivision
many-levelsof subdivision
![Page 12: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/12.jpg)
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
![Page 13: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/13.jpg)
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)
![Page 14: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/14.jpg)
Let’s compare D-S
C-C
![Page 15: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/15.jpg)
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
![Page 16: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/16.jpg)
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!
![Page 17: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/17.jpg)
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
![Page 18: Subdivision Surfaces](https://reader035.fdocuments.us/reader035/viewer/2022062519/5681544c550346895dc2653e/html5/thumbnails/18.jpg)
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