3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
3D graphics eBook - Course Materials Repository
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Subdivision surface 201<br />
Overview<br />
The subdivision surfaces are defined recursively. The process starts<br />
with a given polygonal mesh. A refinement scheme is then applied to<br />
this mesh. This process takes that mesh and subdivides it, creating new<br />
vertices and new faces. The positions of the new vertices in the mesh<br />
are computed based on the positions of nearby old vertices. In some<br />
refinement schemes, the positions of old vertices might also be altered<br />
(possibly based on the positions of new vertices).<br />
This process produces a denser mesh than the original one, containing<br />
more polygonal faces. This resulting mesh can be passed through the<br />
same refinement scheme again and so on.<br />
The limit subdivision surface is the surface produced from this process<br />
being iteratively applied infinitely many times. In practical use<br />
however, this algorithm is only applied a limited number of times. The<br />
limit surface can also be calculated directly for most subdivision<br />
surfaces using the technique of Jos Stam, [1] which eliminates the need<br />
for recursive refinement.<br />
Refinement schemes<br />
First three steps of Catmull–Clark subdivision of<br />
a cube with subdivision surface below<br />
Subdivision surface refinement schemes can be broadly classified into two categories: interpolating and<br />
approximating. Interpolating schemes are required to match the original position of vertices in the original mesh.<br />
Approximating schemes are not; they can and will adjust these positions as needed. In general, approximating<br />
schemes have greater smoothness, but editing applications that allow users to set exact surface constraints require an<br />
optimization step. This is analogous to spline surfaces and curves, where Bézier splines are required to interpolate<br />
certain control points, while B-splines are not.<br />
There is another division in subdivision surface schemes as well, the type of polygon that they operate on. Some<br />
function for quadrilaterals (quads), while others operate on triangles.<br />
Approximating schemes<br />
Approximating means that the limit surfaces approximate the initial meshes and that after subdivision, the newly<br />
generated control points are not in the limit surfaces. Examples of approximating subdivision schemes are:<br />
• Catmull and Clark (1978) generalized bi-cubic uniform B-spline to produce their subdivision scheme. For<br />
arbitrary initial meshes, this scheme generates limit surfaces that are C 2 continuous everywhere except at<br />
extraordinary vertices where they are C 1 continuous (Peters and Reif 1998).<br />
• Doo–Sabin - The second subdivision scheme was developed by Doo and Sabin (1978) who successfully extended<br />
Chaikin's corner-cutting method for curves to surfaces. They used the analytical expression of bi-quadratic<br />
uniform B-spline surface to generate their subdivision procedure to produce C 1 limit surfaces with arbitrary<br />
topology for arbitrary initial meshes.<br />
• Loop, Triangles - Loop (1987) proposed his subdivision scheme based on a quartic box-spline of six direction<br />
vectors to provide a rule to generate C 2 continuous limit surfaces everywhere except at extraordinary vertices<br />
where they are C 1 continuous.<br />
• Mid-Edge subdivision scheme - The mid-edge subdivision scheme was proposed independently by Peters-Reif<br />
(1997) and Habib-Warren (1999). The former used the mid-point of each edge to build the new mesh. The latter