Loop subdivision surface (source code)

= Loop subdivision surface
{c}
{wiki}

= Loop subdivision
{c}
{synonym}

<Loop subdivision> refines an interior triangular mesh by splitting each face into four triangles and updating <control points> with local <affine combinations>. For an old vertex $P$ with $n$ cyclic neighbors $P_1,\ldots,P_n$, the original vertex rule is
$$
P'=(1-n\beta_n)P+\beta_n\sum_{j=1}^nP_j,\qquad
\beta_n=\frac1n\left[\frac58-\left(\frac38+\frac14\cos\frac{2\pi}{n}\right)^2\right].
$$
For an interior edge with endpoints $A,B$ and opposite triangle vertices $C,D$, the new edge vertex is
$$
E'=\frac38(A+B)+\frac18(C+D).
$$
On the regular triangular lattice $n=6$, $\beta_6=1/16$, so $P'=(10P+\sum_jP_j)/16$. The coefficient sums are one, giving <affine equivariance of a geometric basis>; their nonnegativity also gives a <convex hull> bound. These are interior rules: a boundary or a deliberately retained sharp crease needs its own specified stencil.

The scheme is approximating rather than interpolatory. If an old vertex has height one and its six regular neighbors have height zero, its new height is $10/16$, so refinement moves the old vertex. On regular patches the limit is a quartic <box spline>; <extraordinary subdivision vertices> require the local <subdivision matrix> and <characteristic map of a subdivision surface> analysis. The method is named for <Charles Loop>, whose 1987 thesis introduced the triangular scheme.<Convex Triangular Subdivision Surfaces with Bounded Curvature by Charles Loop>[Section 2, original masks; section 4, Remark 1 and constraint summary: original central weight and subdominant eigenvalues]{ref}<Smooth Subdivision Surfaces Based on Triangles by Charles Loop>[Official publication record: thesis title, author and 1987 date]{ref}

// Target: analysis.bigb