cgal/Packages/Tutorial/tutorial/Polyhedron/sgp2004/paper/subdivision.tex

82 lines
3.1 KiB
TeX

Subdivision surfaces \cite{cc,ds,loop,sqrt3,qts}
are the limit surface resulting from the
application of a subdivision algorithm to a control mesh.
Subdivision algorithms recursively \emph{refine} (subdivide) the
control mesh and \emph{modify} (smooth) the geometry according
to a stencil on the source mesh.
Further details on subdivisions can be found at \cite{Sub:course:2000}
and \cite{Warren:subdivision}. The OpenMesh library has
supports of Loop and $\sqrt{3}$ subdivisions \cite{Abhijit:2004:APISUB}.
Subdivision algorithms contain two major
components: \emph{\tr} and \emph{\gm}.
The \tr\ reparameterizes the source mesh into a refined
mesh. The \gm\ transforms a submesh on the source mesh
to a vertex on the refined mesh. The source submesh (with
the normalized weights) is called the
\emph{stencil}. A proper combination of a \tr\ and a set of
rules of \gm\ define a valid subdivision scheme.
Fig.\ref{fig:RefSchemes} shows the local configurations
of the major refinements
employed in subdivision algorithms, which include Catmull-Clark
subdivision (PQQ) \cite{cc}, Loop subdivision (PTQ) \cite{loop},
Doo-Sabin subdivision (DQQ) \cite{ds} and $\sqrt{3}$ subdivision
\cite{sqrt3}. Subdivisions, such as Quad-Triangle subdivision
\cite{qts,l-pg-03}, may employ a hybrid refinement consisting
of two different refinements (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=figs/RefSchemes.eps, width=7cm}
\caption{Examples of refinement schemes:
primal quadrilateral quadrisection (PQQ),
primal triangle quadrisection (PTQ),
dual quadrilateral quadrisection (DQQ) and
$\sqrt{3}$ triangulation.}
\label{fig:RefSchemes}
\end{figure}
The \gm\ multiplies the stencils and
generates the corresponding vertex on the refined mesh.
%The stencil usually specifies an affine map of the
%submesh.
Fig.\ref{fig:RefMap} demonstrates the examples of the
correspondence between a stencil and its vertex. According
to the employed refinement scheme, subdivisions
may have several distinct stencils
(Fig.\ref{fig:RefMap} (a-c)).
\begin{figure}
\centering
\psfrag{A}[]{(a)}
\psfrag{B}[]{(b)}
\psfrag{C}[]{(c)}
\psfrag{D}[]{(d)}
\epsfig{file=figs/RefMap.eps, width=7cm}
\caption{The stencil (weights are not shown) and its
vertex in the Catmull-Clark subdivision (a-c)
and Doo-Sabin subdivision (d). Catmull-Clark
subdivision has three stencils: facet-stencil (a),
edge-stencil (b) and vertex-stencil (c).
Doo-Sabin subdivision has only corner-stencil (d).}
\label{fig:RefMap}
\end{figure}
% templated rules: a generic framework for subdivisions
%\subsection{Generic Subdivisions}
%\label{sec:subtempl}
\input subtempl
\subsection{Sqrt 3}
% connectivity ops: specific polyhedron algorithms (sqrt3 subdivisions)
%\subsection{$\sqrt{3}$-Subdivision using Euler Operators}
\input sqrt3
% inc builder: specific polyhedron algorithms (qt subdivisions)
%\subsection{Quad-triangle Subdivision using modifier}
%\input qt