The Variety of Subdivision Schemes Kwan Pyo Ko Department of Internet Engineering Dongseo Univ. [email protected] What is Subdivision? • Define a smooth curves/surface as the limit of a sequence of successive refinements pj + 1 = Spj X (Sp) a = b ®a¡ 2bpb Subdivision Surfaces Why Subdivision? • Arbitrary topology • Multiresolution • Simple code • Efficient code • Construct Wavelet Chaikin’s Algorithm : pk2i+ 1 3 k 1 k = pi + pi + 1 4 4 pk2i++11 = 1 k 3 k pi + pi + 1 4 4 converges to the quadratic B-spline. Cubic spline Algorithm : pk2i+ 1 1 k 1 k = pi + pi + 1 2 2 pk2i++11 = 1 k 3 k 1 pi + pi + 1 + pki+ 2 8 4 8 converges to the cubic B-spline. 4-point interpolatory scheme (N. Dyn, D.Levin and J.Gregory): pk2i+ 1 = pki µ pk2i++11 = ¶ 1 + w (pki + pki+ 1 ) ¡ w(pki¡ 2 -continuous for jwj < 1 -C for 0 < w < 18 1 4 1 + pki+ 2 ) Butterfly scheme : 8 X 1 k k k k k qe = (pe;1 + pe;2 ) + 2w(pe;3 + pe;4 ) ¡ w pke;j 2 j=5 pki + 1 = pki [ qek The mask of the butterfly scheme: The mask of the butterfly scheme: Ternary Subdivision Scheme: pj3j+ 1 = pij pj3j++11 = apij ¡ i + cpi i + bp + dp 1 j j+1 j+2 pj3j++12 = dpij ¡ i + bpi i + cp + ap 1 j j+1 j+2 where the weights are given by a= ¡ C 2 for 1 1 13 1 7 1 1 1 ¡ w; b = + w; c = ¡ w; d = ¡ + w: 18 6 18 2 18 2 18 6 1 15 < w< 1 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) Triangular meshes 2) approximating Loop (C interpolating Butterfly (C 1) Quad.meshes Catmull-Clark(C Kobbelt (C 2) 1) Vertex split (dual type) Quad. meshes approximating 1 1 Doo-Sabin (C ) , Midedge (C ) Binary Subdivision of B-splines • Univariate B-splines : (¤) Sr (u) X = dri N r (u ¡ i ); i2Z where N r : normalized B-spline of degree r: Properties : P • • • • • N r (u ¡ i ) = 1 Partition of unity : i r Positivity : N (u) ¸ 0 r Local support : N (u ¡ i ) = 0 if u 2= [i ; i + r + 1] Continuity : N r (u) 2 C ( r ¡ 1) u¡ i i + r + 1¡ u N r ¡ 1 (u ¡ i ¡ 1) Recursion : N r (u ¡ i ) = r N r ¡ 1 (u ¡ i ) + r The idea behind a Subdivision • Rewrite the curve (*) as a curve over a refined knot sequence Z=2: • (*) becomes Sr (u) X = d^rj N r (2(u ¡ j )) j 2 Z =2 • Determine d^rj A single B-spline can be decomposed into similar Bspline of half the support. • This results in N r (u) X crj N r (2(u ¡ j )); = j 2 Z =2 crj where = d^rj = ¡ 2¡ r r 2j+ 1 X ¢ crj ¡ i dri ; j 2 Z=2 i2Z • For exampleX r = 2 d^20 c2¡ i d2i = ¢¢¢+ (3=4)d2¡ 1 + (1=4)d20 + ¢¢¢ = i2Z d^21=2 = ¢¢¢+ (1=4)d2¡ 1 + (3=4)d20 + ¢¢¢ Chaikin’s algorithm Tensor Product B-spline Surfaces Sr ;s (u) X = dri ;s N r ;s (u ¡ i) i2 Z 2 A tensor product Bspline is the product of two independently univariate B-splines, i.e N r ;s (u ¡ i) = N r (u ¡ i )N s (v ¡ j ) d^rj ;s X = r ;s 2 crj ;s d ¡ i i ; j 2 Z =2 i2Z 2 crj ;s • • = cri csj = 2¡ ( r + s) µ ¶µ ¶ r + 1 s+ 1 2i 2j r = s= 2 9 3 2;2 ¢¢¢+ ( )d2;2 + ( ) + d 0;¡ 1 + ¢¢¢ 16 ¡ 1;¡ 1 16 3 1 2;2 ¢¢¢+ ( )d2;2 + ( ) + d 0;0 + ¢¢¢ 16 ¡ 1;0 16 The mask set : Example 1 d^2;2 = 0;0 • Example 2 r = s= 3 The mask for bicubic tensor product B-splines Triangular Splines • A triangular spline surface : (¤) Sr ;s;t (u) X = dri ;s;t N r ;s;t (u ¡ i); u 2 R2; i 2 Z 2 i where N r ;s;t (u) : a normalized triangular spline of degree (r+s+t-2) Subdivision of Triangular Splines • The surface (*) can be rewritten over the refine grid. Sr ;s;t (u) X = d^rj ;s;t N r ;s;t 2(u ¡ j ) j • A single triangular spline is decomposed into splines of identical degree over the refined grid. N r ;s;t (u) X = j 2 Z =2 crj ;s;t N r ;s;t (2(u ¡ j )); d^rj ;s;t X crj ¡;s;ti dri ;s;t = i2 Z Where crj ;s;t = 2¡ ( r + s+ t ) Xt µ k= 0 r 2i ¡ k ¶µ ¶µ ¶ s t 2j ¡ k k 2;2;2 (u) The subdivision masks for the triangular spline N 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. P’3 P0 P’’0 P3 P’’3 (P0 \ ; P1 \ ; P2 \ ; P3 \ ) T = S4D S (P0 ; P1 ; P2 ; P3 ) T P’0 P’2 P’b 2 P’’1 P1 P’’2 P’1 Doo-Sabin scheme S4D S P2 9 1 6 6 3 = 16 4 1 3 3 9 3 1 1 3 9 3 3 3 1 7 7 3 5 9 • 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 midedge points next to the corner. arbitrary topology • For an n-sided face Doo/Sabin used subdivision matrix SnD S = (®i j ) n £ n ; ®i j ®i j = = 5+ n 4n i= j ³ 3 + 2 cos 2¼(ni ¡ 4n ´ j) i6 = j • 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 C 1 , the surfaces generated by the Doo/Sabin algorithm are locally C 1 The Catmull/Clark algorithm : P42 P41 x x P31 P43 x x x P21 x x x P33 q22 x q11 P11 x x q12 P12 x x x P22 x x x P32 x P44 P23 x x x x P34 x x P24 x P13 q11 : New face points q12 : New edge points q22 : New vertex points P14 • New face points : q11 P11 + P12 + P21 + P22 = 4 • New edge points : q12 = C+ D 2 + P1 2 + P2 2 2 2 ; C = q11 ; D = q13 • New vertex points : q22 = Q R P22 + + 4 2 4 q11 + q13 + q31 + q33 Q= 4 ·µ ¶ µ ¶ µ ¶ µ ¶¸ 1 p22 + p12 p22 + p21 p22 + p32 p22 + p23 R= + + + 4 2 2 2 2 • The subdivision masks for bi-cubic B-spline : Approach : generalization of bi-cubic B-spline arbitrary topology • 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. 1Q 4 + 1R 2 + 1 S; 4 • 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. Note : tangent plane continuity was not maintained at extraordinary points. 1 2 N ¡ 3 S^ = Q+ R+ S N N N N : order of the vertex tangent plane continuity at extraordinary points. The Loop Scheme • A generalized triangular subdivision surface. • The subdivision masks for N 2;2;2 (u) • mask A generates new control points for each vertex • mask B generates new control points for edge of the original regular triangular mesh. • 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. 5 3 ^ V = V + Q; 8 8 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. • Note : tangent plane continuity is lost at the extraordinary points. • Loop scheme : ^ = ®N V + (1 ¡ ®N )Q; V where ®N = µ ¶2 3 1 2¼ 3 + cos + 8 4 N 8 - curvature continuity at regular point. - tangent plane continuity at extaordinary point. Mid-Edge Scheme P’3 P0 P3 P’’3 P’’0 P’0 P’2 P’’1 P1 S4M E P’’2 P’1 (P0 \ ; P1 \ ; P2 \ ; P3 \ ) T = S4M E (P0 ; P1 ; P2 ; P3 ) T 2 3 2 1 0 1 16 1 2 1 0 7 6 7 = 4 4 0 1 2 1 5 1 0 1 2 • For an n-sided face, subdivision matrix : SnM E = (¯i j ) n £ n ; P2 1 + cos 2¼( ni ¡ ¯i j = n 1) Circulant matrix 2 6 6 SnG = 6 4 a0 an ¡ 1 .. . a1 a0 .. . a1 a2 ¢¢¢ an ¡ 1 ¢¢¢ an ¡ 2 .. .. . . ¢¢¢ a0 3 7 7 7 5 G eigenvalues of Sn can be calculated by evaluating the polynomial. Pn (z) = a0 + a1 z + ¢¢¢+ an ¡ 1 zn ¡ 1 ; z = wj ; w= e i 2¼ n ; j = 0; 1; ¢¢¢; 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. f 2ik + 1 = f 2ik ++ 11 = f ik ¢ ¡ k ¢ 1¡ k k k k k f i + f i + 1 ¡ F1 f i ¡ 1 ; f i ; f i + 1 ; f i + 2 2 1. interpolatory. 2. local : four points scheme. define the first and second differences. df i di = = f i+ 1 ¡ f i d2 f i = f i + 1 ¡ 2f i + f i ¡ 1 f 2ik + 1 = f 2ik ++ 11 = f ik µ ¶ ¡ ¢ 1 k 1 k f i + f ik+ 1 ¡ F2 (f i + f ik+ 1 ); df ik ; dki ; dki+ 1 2 2 3. invariant under addition of affine functions. (★) f 2ik + 1 = f 2ik ++ 11 = f ik ¢ 1¡ k k f i + f i + 1 ¡ F (dki ; dki+ 1 ) 2 F : subdivision function 4. continuous 5. homogeneous, i.e. , F (¸ x; ¸ y) = ¸ F (x; y) 6. symmetric • Theorem 1 (Convexity) A subdivision scheme of type (*) satisfying conditions 1 to 6 is convex preserving for all convex data F satisfies 0 · F (x; y) · Note : if F=0 1 minf x; yg; 8x; y ¸ 0 4 linear SS. only C 0 (Question) under what conditions, SS(*) with conditions 1 to 6 and convexity condition generate continuously differentiable limit functions. Answer • Theorem 2 (Smoothness) Under the same conditions hold as in Theorem 1. The scheme given by f 2ik + 1 = f 2ik ++ 11 = f ik ¢ 1 1¡ k k f i + f i+ 1 ¡ 2 4 1 d ki 1 + dk1 i+ 1 continuously differentiable function which is convex and interpolate the data • Theorem 3 (Approximation order) The convexity preserving subdivision scheme has approximation order 4.
© Copyright 2025 Paperzz