cgal/Packages/Tutorial/tutorial/Polyhedron/doc/subdivision.tex

77 lines
3.2 KiB
TeX

Since this tutorial is centered at the desgin and implementation
of subdivision surfaces, a short non-theoretic introduction of
subdivision surfaces is given in this section. We are going to
focus on the various refinement schemes and the connectivity
properties. A compelete review on subdisviions can be find at
\cite{siggraph1998notes}.
A subdivision surface is the limit surface resulted from the
application of a subdivision algorithm to a control mesh
(Figure \ref{fig:teaser}). The subdivision algorithm
recursively \emph{refine} (subdivide) the control mesh and
\emph{modify} (smooth) the geometry. A subdivision
algorithm can be characterized by a \emph{refinement operator}
and a \emph{modification operator}.
Refinement operators edit the connectivity
and create a uniformly refined mesh from the source mesh.
These operators can be classified acoording to the refinement
patterns. Figure \ref{RefSchemes} shows four major patterns employed
in subdivision algorithms. Examples are
Catmull-Clark subdivision (PQQ) \cite{cc},
Loop subdivision (PTQ) \cite{loop},
Doo-Sabin subdivision (DQQ) \cite{ds}
and $\sqrt{3}$ subdivision \cite{sqrt3}.
Subdivisions may employ a combination of two patterns.
Examples are Stam QT subdivision \cite{sqt} and
4-3 subdivision \cite{43} (PQQ and PTQ).
\begin{figure}
\centering
\psfrag{PQQ}[]{\scriptsize PQQ}
\psfrag{PTQ}[]{\scriptsize PTQ}
\psfrag{DQQ}[]{\scriptsize DQQ}
\psfrag{Sqrt3}[]{\scriptsize $\sqrt{3}$}
\epsfig{file=pfigs/RefSchemes.eps, width=4in}
\caption{Refinement schemes:
primal quadrilateral quadrisection (PQQ),
primal triangle quadrisection (PTQ),
dual quadrilateral quadrisection (DQQ) and
$\sqrt{3}$ refinement.}
\label{fig:RefSchemes}
\end{figure}
Modification operators collect a submesh of the source
mesh and applied a stencil on the submesh to
generate the corresponding vertex of the refined mesh.
Figure \ref{fig:RefMap} demonstrates the examples of
the correspondence between a source submesh and
its target vertices.
\begin{figure}
\centering
\psfrag{A}[]{(a)}
\psfrag{B}[]{(b)}
\psfrag{C}[]{(c)}
\psfrag{D}[]{(d)}
\epsfig{file=pfigs/RefMap.eps, width=4.5in}
\caption{The correspondence of the source submesh and the
target vertex in the Catmull-Clark subdivision (a-c)
and Doo-Sabin subdivision (d). }
\label{fig:RefMap}
\end{figure}
%% Any implementation of a subdivision scheme contains two major
%% components: \italic{refinement scheme} and \italic{geometry rules}.
%% Refinement schemes are defined by the
%% \italic{uniform connectivity reconfiguration} of the source
%% mesh (the domain) to the target mesh (the range). The geometry rules,
%% providing certain surface properties, e.g the smoothness, are the
%% mapping functions of the \italic{footprints} in the domain mesh to the
%% \italic{vertices} in the range mesh. Any subdivision in practice can
%% be defined as a legal combination of a refinement scheme and the
%% geometry rules. Based on the paradigm of the
%% \italic{policy-based design} \cite{a-rotm-02}, the combination can be
%% designed as the \italic{host function} (the refinement function)
%% templated with the \italic{policy class} (the geometry rules).