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 ...
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 ...
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 g ...
''
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, ...
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 ...
.
In 2005, Edwin Catmull, together with Tony DeRose 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 simulat ...
, 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 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 mathematics ...
, 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, exp ...
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)''
* 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'' (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 con ...
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
Planar is an adjective meaning "relating to a plane (geometry)".
Planar may also refer to:
Science and technology
* Planar (computer graphics), computer graphics pixel information from several bitplanes
* Planar (transmission line technologies), ...
. 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 con ...
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 at extraordinary vertices and everywhere else (when ''n'' indicates how many derivatives are continuous, we speak of 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 simulat ...
(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 give ...
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.) ...
.
Software using the algorithm
*
3ds Max
Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling cap ...
*
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
AC3D is a 3D design program which has been available since 1994. The software is used by designers for modeling 3D graphics for games and simulations - most notably it is used by the scenery creators at Laminar Research on the X-Plane (simulator ...
*
Anim8or
Anim8or is a freeware OpenGL-based 3D computer graphics, 3D modeling and animation program by R. Steven Glanville, a software engineer at NVidia. Currently at stable version 1.01.1402, it is a compact program with several tools which would normall ...
*
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 mot ...
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' ...
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'' has ...
*
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 R ...
Makehuman
MakeHuman is a free and open source 3D computer graphics middleware designed for the prototyping of photorealistic humanoids. It is developed by a community of programmers, artists, and academics interested in 3D character modeling.
Technology
...
*
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 popul ...
*
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. Althou ...
Mudbox
Mudbox is a proprietary
{{Short pages monitor
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 ...