CS 679 Project - Subdivision Surfaces


Bonny Liu

I have implemented 4 subdivision schemes for my project:

Catmull-Clark


Here is an example (a cube) of the Catmull-Clark scheme:

Original Cube
One level of subdivision
Two levels
Three levels
Four levels
Four levels of subdivision with normals. The vertex normals are obtained by averaging the normals of adjacent triangles.
Another example (to illustration the boundary cases are handled correctly):
Original patch
3 levels of Catmull Clark subdivision
 

Peter

Cube, 6 levels of Peter subdivision
 
 

Loop


 

Modified-Butterfly


Note: "Zig-Zag" triangulation is not symmetrical in general, both with Loop or Modified butterfly scheme.
 
 

The followings are subdivisions of Loop and Modified Butterfly schemes. (Cube)  They are to illustrate the difference of the two triangulation methods.Modified Butterfly (4 levels, Zig-Zag triangulation)
Loop (3 levels, Zig-Zag triangulation).  NOTE: might be hard to see, but it's not symmetrical
Modified Butterfly (4 levels, mid-point triangulation) NOTE: it tries to interpolate the face mid-points.
Loop (3 levels, midpoint triangulation)
 
 
 

I have compared the above schemes using some models:
 


Original model
Catmull Clark (3 levels)
Peter (6 levels)
Loop (3 levels)
Modified Butterfly (4 levels)
 
 
 
 
 

Original model
Catmull Clark (3 levels)
Peter (3 levels)
Loop (3 levels)
Modified Butterfly (3 levles)
 
 
 
 
Observations:

 


Original Model

Catmull Clark (2 levels)

Peter (2 levels)
Loop (2 levels)
Modified Butterfly (2 levels)
 

Observations

 

Assumptions of my program


Special thanks to Ian Bell and Vincent Ma for their help.