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).
