Subdivision Surfaces

Doo Sabin Subdivision

For each \(n\)-face, \(n\) new vertices are computed as follows: compute face and edges midpoints. For each vertex of the input face consider the quadrilateral consisting of this vertex, the midpoints of the two incident edges and the midpoint of the face. Then, the new vertex is the midpoint of this quadrilateral. In the case the face is a quadrilateral, the position of the new vertex in yellow in the image below, is computed as: \[ v_{new} = \frac{1}{4}(v + v_c + v_{e_1} + v_{e_2}) \]


The general case for an hybrid mesh is illustrated in the images below.



The JavaScript Code