Catmull-Clark Subdivision Surfaces

The following images demonstrate the results of applying the Catmull-Clark subdivision algorithm to polygonal models. The Open Inventor application that was used to produce these models uses the algorithm described in “Recursively generated B-spline surfaces on arbitrary topological surfaces” by E. Catmull and J. Clark (Computer-Aided Design 10(6):350-355, November 1978).

When a polyhedron is subdivided with the Catmull-Clark method, new vertices (called “face points”) are placed at the center of each original face, new “edge points” are similarly placed at the center of each original edge, and then new edges are added to connect the new edge points to the new adjacent face points. The positions of the vertices are calculated as follows:

  • The face points are positioned as the average of the positions of the face’s original vertices;
  • The edge point locations are calculated as the average of the center point of the original edge and the average of the locations of the two new adjacent face points;
  • The old vertices are repositioned according to the equation:
         Q     2R     S(n-3)
        --- + ---- + --------
         n      n        n
    

    where:

    • Q is the average of the new face points surrounding the old vertex,
    • R is the average of the midpoints of the edges that share the old vertex,
    • S is the old vertex point, and
    • n is the number of edges that share the old vertex.

The following images show a polyhedron followed by five successive applications of the Catmull-Clark subdivision algorithm:

Original model First subdivision Second subdivision Third subdivision Fourth subdivision Fifth subdivision