Template:Short description

File:Catmull-Clark subdivision of a cube.svg
Catmull–Clark level-3 subdivision of a cube with the limit subdivision surface shown below. (Note that although it looks like the bi-cubic interpolation approaches a sphere, an actual sphere is quadric.)
File:Catmull-Clark limit surface of Cube (compare sphere).png
Visual difference between sphere (green) and Catmull-Clark subdivision surface (magenta) from a cube

The Catmull–Clark algorithm is a technique used in 3D computer graphics to create curved surfaces by using subdivision surface modeling. It was devised by Edwin Catmull and Jim Clark in 1978 as a generalization of bi-cubic uniform B-spline surfaces to arbitrary topology.<ref name=CatmullClark/>

In 2005/06, Edwin Catmull, together with Tony DeRose and Jos Stam, received an Academy Award for Technical Achievement for their invention and application of subdivision surfaces. DeRose wrote about "efficient, fair interpolation" and character animation. Stam described a technique for a direct evaluation of the limit surface without recursion.

Recursive evaluationEdit

Catmull–Clark surfaces are defined recursively, using the following refinement scheme.<ref name=CatmullClark>Template:Cite journal</ref>

Start with a mesh of an arbitrary polyhedron. All the vertices in this mesh shall be called original points.

  • For each face, add a face point
  • For each edge, add an edge point.
    • Set each edge point to be the average of the two neighbouring face points (A,F) and the two endpoints of the edge (M,E) <math>\frac{A+F+M+E}{4}</math><ref>{{#invoke:citation/CS1|citation

|CitationClass=web

}}</ref>

File:Catmull-Clark Recursive Step 2.png
Edge points (magenta cubes)
  • For each original point (P), take the average (F) of all n (recently created) face points for faces touching P, and take the average (R) of all n edge midpoints for original edges touching P, where each edge midpoint is the average of its two endpoint vertices (not to be confused with new edge points above). (Note that from the perspective of a vertex P, the number of edges neighboring P is also the number of adjacent faces, hence n)
  • Form edges and faces in the new mesh

PropertiesEdit

The new mesh will consist only of quadrilaterals, which in general will not be planar. The new mesh will generally look "smoother" (i.e. less "jagged" or "pointy") than the old mesh. Repeated subdivision results in meshes that are more and more rounded.

The arbitrary-looking barycenter formula was chosen by Catmull and Clark based on the aesthetic appearance of the resulting surfaces rather than on a mathematical derivation, although they do go to great lengths to rigorously show that the method converges to bicubic B-spline surfaces.<ref name="CatmullClark" />

It can be shown that the limit surface obtained by this refinement process is at least <math>\mathcal{C}^1</math> at extraordinary vertices and <math>\mathcal{C}^2</math> everywhere else (when n indicates how many derivatives are continuous, we speak of <math>\mathcal{C}^n</math> continuity). After one iteration, the number of extraordinary points on the surface remains constant.

Exact evaluationEdit

The limit surface of Catmull–Clark subdivision surfaces can also be evaluated directly, without any recursive refinement. This can be accomplished by means of the technique of Jos Stam (1998).<ref name="Stam">Template:Cite book</ref> This method reformulates the recursive refinement process into a matrix exponential problem, which can be solved directly by means of matrix diagonalization.

Software using the algorithmEdit

Template:More citations needed section Template:Colbegin

|CitationClass=web }}</ref>

|CitationClass=web }}</ref>

|CitationClass=web }}</ref><ref>AV Media gputechconf.com</ref><ref>Template:Cite AV mediaTemplate:Cbignore</ref>

Template:Colend

See alsoEdit

ReferencesEdit

Template:Reflist

Further readingEdit