CS679 Project - Subdivision Surfaces, 2001
Qi Zhang
Subdivision surfaces are a way to describe a surface using a polygonal
model. In this project, I implemented three subdivision schemes for
closed surfaces. They are the Catmull-Clark's scheme, Peter's scheme and
Loop's scheme. I made a visual comparison between them, and I found
that they all have advantages and shortcomings. Different scheme
is most suitable for different original control mesh:
-
Catmull-Clark's scheme: it is one of the early subdivision schemes,
which generalized bicubic uniform B-spline surface refinement to arbitrary
topology except around certain extraordinary points. For most kinds of
control mesh, this scheme can get good results, it can maintain the corner
information and can approximate the original control model, especially
for the situation that the control mesh is composed of four-sided polygons.
But when we want to obtain complicated models, although the refined result
is good enough, the speed of this method is not fast. Through experiment,
I found that if we want to smooth a column with two parallel n-sided faces,
or want to approximate a triangular model, this method is not as good as
Peter's or Loop's. But overall, this scheme is the best one for designing
complicated models in these three schemes.
-
Peter's scheme: this method is constructing a new polyhedron by
connecting every edge-midpoint to its four neighbouring edge-midpoints
of the given polyhedron, which will produce a C¹ piecewise quadratic
surface except at a finite number of isolated points. One of the advantages
of this scheme is that it is straightforward and easy to implement, the
anther advantage is that it can use less control points, i.e. less cost
of computation to get satisfactorily smooth model, so its speed is faster
than that of the other two algorithms. But the main disadvantage is that
it looses the corner information. For most situations, it doesn't maintain
the shape of the original model, so it is difficult for us to control the
shape of the refined model, especially for the triangular case, the result
got by this method is bad; another shortcoming of this scheme is that its
convergence rate is slower than that of the other two methods. In the case
of tringular control mesh, the convergence rate of Loop's scheme is almost
the same as that of Catmull-Clark's.
-
Loop's scheme: this scheme is a generalization of the C² quartic
triangular B-spline. The refinement step is that by splitting each triangular
face into four sub-faces. The vertices of the refined mesh are positioned
using weighted averages of the vertices in the unrefined mesh. For the
situation that the original model is triangular, or is the combination
of several triangular objects, this method can effectively maintain the
corner information and the shape of the original model, and the refined
result is smoother and has less extraordinary points than the corresponding
ones obtained by the other two schemes. Its computing speed is almost the
same as that of Catmull-Clark's, but is slower than that of Peter's. The
disadvantage of this method is that its control net must be triangular,
not as that of the other two methods, whose control net can be arbitrary
side polygon. Because of this, we need more control points to get satisfactory
result, and it is difficult for us to compute the value of the control
points in the original model, especially in the case of designing complicated
models. In order to improve the results, sometimes we have to consider
the symmetry of the control triangular net, but we will need more control
points and computing time to satisfy this condition.
For the schemes of Catmull-Clark's and Loop's, I also added the
"Infinitely
Sharp Creases" technology, which modifies the subdivision rules in
the neighbourhood of the sharp feature. It can make us to get the sharp
points, edges and faces. When it is combined with the original methods
during the subdivision, we can get special effect in the final refined
models. In my project, we can give the sharp information when we begin
to run the program, or we can add this information to the data files when
designing the original model, it is only a 0/1 flag of the edges, so the
data structure is simple and it is easy to implement.
During the process of doing this project, I feel that for the technology
of surface subdivision, it is important to design an efficient input data
file format, so the users can easily input the information of the original
model, especially in the case of designing complicated objects; and it
is also very important and not easy to design a good data structure to
remember and access the relevant adjacent information during the subdivision
process. In my project, I solved these two problems satisfactorily.
The most important thing is that we must realize that although the control
points may be used and belong to different edges and faces, but they all
have the sole ID numbers, and the faces and edges should use them to obtain
and remember the adjacent information. For different subdivision methods,
we must find the corresponding rules to maintain this information during
the subdivision process.
The following are some of the results that I constructed by using the
three shemes: the first one is built by using the Peter's scheme, the second,
the third and the sixth are constructed by Loop's scheme, the rest of the
graphics are constructed by using the Catmull-Clark's scheme. I also
added the technology of "Infinitely Sharp Creases" to the second,
the fourth, the fifth and the sixth graphics.
![](new7.png)
![](sharp1.png)
![](new6.png)
![](new4.png)
![](new3.png)
![](new.png)
![](car.png)
References
1. Stephen Mann, CS 679 Course notes, 96-98, Winter
2001.
2. E. Catmull and J. Clark. Recursively generated B-spline
surfaces on arbitrary topological meshes. Computer Aided Design, 10:
350-355, September 1978.
3. Jörg Peters and Ulrich Reif. The simplest subdivision
scheme for smoothing polyhedra. ACM Transactions on Graphics, 16(4):
420-431, October 1997.
4. H. Hope, T.DeRose, T. Duchamp, M. Halstead, H. Jin,
J. McDonald, J. Schweitzer, and W. Stuetzle. Piecewise Smooth Surface
Reconstruction, Computer Graphics, 28(3): 295-302, July 1994.
5. Tony DeRose, Michael Kass, and Tien Truong. Subdivision
surfaces in character animation. SIGGRAPH 98 Conference Proceedings,
Annual Conference Series, 85-94. ACM SIGGRAPH, Addison Wesley, July 1998.