Catmull–Clark Subdivision Surface
   HOME

TheInfoList



OR:

The Catmull–Clark
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
is a technique used in
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for t ...
to create curved surfaces by using
subdivision surface In the field of 3D computer graphics, a subdivision surface (commonly shortened to SubD surface) is a curved surface represented by the specification of a coarser polygon mesh and produced by a recursive algorithmic method. The curved surface, ...
modeling A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
. It was devised by
Edwin Catmull Edwin Earl "Ed" Catmull (born March 31, 1945) is an American computer scientist who is the co-founder of Pixar and was the President of Walt Disney Animation Studios. He has been honored for his contributions to 3D computer graphics, including th ...
and
Jim Clark James Clark Jr. OBE (4 March 1936 – 7 April 1968) was a British Formula One racing driver from Scotland, who won two World Championships, in 1963 and 1965. A versatile driver, he competed in sports cars, touring cars and in the Indianapol ...
in 1978 as a generalization of
bi-cubic In mathematics, bicubic interpolation is an extension of cubic interpolation (not to be confused with cubic spline interpolation, a method of applying cubic interpolation to a data set) for interpolating data points on a two-dimensional regular ...
''
uniform A uniform is a variety of clothing worn by members of an organization while participating in that organization's activity. Modern uniforms are most often worn by armed forces and paramilitary organizations such as police, emergency services, se ...
''
B-spline In the mathematical subfield of numerical analysis, a B-spline or basis spline is a spline function that has minimal support with respect to a given degree, smoothness, and domain partition. Any spline function of given degree can be express ...
surfaces to arbitrary
topology In mathematics, topology (from the Greek words , and ) is concerned with the properties of a geometric object that are preserved under continuous deformations, such as stretching, twisting, crumpling, and bending; that is, without closing ho ...
. In 2005, Edwin Catmull, together with
Tony DeRose Tony may refer to: People and fictional characters * Tony (given name), including a list of people and fictional characters * Gregory Tony (born 1978), American law enforcement officer * Motu Tony (born 1981), New Zealand international rugby lea ...
and
Jos Stam Jos Stam (born 28 December 1965 in The Hague, Netherlands) is a researcher in the field of computer graphics, focusing on the simulation of natural physical phenomena for 3D-computer animation. He achieved technical breakthroughs with the simulati ...
, received an
Academy Award for Technical Achievement The Technical Achievement Award is one of three Scientific and Technical Awards given from time to time by the Academy of Motion Picture Arts and Sciences. (The other two awards are the Scientific and Engineering Award and the Academy Award of Mer ...
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 evaluation

Catmull–Clark surfaces are defined
recursively Recursion (adjective: ''recursive'') occurs when a thing is defined in terms of itself or of its type. Recursion is used in a variety of disciplines ranging from linguistics to logic. The most common application of recursion is in mathematic ...
, using the following ''refinement scheme.'' Start with a
mesh A mesh is a barrier made of connected strands of metal, fiber, or other flexible or ductile materials. A mesh is similar to a web or a net in that it has many attached or woven strands. Types * A plastic mesh may be extruded, oriented, e ...
of an arbitrary
polyhedron In geometry, a polyhedron (plural polyhedra or polyhedrons; ) is a three-dimensional shape with flat polygonal faces, straight edges and sharp corners or vertices. A convex polyhedron is the convex hull of finitely many points, not all on ...
. All the vertices in this mesh shall be called ''original points''. * For each face, add a ''face point'' ** Set each face point to be the
average In ordinary language, an average is a single number taken as representative of a list of numbers, usually the sum of the numbers divided by how many numbers are in the list (the arithmetic mean). For example, the average of the numbers 2, 3, 4, 7, ...
of all ''original points'' for the respective face * For each edge, add an ''edge point''. ** Set each edge point to be the average of the two neighbouring face points ''(AF)'' and the ''midpoint'' of the edge ''(ME)'' \frac * 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'') **Move each ''original point'' to the new ''vertex point'' \frac (This is the
barycenter In astronomy, the barycenter (or barycentre; ) is the center of mass of two or more bodies that orbit one another and is the point about which the bodies orbit. A barycenter is a dynamical point, not a physical object. It is an important co ...
of ''P'', ''R'' and ''F'' with respective weights (''n'' − 3), 2 and 1) *Form edges and faces in the new mesh **Connect each new ''face point'' to the new ''edge points'' of all original edges defining the original face ** Connect each new ''vertex point'' to the new ''edge points'' of all original edges incident on the original vertex ** Define new faces as enclosed by edges


Properties

The new mesh will consist only of
quadrilateral In geometry a quadrilateral is a four-sided polygon, having four edges (sides) and four corners (vertices). The word is derived from the Latin words ''quadri'', a variant of four, and ''latus'', meaning "side". It is also called a tetragon, ...
s, 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 In astronomy, the barycenter (or barycentre; ) is the center of mass of two or more bodies that orbit one another and is the point about which the bodies orbit. A barycenter is a dynamical point, not a physical object. It is an important co ...
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. It can be shown that the limit surface obtained by this refinement process is at least \mathcal^1 at extraordinary vertices and \mathcal^2 everywhere else (when ''n'' indicates how many derivatives are continuous, we speak of \mathcal^n continuity). After one iteration, the number of extraordinary points on the surface remains constant.


Exact evaluation

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 Jos Stam (born 28 December 1965 in The Hague, Netherlands) is a researcher in the field of computer graphics, focusing on the simulation of natural physical phenomena for 3D-computer animation. He achieved technical breakthroughs with the simulati ...
(1998). This method reformulates the recursive refinement process into a
matrix exponential In mathematics, the matrix exponential is a matrix function on square matrices analogous to the ordinary exponential function. It is used to solve systems of linear differential equations. In the theory of Lie groups, the matrix exponential giv ...
problem, which can be solved directly by means of
matrix diagonalization In linear algebra, a square matrix A is called diagonalizable or non-defective if it is similar to a diagonal matrix, i.e., if there exists an invertible matrix P and a diagonal matrix D such that or equivalently (Such D are not unique.) F ...
.


Software using the algorithm

*
3ds Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics software, 3D computer graphics program for making 3D animations, 3D models, models, 3D computer game, games and 3D rendering, images. It is developed ...
*
3D-Coat 3D-Coat is a commercial digital sculpting program from Pilgway designed to create free-form organic and hard surfaced 3D models from scratch, with tools which enable users to sculpt, add polygonal topology (automatically or manually), create UV ...
* AC3D * Anim8or *
AutoCAD AutoCAD is a commercial computer-aided design (CAD) and drafting software application. Developed and marketed by Autodesk, AutoCAD was first released in December 1982 as a desktop app running on microcomputers with internal graphics controllers. ...
*
Blender A blender (sometimes called a mixer or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary blender consists of a blender container with a rotating me ...
*
Carrara Carrara ( , ; , ) is a city and ''comune'' in Tuscany, in central Italy, of the province of Massa and Carrara, and notable for the white or blue-grey marble quarried there. It is on the Carrione River, some west-northwest of Florence. Its mott ...
* CATIA (Imagine and Shape) *
CGAL The Computational Geometry Algorithms Library (CGAL) is an open source software library of computational geometry algorithms. While primarily written in C++, Scilab bindings and bindings generated with SWIG (supporting Python and Java for now ...
*
Cheetah3D Cheetah3D is a computer graphics program for 3D modelling, animation and rendering. It is written in Cocoa for macOS. The program is aimed at beginning and amateur 3D artists. It offers a number of medium and high-end features in conjunction wi ...
*
Cinema4D Cinema 4D is a 3D software suite developed by the German company Maxon. Overview As of R21, only one version of Cinema 4D is available. It replaces all previous variants, including BodyPaint 3D, and includes all features of the past 'Studio' ...
*
Clara.io Clara.io is web-based freemium 3D computer graphics software developed by Exocortex, a Canadian software company. The free or "Basic" component of their freemium offering, however, places severe restrictions, such as on saving models and importing ...
* Creo (Freestyle) * Daz Studio, 2.0 * DeleD Community Edition * DeleD Designer *
Gelato Gelato (; ) is the common word in Italian for all kinds of ice cream. In English, it specifically refers to a frozen dessert of Italian origin. Artisanal gelato in Italy generally contains 6%–9% butterfat, which is lower than other styl ...
*
Hammer A hammer is a tool, most often a hand tool, consisting of a weighted "head" fixed to a long handle that is swung to deliver an impact to a small area of an object. This can be, for example, to drive nails into wood, to shape metal (as ...
*
Hexagon In geometry, a hexagon (from Greek , , meaning "six", and , , meaning "corner, angle") is a six-sided polygon. The total of the internal angles of any simple (non-self-intersecting) hexagon is 720°. Regular hexagon A ''regular hexagon'' h ...
*
Houdini Harry Houdini (, born Erik Weisz; March 24, 1874 – October 31, 1926) was a Hungarian-American escape artist, magic man, and stunt performer, noted for his escape acts. His pseudonym is a reference to his spiritual master, French magician ...
* LightWave 3D, version 9 * Makehuman *
Maya Maya may refer to: Civilizations * Maya peoples, of southern Mexico and northern Central America ** Maya civilization, the historical civilization of the Maya peoples ** Maya language, the languages of the Maya peoples * Maya (Ethiopia), a popu ...
*
Metasequoia ''Metasequoia'', or dawn redwoods, is a genus of fast-growing deciduous trees, one of three species of conifers known as redwoods. The living species ''Metasequoia glyptostroboides'' is native to Lichuan county in Hubei province, China. Altho ...
* MODO *
Mudbox Mudbox is a proprietary computer-based 3D sculpting and painting tool. developed by Autodesk, Mudbox was created by Skymatter, founded by Tibor Madjar, David Cardwell and Andrew Camenisch, former artists of Weta Digital, where it was first u ...
* Power Surfacing add-in for SolidWorks * Pixar's OpenSubdiv * PRMan * Realsoft3D * Remo 3D * Shade *
Rhinoceros 3D Rhinoceros (typically abbreviated Rhino or Rhino3D) is a commercial 3D computer graphics and computer-aided design (CAD) application software that was developed by Robert McNeel & Associates, an American, privately held, and employee-owned com ...
- Grasshopper 3D Plugin - Weaverbird Plugin *
Silo A silo (from the Greek σιρός – ''siros'', "pit for holding grain") is a structure for storing bulk materials. Silos are used in agriculture to store fermented feed known as silage, not to be confused with a grain bin, which is used ...
*
SketchUp SketchUp is a suite of subscription products that include SketchUp Pro Desktop, a 3D modeling Computer-Aided Design (CAD) program for a broad range of drawing and design applications — including architectural, interior design, industrial an ...
- Requires a Plugin. *
Softimage XSI Autodesk Softimage, or simply Softimage () was a 3D computer graphics application, for producing 3D computer graphics, 3D modeling, and computer animation. Now owned by Autodesk and formerly titled Softimage, XSI, the software has been predomina ...
* Strata 3D CX *
Wings 3D Wings 3D is a free and open-source subdivision modeler inspired by Nendo and Mirai from Izware. Wings 3D is named after the winged-edge data structure it uses internally to store coordinate and adjacency data, and is commonly referred to by it ...
* Zbrush


See also

*
Conway polyhedron notation In geometry, Conway polyhedron notation, invented by John Horton Conway and promoted by George W. Hart, is used to describe polyhedra based on a seed polyhedron modified by various prefix operations. Conway and Hart extended the idea of using o ...
- A set of related topological polyhedron and polygonal mesh operators. * Doo-Sabin subdivision surface * Loop subdivision surface


References


Further reading

* * *
preprint
* Matthias Nießner, Charles Loop, Mark Meyer, Tony DeRose,
Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces
, ACM Transactions on Graphics Volume 31 Issue 1, January 2012,
demo
* Nießner, Matthias ; Loop, Charles ; Greiner, Günther
Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces
Eurographics 2012 Annex: Short Papers (Eurographics 2012, Cagliary). 2012, pp 41–44. * Wade Brainerd
Tessellation in Call of Duty: Ghosts
also presented as a SIGGRAPH2014 tutoria

*D. Doo and M. Sabin: ''Behavior of recursive division surfaces near extraordinary points'', Computer-Aided Design, 10 (6) 356–360 (1978),
doipdf
{{DEFAULTSORT:Catmull-Clark Subdivision Surface 3D computer graphics Multivariate interpolation