The Variety of Subdivision Schemes Kwan Pyo Ko Department of Internet Engineering Dongseo Univ. kpko@dongseo.ac.kr
What is Subdivision? ( S p ) = X ® S p = 2 a ¡ b j + 1 Define a smooth curves/surface as the limit of a sequence of successive refinements p j + 1 = S ( S p ) a = X b ® ¡ 2
Subdivision Surfaces
Why Subdivision? Arbitrary topology Multiresolution Simple code Efficient code Construct Wavelet
Chaikin’s Algorithm : converges to the quadratic B-spline. 3 p = 4 3 p + 1 2 i = 3 4 p k + 1 2 i = 4 3 converges to the quadratic B-spline.
Cubic spline Algorithm : k + 1 2 i = p k + 1 2 i = 8 3 4 converges to the cubic B-spline.
4-point interpolatory scheme (N. Dyn, D.Levin and J.Gregory): k + 1 2 i = p k + 1 2 i = µ w ¶ ( ) ¡ continuous for C1 for j w < 1 4 < w 1 8
Butterfly scheme : q = 1 2 ( p + ) w ¡ X p = [ q k e ; 3 4 8 j 5 k + 1 i = [ q e
The mask of the butterfly scheme:
The mask of the butterfly scheme:
Ternary Subdivision Scheme:
where the weights are given by p j + 1 3 = i p j + 1 3 = a i ¡ b c d 2 p j + 1 3 2 = d i ¡ c b a where the weights are given by a = ¡ 1 8 6 w ; b 3 + 2 c 7 d : C 2 f o r 1 5 < w 9
Subdivision Zoo Classification : stationary or non-stationary binary or ternary type of mesh(triangle or quadrilateral) approximating or interpolating linear or non-linear
Face split (primal type) Vertex split (dual type) Triangular meshes Quad.meshes approximating Loop Catmull-Clark interpolating Butterfly Kobbelt ( C 2 ) ( C 2 ) ( C 1 ) ( C 1 ) Quad. meshes approximating Doo-Sabin , Midedge ( C 1 ) ( C 1 )
Binary Subdivision of B-splines Univariate B-splines : where : normalized B-spline of degree ( ¤ ) S r u = X i 2 Z d N ¡ ; N r r :
Properties : Partition of unity : Positivity : Local support : Continuity : Recursion : P i N r ( u ¡ ) = 1 N r ( u ) ¸ N r ( u ¡ i ) = f 2 [ ; + 1 ] N r ( u ) 2 C ¡ 1 N r ( u ¡ i ) = 1 +
The idea behind a Subdivision Rewrite the curve (*) as a curve over a refined knot sequence (*) becomes Determine A single B-spline can be decomposed into similar B- spline of half the support. Z = 2 : S r ( u ) = X j 2 Z ^ d N ¡ ^ d r j
This results in where For example Chaikin’s algorithm N ( u ) = X c ¡ j 2 Z c ¡ ; c r j = 2 ¡ + 1 ¢ ^ d r j = X i 2 Z c ¡ ; r = 2 ^ d 2 = X i Z c ¡ ¢ + ( 3 4 ) 1
Tensor Product B-spline Surfaces ; s ( u ) = X i 2 Z d N ¡ A tensor product B-spline is the product of two independently univariate B-splines, i.e N r ; s ( u ¡ i ) = v j
^ d = X c c = 2 µ 1 ¶ Example 1 The mask set : r = s 2 ^ d = ¢ + ( 9 1 ; s j = X i 2 Z c ¡ c r ; s j = i 2 ¡ ( + ) µ 1 ¶ Example 1 The mask set : r = s 2 ^ d 2 ; = ¢ + ( 9 1 6 ) ¡ 3
Example 2 The mask for bicubic tensor product B-splines r = s 3
Triangular Splines ( ¤ ) S u = X d N ¡ 2 R Z A triangular spline surface : where : a normalized triangular spline of degree (r+s+t-2) ( ¤ ) S r ; s t u = X i d N ¡ 2 R Z N r ; s t ( u )
Subdivision of Triangular Splines The surface (*) can be rewritten over the refine grid. A single triangular spline is decomposed into splines of identical degree over the refined grid. S r ; s t ( u ) = X j ^ d N 2 ¡ N r ; s t ( u ) = X j 2 Z c ¡
^ d = X c c = 2 X µ i ¶ N ( u ) Where The subdivision masks for the triangular spline ^ d r ; s t j = X i 2 Z c ¡ c r ; s t j = 2 ¡ ( + ) X k µ i ¶ N 2 ; ( u )
The Doo/Sabin algorithm (Problem) Subdivision for tensor product quadratic B-spline surface has rigid restrictions on the topology. Each vertex of the net must order 4. This restriction makes the design of many surfaces difficult Doo/Sabin presented an algorithm that eliminated this restriction by generalizing the bi-quadratic B-spline subdivision rules to include arbitrary topologies.
Doo-Sabin scheme P0 P1 P3 P2 P’’2 P’3 P’0 P’2 P’1 P’b P’’1 P’’3 P’’0 ( \ ; 1 2 3 ) T = S D 4 S D 4 = 1 6 2 9 3 7 5 Doo-Sabin scheme
The subdivision masks for bi-quadratic B-spline : Geometric view of bi-quadratic B-spline subdivision : the new points are centroids of the sub-face formed by the face centroid, a corner vertex and the two mid-edge points next to the corner. arbitrary topology Generalization
For an n-sided face Doo/Sabin used subdivision matrix As subdivision proceeds, the refined control point mesh becomes locally rectangular everywhere except at a fixed number of points. Since bi-quadratic B-splines are , the surfaces generated by the Doo/Sabin algorithm are locally S D n = ( ® i j ) £ ; ® i j = 5 + n 4 3 2 c o s ³ ¼ ( ¡ ) ´ 6 extraordinay points C 1 C 1
The Catmull/Clark algorithm : P42 x P21 P31 P11 P12 P13 P14 P22 P23 P32 P43 P44 P34 P33 P24 q11 q12 q22 P41 q11 : New face points q12 : New edge points q22 : New vertex points
New face points : New edge points : New vertex points : q = P + 4 q = 1 = P + 2 4 q 1 2 = C + D P ; 3 q 2 = Q 4 + R P Q = q 1 + 3 4 R = 1 4 · µ p 2 + ¶ 3 ¸
The subdivision masks for bi-cubic B-spline : Approach : generalization of bi-cubic B-spline arbitrary topology Generalization
New face points : the average of all of the old points defining the face. New edge points : the average of the mid points of the old edge with average of the two new face. New vertex points : Q : the average of the new face points of all faces sharing an old vertex point. R : the average of the midpoints of all old edges incident on the old vertex point. S : the old vertex point. 1 4 Q + 2 R S ;
Modified Catmull/Clark rule Note : tangent plane continuity was not maintained at extraordinary points. N : order of the vertex tangent plane continuity at extraordinary points. Modified Catmull/Clark rule ^ S = 1 N Q + 2 R ¡ 3
The Loop Scheme A generalized triangular subdivision surface. The subdivision masks for mask A generates new control points for each vertex mask B generates new control points for edge of the original regular triangular mesh. N 2 ; ( u ) A B
Q : the average of the old points that share an edge with V. Mask B : generalization is to leave this subdivision rule intact (why?) Mask A : The new vertex point can be computed as a convex combination of the old vertex and all old vertices that share an edge with it. V : the old vertex point. Q : the average of the old points that share an edge with V. This same idea may be applied to an arbitrary triangular mesh. ^ V = 5 8 + 3 Q ;
Note : tangent plane continuity is lost at the extraordinary points.
curvature continuity at regular point. Loop scheme : where curvature continuity at regular point. tangent plane continuity at extaordinary point. ^ V = ® N + ( 1 ¡ ) Q ; ® N = µ 3 8 + 1 4 c o s 2 ¼ ¶
Mid-Edge Scheme P0 P1 P3 P2 P’3 P’0 P’2 P’1 P’’0 P’’1 P’’3 P’’2 ( P \ \ ; 1 2 3 ) T = S M E 4 S M E 4 = 1 2 6 3 7 5 For an n-sided face, subdivision matrix : S M E n = ( ¯ i j ) £ ; ¯ i j = 1 + c o s 2 ¼ ( ¡ ) n
Circulant matrix eigenvalues of can be calculated by evaluating the polynomial. S G n = 2 6 4 a 1 ¢ ¡ . 3 7 5 S G n P n ( z ) = a + 1 ¢ ¡ ; z = w j ; e i 2 ¼ n 1 ¢ ¡
Further Subdivision Schemes Non-uniform scheme. Shape preserving scheme. Hermite-type scheme. Variational scheme. Quasi-linear scheme. Poly-scale scheme. Non-stationary scheme. Reverse subdivision scheme.
Convexity Preserving ISS A constructive approach is used to derive convexity preserving subdivision scheme. interpolatory. local : four points scheme. define the first and second differences. f k + 1 2 i = ¡ ¢ F ; d f i = + 1 ¡ 2
3. invariant under addition of affine functions. (★) k + 1 2 i = ¡ ¢ F µ ( ) ; d ¶ 3. invariant under addition of affine functions. (★) f k + 1 2 i = ¡ ¢ F ( d ; ) : subdivision function F 4. continuous 5. homogeneous, i.e. , 6. symmetric F ( ¸ x ; y ) =
Note : if F=0 linear SS. only (Question) Theorem 1 (Convexity) A subdivision scheme of type (*) satisfying conditions 1 to 6 is convex preserving for all convex data F satisfies Note : if F=0 linear SS. only (Question) under what conditions, SS(*) with conditions 1 to 6 and convexity condition generate continuously differentiable limit functions. Answer · F ( x ; y ) 1 4 m i n f g 8 ¸ C
Under the same conditions hold as in Theorem 1. The scheme given by Theorem 2 (Smoothness) Under the same conditions hold as in Theorem 1. The scheme given by continuously differentiable function which is convex and interpolate the data Theorem 3 (Approximation order) The convexity preserving subdivision scheme has approximation order 4. f k + 1 2 i = ¡ ¢ 4 d