A subdivision surface is the limit surface resulted from the application of a subdivision algorithm to a control polyhedron (Figure \ref{fig:teaser}). The subdivision algorithm recursively \emph{refine} (subdivide) the control polyhedron and \emph{modify} (smooth) the geometry. A subdivision algorithm can be characterized by its \emph{refinement operator} and \emph{modification operator(s)}. The refinement operator edits the connectivity and create a uniformly refined mesh from the source polyhedron. Refinement operators are classified according to the connectivity pattern and the topology correspondence. Figure \ref{RefSchemes} shows four 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 (PQQ + PTQ) \cite{sqt}, may employ a hybrid refinement combining two reinements. \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 operators: primal quadrilateral quadrisection (PQQ), primal triangle quadrisection (PTQ), dual quadrilateral quadrisection (DQQ) and $\sqrt{3}$ triangulation.} \label{fig:RefSchemes} \end{figure} The modification operator collects the stencil (submesh) of the source polyhedron and applied a mask (weighted map) on the submesh to generate the corresponding vertex of the target (refined) polyhedron. Figure \ref{fig:RefMap} demonstrates the examples of the correspondence between a stencil and its smoothed vertices. Subdivisions usually have several modification operators with different different types of stencils (Figure \ref{fig:RefMap} (a-c)). \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 stencil and the target vertex in the Catmull-Clark subdivision (a-c) and Doo-Sabin subdivision (d). Catmull-Clark subdivsion has three stencils: facet-stencil (a), edge-stencil (b) and vertex-stencil (c).} \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). In this tutorial, the design of subdivisions focuses on how to implement connectivity editing of the refinement operators and how to locate the correspondences between the stencil and the smoothed vertex. A compelete introduction on subdisviions can be find at \cite{siggraph1998notes}.