Subdivision Surfaces
CS779 Project by Alex Lau - Winter 2003
For my CS779 project I've decided to implement four subdivisional schemes
and compare them.
I'll briefly talk about the major milestones I achieved while working on
my project.
- ADT Mesh
- In order for me to implement subdivisional schemes, I needed to
store the surface data in a form where adjacency information is readily availble.
- I chose the Half-Edge data structure to store my adjacency information
since it seems to be fairly efficient at answering typical adjacency queries
associated with subdivisional schemes.
- I then wrapped the Half-Edge data structure with an ADT Mesh. The
ADT Mesh abstracted away the Half-Edge data structure and provided tools (eg
iterators, circulators) to answer adjacency queries.
- Loop
- Using my ADT Mesh, I implemented the Loop subdivisional scheme
- I also implemented Loop's boundary rules.
- Sqrt(3)
- Using my ADT Mesh, I implemented the Sqrt(3) subdivional scheme
proposed by Kobbelt
- I also implemented Sqrt(3) boundary rules.
- Peters
- Using my ADT Mesh, I implemented the Peters subdivisional scheme.
- Modified Butterfly
- Using my ADT Mesh, I implemented the Modified Butterfly scheme proposed
by Zorin et al.
- I also implemented the boundary rules suggested by the Modified
Butterfly scheme.
- GUI
- Lastly I implemented a GUI in Swing to control the subdivision process
of the models
What I did NOT do :
I did NOT implement a renderer. The application is able to
read data from *.iv, *.obj, *.s3d and *.m files and output the subdivided
images to *.iv and *.s3d files. The subdivided images are then viewed
with either ivview (*.iv) or cglv (*.s3d).
Gallery
Downloads
References :
Kobbelt, Leif - Sqrt(3) Subdivision - 2000
Bischoff Stephan et al. - Towards Hardware Implementation of Loop Subdivision
Dyn et al. - A Butterfly Subdivision Scheme for Surface Interpolation with
Tension Control - 1990
Zorin et al. - Interpolating Subdivision for Meshes with Arbitrary Topology
Loop Charles - Smooth Subdivision Surfaces Based on Triangles - 1987
Peters et al. - The Simplest Subdivision Scheme for Smoothing Polyhedra -
1997