A Note on Subdivision Kwan Pyo Ko Dongseo University
What is Subdivision? Subdivision produces a smooth curve or surface as the limit of a sequence of successive refinements We can repeat a simple operation and obtain a smooth result after doing it an infinite number of times p j + 1 = S p j ( S p ) a = X b ® a ¡ 2 b p b
Subdivision Surfaces
history Classical schemes: De Rahm(1947) Chaikin(1974)- An algorithm for high speed curve generation Riesenfeld(1975)- On Chaikin ’ s algorithm Catmull-Clark (1978)- Recursively generated B-spline surfaces on arbitrary topological meshes Doo-Sabin (1978)- Behavior of recursive division surfaces near extraordinary points Ball-Storry(1986)- A matrix approach to the analysis of recursively generated B-spline surfaces Loop (1987)- Smooth subdivision surfaces based on triangles (new domain, eigen analysis) Dyn,Levin,Gregory(1987)- A 4-point interpolatory subdivision scheme for curve design (1990)- A butterfly subdivision scheme for surface interpolation with tension control Reif(1995)- A unified approach to subdivision algorithms near extraordinary vertices.
history New Schemes: Kobbelt(1996)- Interpolatory subdivision on open quadrilateral nets with arbitrary topology (2000)- subdivision Velho(2000)- Quasi 4-8 subdivision Velho-Zorin(2000)- 4-8 subdivision Dogson,Ivrissimtzis,Sabin(2003)- Characteristic of dual triangular subdivision (2004)- subdivision Non-uniform schemes: Warren(1995)- Binary subdivision schemes for functions of irregular knot sequences Gregory,Qu(1996)- Non-uniform corner cutting Sederberg,Sewell,Sabin(1998)- Non-uniform recursive subdivision surfaces Dyn(1999)- Using Laurent polynomial representation for the analysis of non-uniform binary SS Non-stationary schemes: Dyn,Levin(1995)- Analysis of asymptotically equivalent binary subdivision schemes Morin,Warren,Weimer(2001)- A subdivision scheme for surfaces of revolution Dyn,Levin,Luzzatto(2003)- Non-stationary interpolatory SS reproducing spaces of exponential polys. p 3 p 3 p 5
Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997) Subdivision (2000) p 3
Why Subdivision? Arbitrary topology Multi-resolution Simple/Efficient code Construct Wavelet Analysis
Chaikin’s Algorithm -converges to the quadratic B-Spline. p k i + 1 = 1 4 p k i p k i + 1 p k i = 3 4 p k i p k i + 1
Cubic Spline Algorithm -converges to the cubic B-Spline. p k i + 1 = 1 8 p k i p k i p k i + 2 p k i = 1 2 p k i p k i + 1
4-point Interpolatory Scheme (N. Dyn, D.Levin and J.Gregory) -continuous for -C 1 for p k i = p k i j w j < < w < 1 8 p k i + 1 = µ w ¶ ( p k i + p k i + 1 ) ¡ w ( p k i ¡ 1 + p k i + 2 )
Deslauriers-Dubuc Scheme Finding a minimally supported mask such that (2N+1)th degree polynomial filling property (de Villiers, Goosen and Herbst) DD mask has the explicit formulation X k a j ¡ 2 k p ( k ) = p ( j 2 ) ; j 2 Z ; p 2 ¼ 2 N + 1 a j = 0 ; j j j ¸ 2 N + 2 a 2 j + 1 = N N + 1 µ 2 N + 1 N ¶ ( ¡ 1 ) j 2 j + 1 µ 2 N + 1 N + j + 1 ¶ ; j = ¡ N ¡ 1 ;:::; N a 2 j = ± j ; 0 ; j = ¡ N ;:::; N
Polynomial Reproducing DD scheme obtained the mask by using polynomial reproducing property 4-point DD scheme: f k i = f k i ; f k i + 1 = 9 16 ( f k i + f k i + 1 ) ¡ 1 16 ( f k i ¡ 1 + f k i + 2 ) :
Ternary Interpolatory Subdivision Scheme
p j j = p i j p j j + 1 = ap i j ¡ 1 + b p i j + cp i j d p i j + 2 p j j + 2 = d p i j ¡ 1 + cp i j + b p i j ap i j + 2 a = ¡ 1 18 ¡ 1 6 w ; b = w ; c = 7 18 ¡ 1 2 w ; d = ¡ w : C 2 f or 1 15 < w < 1 9 where the weights are given by
Mask of binary 2n-point SS Y.Tang, K.P.Ko and B.G.Lee obtained the mask of interpolatory symmetric SS by using symmetry and the necessary condition for smoothness. [ w ; ¡ w ][ 2 w ; ¡ 3 w ¡ 1 16 ; w ][ 5 w ; ¡ 9 w ¡ ; 5 w ¡ ; ¡ w ][ 14 w ; ¡ 28 w ¡ ; 20 w ¡ ; ¡ 7 w ¡ ; w ]
General form for mask of 2n-point ISSS The coefficients of w can be expressed in a matrix form
We found out that matrix A satisfied the particular rule. A = A ¢¢¢ 0 A 2 1 A 2 2 ¢¢¢ A n 1 A n 2 ¢¢¢ A n n : A n i = 8 > > < > > : A n ¡ 1 i ¡ A n ¡ 1 i + 1 i = 1 ;n = 2 ; 3 ::: ( ¡ 1 ) n ¡ 1 i = n 2 A n ¡ 1 i ¡ A n ¡ 1 i ¡ 1 ¡ A n ¡ 1 i + 1 i = 2 ; 3 :::; n;n = 3 ; 4 ;::: 0 i > n :
Relation between 2n-point ISSS and DD scheme We have the mask of 2n-point ISSS: a ISSS ; 2 n 2 i ¡ 1 = a ISSS ; 2 n ¡ 2 i + 1 a ISSS ; 2 n 2 i ¡ 1 = a DD ; 2 n ¡ 2 2 i ¡ 1 + A n i w ; i = 1 ; 2 ; 3 :::; n ; n 2 N + ; a DD ; 2 1 = 1 2 ; a DD ; 2 3 = ¢¢¢ = a DD ; 2 n ¡ 2 2 n ¡ 1 = 0
Example (for n=3) we get 6-point ISSS: a ISSS ; 6 1 = a DD ; A 3 1 w = w ; a ISSS ; 6 3 = a DD ; A 3 2 w = ¡ 1 16 ¡ 3 w ; a ISSS ; 6 5 = a DD ; A 3 3 w = w : [ w ; ¡ 1 16 ¡ 3 w ; w ; w ; ¡ 1 16 ¡ 3 w ; w ] :
Matrix formula for the mask of 2n-point DD scheme The formula can be written in the form: w i = i 2 4 i ¡ 3 µ 2 i ¡ 1 i ¡ 1 ¶ 1 2 i ¡ 1
Example (for n=3) we obtain 6-point DD scheme: A = 2 4 A A 2 1 A A 3 1 A 3 2 A = ¡ 10 2 ¡ ; w n = [ w 1 ; w 2 ; w 3 ] = [ 1 2 ; 1 16 ; ][ ; ¡ ; ; ; ¡ ; ] :
Mask of D-D scheme
Generalization of Mask (G.J.Yoon) Consider the problem of finding mask reproducing polynomial of degree (2N+1) We let a = f a j g 2 N + 3 j = ¡ 2 N ¡ 3 v = a 2 N + 2 ; w = a 2 N + 3 X k a j ¡ 2 k p ( k ) = p ( j 2 ) ; j 2 Z ; p 2 ¼ 2 N + 1 :
For we get the mask j = - N - 1, ¢¢¢ ; N ; a 2 j = ± j ; 0 + ( ¡ 1 ) j + N + 1 µ 2 N + 2 N + j + 1 ¶ v : a 2 j + 1 = N N + 1 µ 2 N + 1 N ¶ ( ¡ 1 ) j 2 j + 1 µ 2 N + 1 N + j + 1 ¶ + ( ¡ 1 ) j + N + 1 w µ 2 N + 1 N + j + 1 ¶ ( 2 N + 2 )( 2 j + 1 ) ( N + j + 2 )( N ¡ j + 1 )
Remark We obtain symmetric SS which reproduce all polynomial degree (2N+1) and which is not interpolatory. In case v=0, it becomes (2N+4) interpolatory SS. In case v=w=0, it becomes (2N+2) DD scheme.
Example For N=1, we get In case v=0, we have In case v=w=0, it becomes 4-point DD scheme [ w ; v ; ¡ 1 16 ¡ 3 w ; ¡ 4 v ; w ; v ; w ; ¡ 4 v ; ¡ 1 16 ¡ 3 w ; v ; w ] : [ w ; 0 ; ¡ 1 16 ¡ 3 w ; 0 ; w ; 1 ; w ; 0 ; ¡ 1 16 ¡ 3 w ; 0 ; w ] : [ ¡ 1 16 ; 0 ; 9 16 ; 1 ; 9 16 ; 0 ; ¡ 1 16 ] :
Approximation Order Definition A subdivision scheme S has approximation order n if for initial data with smooth F enough Theorem The approximation order of a convergent SS S, which is exact for, is n+1. Q) Determine the approximation order of the 4-point DD scheme. f 0 i = F ( i h )j( F ¡ S 1 f 0 )( x )j · C h n ¼ n
Subdivision Zoo Classification : stationary or non-stationary binary or ternary type of mesh (triangle or quadrilateral) approximating or interpolating linear or non-linear
Classification Vertex insertion (primal) –Insert a vertex on the interior of each edge and one on the interior of each face for quads –Loop, Kobbelt, Catmull-Clark, Modified Butterfly Corner cutting (dual) –Insert a face in the middle of each old face and connect faces in adjacent old faces –Doo-Sabin
Classification Interpolating –Can control the limit surface in a more intuitive manner –Can simplify algorithms (efficient) Approximating –Higher quality surfaces –Faster convergence
Face split (primal type) Vertex split (dual type) Triangular meshesQuad.meshes approximatingLoopCatmull-Clark interpolatingButterflyKobbelt Quad. meshes approximatingDoo-Sabin, Midedge ( C 2 )( C 2 )( C 1 )( C 1 )( C 1 )( C 1 )
Binary Subdivision of B-Spline Univariate B-Spline : where : normalized B-Spline. ( ¤ ) S r ( u ) = X i 2 Z d r i N r ( u ¡ i ) ; N r
Properties Partition of unity : Positivity : Local support : Continuity : Recursion : P i N r ( u ¡ i ) = 1 N r ( u ) ¸ 0 N r ( u ¡ i ) = 0 i f u = 2 [ i ; i + r + 1 ] N r ( u ) 2 C ( r ¡ 1 ) N r ( u ¡ i ) = u ¡ i r N r ¡ 1 ( u ¡ i ) + i + r + 1 ¡ u r N r ¡ 1 ( u ¡ i ¡ 1 )
Idea behind Subdivision Rewrite the curve (*) as a curve over a refined knot sequence (*) becomes DetermineA single B-Spline can be decomposed into similar B- Spline of half the support. Z = 2 : S r ( u ) = X j 2 Z = 2 ^ d r j N r ( 2 ( u ¡ j )) ^ d r j
This results in where For example Chaikin’s algorithm N r ( u ) = X j 2 Z = 2 c r j N r ( 2 ( u ¡ j )) ; ^ d r j = X i 2 Z c r j ¡ i d r i ; j 2 Z = 2 r = 2 ^ d 2 0 = X i 2 Z c 2 ¡ i d 2 i = ¢¢¢ + ( 3 = 4 ) d 2 ¡ 1 + ( 1 = 4 ) d ¢¢¢ ^ d 2 1 = 2 = ¢¢¢ + ( 1 = 4 ) d 2 ¡ 1 + ( 3 = 4 ) d ¢¢¢ c r j = 2 ¡ r ¡ r j ¢
Tensor Product B-Spline Surface S r ; s ( u ) = X i 2 Z 2 d r ; s i N r ; s ( u ¡ i ) A tensor product B-Spline is the product of two independently univariate B-Splines, i.e N r ; s ( u ¡ i ) = N r ( u ¡ i ) N s ( v ¡ j )
Example 1 The mask set : ^ d r ; s j = X i 2 Z 2 c r ; s j ¡ i d r ; s i ; j 2 Z 2 = 2 r = s = 2 ^ d 2 ; 2 0 ; 0 = ¢¢¢ + ( 9 16 ) d 2 ; 2 ¡ 1 ; ¡ 1 + ( 3 16 ) + d 2 ; 2 0 ; ¡ 1 + ¢¢¢ ¢¢¢ + ( 3 16 ) d 2 ; 2 ¡ 1 ; 0 + ( 1 16 ) + d 2 ; 2 0 ; 0 + ¢¢¢ c r ; s j = c r i c s j = 2 ¡ ( r + s ) µ r i ¶µ s j ¶
Example 2 The mask for bi-cubic tensor product B-Spline r = s = 3
Triangular Spline A triangular spline surface : where : a normalized triangular spline of degree (r+s+t-2) ( ¤ ) S r ; s ; t ( u ) = X i d r ; s ; t i N r ; s ; t ( u ¡ i ) ; u 2 R 2 ; i 2 Z 2 N r ; s ; t ( u )
Subdivision of Triangular Spline 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 r ; s ; t j N r ; s ; t 2 ( u ¡ j ) N r ; s ; t ( u ) = X j 2 Z = 2 c r ; s ; t j N r ; s ; t ( 2 ( u ¡ j )) ;
Where The subdivision masks for the triangular spline ^ d r ; s ; t j = X i 2 Z c r ; s ; t j ¡ i d r ; s ; t i N 2 ; 2 ; 2 ( u ) c r ; s ; t j = 2 ¡ ( r + s + t ) t X k = 0 µ r 2 i ¡ k ¶µ s 2 j ¡ k ¶µ t k ¶
Doo-Sabin Scheme Approximating Scheme Tensor Product Quadratic B-Spline Continuity –C 1 regular regions and extraordinary vertices Dual Quadrilateral
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.
P0P0 P1P1 P3P3 P2P2 P’’ 2 P’ 3 P’ 0 P’ 2 P’ 1 P’ b P’’ 1 P’’ 3 P’’ 0 Doo-Sabin Scheme S DS 4 = ( P 0 \ ; P 1 \ ; P 2 \ ; P 3 \ ) T = S DS 4 ( P 0 ; P 1 ; P 2 ; P 3 ) T
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
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 DS n = ( ® i j ) n £ n ; C 1 C 1 ® i j = 5 + n 4 n ; i = j ® i j = cos ³ 2 ¼ ( i ¡ j ) n ´ 4 n ; i 6 = j
Maple Code: osabin.pdfhttp:// osabin.pdf
Catmull-Clark Scheme Approximating Scheme Tensor Product Bicubic B-spline Continuity - C 2 regular regions –C 1 extraordinary vertices Primal Quadrilateral
q 11 : New face points q 12 : New edge points q 22 : New vertex points P 41 P 42 Catmull/Clark Algorithm
New face points : New edge points : New vertex points : q 12 = C + D 2 + P 12 + P ; C = q 11 ; D = q 13 q 22 = Q 4 + R 2 + P 22 4 q 11 = P 11 + P 12 + P 21 + P 22 4 Q = q 11 + q 13 + q 31 + q 33 4 R = 1 4 ·µ p 22 + p 12 2 ¶ + µ p 22 + p 21 2 ¶ + µ p 22 + p 32 2 ¶ + µ p 22 + p 23 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. 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 R S ;
Note : tangent plane continuity was not maintained at extraordinary points. N : order of the vertex tangent plane continuity at extraordinary points. ^ S = 1 N Q + 2 N R + N ¡ 3 N S
Maple Code: mullclark.pdfhttp:// mullclark.pdf
Butterfly Scheme Interpolating Scheme General Scheme Continuity –C 1 regular regions Primal Triangular Quadrisection
Butterfly scheme q k e = 1 2 ( p k e ; 1 + p k e ; 2 ) + 2 w ( p k e ; 3 + p k e ; 4 ) ¡ w 8 X j = 5 p k e ; j p k + 1 i = p k i [ q k e
The mask of the butterfly scheme:
Well-known Fact On the three directional grid, if the values given are constant in one of the three grid directions (1,0),(0,1),(1,1), then the butterfly scheme inserts new values which are constant in the same direction and could be computed by univariate 4-point scheme along the other two grid directions. For a new vertex in the (1,0) direction, the rule is f k i + 1 ; j = 1 2 ( f k i ; j + f k i + 1 ; j ) + 2 w ( f k i + 1 ; j f k i ; j ¡ 1 ) ¡ w ( f k i + 2 ; j f k i ; j f k i ¡ 1 ; j ¡ 1 + f k i + 1 ; j ¡ 1 )
For a new vertex in the direction (0,1) For (1,1) Under the assumption f k + 1 i ; 2 j + 1 = 1 2 ( f k i ; j + f k i ; j + 1 ) + 2 w ( f k i + 1 ; j f k i ¡ 1 ; j ) ¡ w ( f k i + 1 ; j f k i + 1 ; j + f k i ¡ 1 ; j ¡ 1 + f k i ¡ 1 ; j + 1 ) f k i + 1 ; 2 j + 1 = 1 2 ( f k i ; j + f k i + 1 ; j + 1 ) + 2 w ( f k i + 1 ; j + f k i ; j + 1 ) ¡ w ( f k i + 2 ; j f k i + 1 ; j f k i ¡ 1 ; j + f k i ; j ¡ 1 ) f k i ; j = f k 0 ; j
We get from the first insertion rule For a new vertex (0,1) direction we get The third insertion rule gives the same rule as above. f k i + 1 ; j = f k 0 ; j f k + 1 i ; 2 j + 1 = ( w )( f k 0 ; j + f k 0 ; j + 1 ) ¡ w ( f k 0 ; j f k 0 ; j ¡ 1 )
Maple Code: terfly.pdfhttp:// terfly.pdf
Loop Scheme Approximating Scheme Three Directional Box-Spline Continuity –C 2 regular regions –C 1 extraordinary vertices Primal Triangular Quadrisection
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 ; 2 ; 2 ( u )
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 V Q ;
Note : tangent plane continuity is lost at the extraordinary points.
Loop scheme where -curvature continuity at regular point. -tangent plane continuity at extaordinary point. ^ V = ® N V + ( 1 ¡ ® N ) Q ; ® N = µ cos 2 ¼ N ¶
Maple Code p.pdfhttp:// p.pdf
Mid-Edge Scheme P0P0 P1P1 P3P3 P2P2 P’ 3 P’ 0 P’ 2 P’ 1 P’’ 0 P’’ 1 P’’ 3 P’’ 2 S ME 4 = ( P 0 \ ; P 1 \ ; P 2 \ ; P 3 \ ) T = S ME 4 ( P 0 ; P 1 ; P 2 ; P 3 ) T For an n-sided face, subdivision matrix : S ME n = ( ¯ i j ) n £ n ; ¯ i j = 1 + cos 2 ¼ ( i ¡ 1 ) n n
Circulant matrix eigenvalues of can be calculated by evaluating the polynomial. S G n = a 0 a 1 ¢¢¢ a n ¡ 1 a n ¡ 1 a 0 ¢¢¢ a n ¡ a 1 a 2 ¢¢¢ a S G n z = w j ; w = e i 2 ¼ n ; j = 0 ; 1 ; ¢¢¢ ; n ¡ 1 P n ( z ) = a 0 + a 1 z + ¢¢¢ + a n ¡ 1 z 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. 1.interpolatory. 2.local : four points scheme. define the first and second differences. df i = f i + 1 ¡ f i d i = d 2 f i = f i + 1 ¡ 2 f i + f i ¡ 1 f k i = f k i f k i + 1 = 1 2 ¡ f k i + f k i + 1 ¢ ¡ F 1 ¡ f k i ¡ 1 ; f k i ; f k i + 1 ; f k i + 2 ¢
3. invariant under addition of affine functions. ( ★ ) f k i = f k i f k i + 1 = 1 2 ¡ f k i + f k i + 1 ¢ ¡ F ( d k i ; d k i + 1 ) : subdivision function F 4. continuous 5. homogeneous, i.e., 6. symmetric F ( ¸ x ; ¸ y ) = ¸ F ( x ; y ) f k i = f k i f k i + 1 = 1 2 ¡ f k i + f k i + 1 ¢ ¡ F 2 µ 1 2 ( f k i + f k i + 1 ) ; df k i ; d k i ; d k i + 1 ¶
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=0linear SS.only (Question) under what conditions, SS(*) with conditions 1 to 6 and convexity condition generate continuously differentiable limit functions. Answer 0 · F ( x ; y ) · 1 4 m i n f x ; y g ; 8 x ; y ¸ 0 C 0
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 i = f k i f k i + 1 = 1 2 ¡ f k i + f k i + 1 ¢ ¡ d k i + 1 d k i + 1
Analysis of convergence and smoothness of binary SS by the formalism of Laurent polynomials A binary univariate SS: f k + 1 i = X j 2 Z a i ¡ 2 j f k j The general form of an interpolatory SS: f k i = f k i f k i + 1 = X j 2 Z a j f k i ¡ j
For each scheme, we define the symbol Theorem 1 Let be a convergent SS, then Theorem 2 Let denote a SS with symbol satisfying (*). Then there exists a SS with the property where and S a ( z ) = X i 2 Z a i z i S a ( ¡ 1 ) = 0 ; a ( 1 ) = 2 a ( z ) df k = S 1 df k ¡ 1 f k = S k f 0 S ( ¤ ) X j 2 Z a 2 j = X j 2 Z a 2 j + 1 = 1 S 1 df k = f( df k ) i = 2 k ( f k i + 1 ¡ f k i )g
Theorem 3 is a uniformly convergent SS, if only if converges uniformly to the zero function Theorem 4Let. If is convergent, then for any initial data. S 1 2 S 1 l i m k ! 1 ( 1 2 S 1 ) k f 0 = 0 a ( z ) = ( 1 + z ) m 2 m b ( z ) S b S 1 a f 0 2 C m ( R ) f 0
Draft Objective: obtain the mask of interpolatory subdivision schemes (binary 2n-point scheme, ternary 4-point scheme, butterfly scheme) using symmetry and necessary condition for smoothness. A binary univariate SS: f k + 1 i = X j 2 Z a i ¡ 2 j f k j The general form of an interpolatory SS: f k i = f k i f k i + 1 = X j 2 Z a j f k i ¡ j
4-point interpolatory SS The 4 –point interpolatory SS: The Laurent-polynomial of this scheme is By symmetry and necessary condition, we get mask a ( z ) = a ¡ 3 z ¡ 3 + a ¡ 1 z ¡ a 1 z + a 3 z 3 a 1 + a 3 = 1 2 [ ¡ w ; w ; w ; ¡ w ] f k i = f k i f k i + 1 = a 3 f k i ¡ 1 + a 1 f k i + a ¡ 1 f k i a ¡ 3 f k i + 2
6-point interpolatory SS The 6 –point interpolatory SS: The Laurent-polynomial of this scheme is By symmetry and necessary condition, we get mask a ( z ) = a 5 z ¡ 5 + a ¡ 3 z ¡ 3 + a ¡ 1 z ¡ a 1 z + a 3 z 3 + a ¡ 5 f k i + 3 a 1 + a 3 + a 5 = a a = 0 [ w ; ¡ 1 16 ¡ 3 w ; w ; w ; ¡ 1 16 ¡ 3 w ; w ] f k i = f k i f k i + 1 = a 5 f k i ¡ 2 + a 3 f k i ¡ 1 + a 1 f k i + a ¡ 1 f k i a ¡ 3 f k i a ¡ 5 f k i + 3
Ternary interpolatory SS A ternary SS The general form of an interpolatory SS: f k + 1 i = X j 2 Z a i ¡ 3 j f k j f k i = f k i f k i + 1 = X j 2 Z a j f k i ¡ k f k i + 2 = X j 2 Z a j f k i ¡ k
For each scheme, we define the symbol Theorem 5 Let be a convergent SS, then (**) Let us consider a n-ary convergent scheme. The associated polynomial satisfies the properties. S a ( z ) = X i 2 Z a i z i S ( ¤ ) X j 2 Z a 3 j = X j 2 Z a 3 j + 1 = X j 2 z a 3 j + 2 = 1 a ( e 2 i ¼ = 3 ) = a ( e 4 i ¼ = 3 ) = 0 ; a ( 1 ) = 3 a ( 1 ) = n ; a ( w p n ) = 0 ; w p n = e 2 i p¼ n ; p 2 f 1 ; 2 ;:::; n ¡ 1 g
Theorem 6 Let denote a SS with symbol satisfying (*). Then there exists a SS with the property where and Theorem 7 is a uniformly convergent SS, if only if converges uniformly to the zero function a ( z ) df k = S 1 df k ¡ 1 f k = S k f 0 SS 1 df k = f( df k ) i = 3 k ( f k i + 1 ¡ f k i )g S 1 3 S 1 l i m k ! 1 ( 1 3 S 1 ) k f 0 = 0
Ternary 4-point interpolatory SS The ternary 4 –point interpolatory SS: The Laurent-polynomial of this scheme is a ( z ) = a ¡ 5 z ¡ 5 + a ¡ 4 z ¡ 4 + a ¡ 2 z ¡ 2 + a ¡ 1 z ¡ a 1 z + a 2 z 2 + a 4 z 4 + a 5 z 5 f k i = f k i f k i + 1 = a 4 f k i ¡ 1 + a 1 f k i + a ¡ 2 f k i a ¡ 5 f k i + 2 f k i + 2 = a 5 f k i ¡ 1 + a 2 f k i + a ¡ 1 f k i a ¡ 4 f k i + 2
By symmetry and necessary condition, we get mask Let a 1 + a 2 + a 4 + a 5 = 1 3 a 2 ¡ 3 a a 5 = 1 a 4 + a 5 = ¡ 1 9 a 5 = ¡ ¹
Butterfly subdivision scheme
The bivariate Laurent polynomial of this scheme: The symbol of the butterfly scheme: a ( z 1 ; z 2 ) = 3 X i = ¡ 3 3 X j = ¡ 3 a i ; j z i 1 z j 2 a ( z 1 ; z 2 ) = 1 2 ( 1 + z 1 )( 1 + z 2 )( 1 + z 1 z 2 )( 1 ¡ wc ( z 1 ; z 2 ))( z 1 z 2 ) ¡ 1 ; c ( z 1 ; z 2 ) = 2 z ¡ 2 1 z ¡ z ¡ 1 1 z ¡ 2 2 ¡ 4 z ¡ 1 1 z ¡ 1 2 ¡ 4 z ¡ 1 1 ¡ 4 z ¡ z ¡ 1 1 z z 1 z ¡ ¡ 4 z 1 ¡ 4 z 2 ¡ 4 z 1 z z 2 1 z z 1 z 2 2
The verification that the scheme generates requires checking the contractivity of three schemes: Butterfly scheme satisfies: 2 ( 1 + z 1 ) b ( z 1 ; z 2 ) ; 2 ( 1 + z 2 ) b ( z 1 ; z 2 ) ; 2 ( 1 + z 1 z 2 ) b ( z 1 ; z 2 ) w ¡ w = 0 ; w ¡ 2 w + w = 0 ; ¡ w ¡ 2 w ¡ w + w = 0 ; ¡ ¡ 1 2 = 0
Symmetric 8-point Butterfly SS ( 1 ; 2 = ® ) ; ( 3 ; 4 ) = ¯ ) ; ( 5 ; 6 ; 7 ; 8 = ° ) A = ¢¢¢¢ °° ¢ ¢¢ ° ¢ ¯ ¢ ° ¢ ° ¯ ®® ¯ ° ¢¢ ® 1 ® ¢¢ ° ¯ ®® ¯ ° ¢ ° ¢ ¯ ¢ ° ¢¢ ¢ °° ¢¢¢¢
To converges to a surface with, we have This is the same mask of Butterfly scheme: C 0 1 ; 2 = ; 4 = 2 w 5 ; 6 ; 7 ; 8 = ¡ w 2 ° + ¯ = 0 ; ¡ 2 ® + 1 = 0
Symmetric 10-point Butterfly SS ( 1 ; 2 = ® ) ; ( 3 ; 4 = ¯ ) ; ( 5 ; 6 ; 7 ; 8 = ° ) ; ( 9 ; 10 = w ) A = ¢¢¢ w°°w ¢¢ ° ¢ ¯ ¢ ° ¢ ° ¯ ®® ¯ ° w ¢ ® 1 ® ¢ w ° ¯ ®® ¯ ° ¢ ° ¢ ¯ ¢ ° ¢¢ w°°w ¢¢¢
To converges to a surface with, we have We find the mask of 10-point Butterfly scheme: This mask is exact with a modified Butterfly scheme C 0 ° = w 1 ; 2 = 1 2 ¡ w 3 ; 4 = 2 ° 5 ; 6 ; 7 ; 8 = ¡ ° 9 ; 10 = w 2 ° + ¯ = 0 ; ¡ 2 ® ¡ 2 w + 1 = 0
Non-stationary Subdivision Scheme Construction an insertion rule by interpolation with the span of the functions Consider the k-th level insertion rule at the point based on the values at the points the solution of system leads to the insertion rule f 1 ; t ; cos t ; s i n t g µ 2 ¡ k ¡ 1 ¡ µ 2 ¡ k ; 0 ; µ 2 ¡ k ; 2 µ 2 ¡ k
Non-stationary Butterfly Scheme Objective: given a well-known non-stationary 4- point scheme as the following rule: Our objective is to extend this non-stationary 4- point scheme to 2D Butterfly scheme, we denote w k = 1 16 cos ( µ 2 ¡ k ¡ 2 ) cos ( µ 2 ¡ k ¡ 1 )
Definition Two SSs and are asymptotically equivalent if where Theorem 1 Let and be two asymptotically equivalent SSs having finite masks of the same support. Suppose is non-stationary and is stationary. If is and Then the non-stationary scheme is. $S$$S$ f S a k g f S b k g 1 X k = 0 k S a k ¡ S b k k < 1 k S a k k 1 = max f X j a ( k ) 2 ® j ; X j a ( k ) 2 ® + 1 jg f S a k g f S a g f S a k g f S a g f S a g f S a k g C m C m 1 X k = 0 2 m k k S a k ¡ S a k < 1
Lemma For The mask of : $S$$S$ k ¸ 0 ; 0 · µ · ¼ = · w k · 1 8 j w k ¡ 1 16 j · C 2 2 k f S k g
Subdivision operator associated with butterfly scheme has mask: Theorem The non-stationary butterfly scheme is asymptotically equivalent to the stationary butterfly scheme. Moreover, the limit function belong to. S f S k g f S g C 1
Subdivision (Kobbelt) Approximating Scheme Continuity –C 2 regular regions –C 1 extraordinary vertices Triangular Trisection Adaptive Refinement p 3
Subdivision Subdivision schemes on triangle meshes are usually based on the 1-to-4 split operation which inserts a new vertex for every edge of the given mesh and then connects the new vertices. p 3
Subdivision This scheme is based on a split operation which first inserts a new vertex for every face of the given mesh. Flipping the original edges. Applying this scheme twice leads to a 1-to-9 refinement of the original mesh. p 3
Smoothing Rules Two smoothing rules, one for the placement of the newly inserted vertices and one for the relaxation of the old ones. Reverse Engineering Process: instead of analyzing a given scheme, we derive one which by construction satisfies the known necessary criteria. q: = 1 3 ( p i + p j + p k ) S ( p ) : = ( 1 ¡ ® n ) p + ® n 1 n n ¡ 1 X i = 0 p i
Subdivision Matrix When analyzing the eigen-structure of this matrix, it is not suitable all eigenvalues are complex. S = uvvv ¢¢¢ v 1110 ¢¢¢ ¢¢¢ u = 3 ( 1 ¡ ® n ) ; v = 3 ® = n
Subdivision Matrix The matrix has its eigen-values: The necessary condition for C1:. The choice for the eigen-values: R = ¢¢¢ ¢¢¢ ~ S = RS [ 9 ; ( 2 ¡ 3 ® n ) 2 ; cos ( 2 ¼ 1 n ) ; ¢¢¢ ; cos ( 2 ¼ n ¡ 1 n )] ¸ 1 = 1 > ¸ 2 = ¸ 3 > ¸ i ; i = 4 ;:::; n + 1 ¸ 4 = ¸ 2 2 ) ® n = 4 ¡ 2 cos ( 2 ¼ = n ) 9
Boundaries Edge flipping at the boundaries is not possible. We have to apply a univariate tri-section rule to the boundary polygon and connect the new vertices to the corresponding interior ones such that a uniform 1-to-9 split is established for each boundary triangle. We can obtain tri-section mask for cubic splines by convolution 1 3 [ 1 ; 2 ; 3 ; 2 ; 1 ] ¤ ( 1 3 [ 1 ; 1 ; 1 ]) 2 = 1 27 [ 1 ; 4 ; 10 ; 16 ; 19 ; 16 ; 10 ; 4 ; 1 ]
Interpolatory -Subdivision Stencil for a new vertex and scheme: p 3 q k + 1 = ( p k 1 + p k 2 + p k 3 ) ¡ 1 81 ( p k 4 + p k 5 + p k 6 ) ¡ 2 81 ( p k 7 + p k 8 + p k 9 + p k 10 + p k 11 + p k 12 )
Interpolatory -Subdivision Modification for extraordinary vertices: For p 3 q k + 1 = ®p k + n ¡ 1 X i = 0 ® i p k i ® = 8 9 ; ® n i = cos ( 2 ¼ i = n ) cos ( 4 ¼ i = n ) n n ¸ 5 n = 3 ® = 8 9 ; ® 0 = 7 27 ; ® 1 = ® 2 = ¡ 2 27 ® = 8 9 ; ® 0 = 7 36 ; ® 1 = ® 3 = 1 27 ; ® 2 = ¡ 5 36 n = 4
Stencil for boundary subdivision p k i ¡ 1 = ¡ 4 81 p k i ¡ p k i ¡ p k i ¡ 5 81 p k i + 1 p k i + 1 = ¡ 5 81 p k i ¡ p k i p k i + 1 ¡ 4 81 p k i + 2 p k 3 i = p k i
Reflection vertices across the boundary of the mesh
Eigen Structure of SS Successive applying of a matrix relates to eigenvectors and values. Applying of a matrix to a vector produces a transformation on the vector Why are eigenvalues and vectors so important? same limit ¸ v ; ¸ 2 v ; ¸ 3 v ;::: S v = ¸ v S v ; S 2 v ; S 3 v ;:::
Affine Invariance Sum of row elements must be unit, so What is the interpretation of above relation? is an eigenvector of S and is the corresponding eigenvalue S = = ¸ = 1
Subdivision Limit Position If then S is. 1 = ¸ 0 > ¸ i ; f i = 1 ; n g ¸ 0 C 0 S = V¤V ¡ 1 = £ v 0 v 1 ¢¢¢ v n ¤ ¸ 0 0 ¢¢¢ 0 0 ¸ 1 ¢¢¢ ¢¢¢ ¸ n v ¡ 1 0 v ¡ v ¡ 1 n
To find the limit neighborhood, we must compute All of the vertices of the limit local neighborhood converges to the same position P 1 S 1 P 1 = S 1 P 0 = v ¡ 1 0 v ¡ 1 0 ¢¢¢ v ¡ P 0
Subdivision Derivatives The 1 st derivatives of the subdivision manifold for a parameter direction u defines: We define the 2 nd and 3 rd u = l i m g ! 1 1 ¸ g 1 p g i + 1 ¡ p g i k p 0 i + 1 ¡ p 0 i 2 u 2 = l i m g ! 1 1 ¸ g 2 ( p g i + 1 ¡ p g i ) ¡ ( p g i ¡ p g i ¡ 1 ) k p 0 i + 1 ¡ p 0 i k 3 u 3 = l i m g ! 1 1 ¸ g 3 ( p g i + 2 ¡ 2 p g i p g i ) ¡ ( p g i + 1 ¡ 2 p g i + p g i ¡ 1 ) k p 0 i + 1 ¡ p 0 i k 3
Example: Uniform Cubic Spline Eigen Decomposition of S: S = = V¤V ¡ ¡ ¡ 1 = 22 = ¡ 1 = = 22 = = = = = = 64 = 61 = 60 0 ¡ = 6 ¡ 22 = 611 = 60 1 ¡ 33 ¡ 10 0 ¡ 13 ¡
S g = V¤ g V ¡ 1 = V ¸ g ¸ g ¸ g ¸ g V ¡ 1
Limit Position We derive the formula for the limit position S 1 = = 64 = 61 = = 64 = 61 = = 64 = 61 = = 64 = 61 = = 64 = 61 = P 1 = S 1 P 0 V 0 ; 0 ; 0 = 1 6 V ¡ 2 ; ¡ 1 ; V ¡ 1 ; 0 ; V 0 ; 1 ; 2
1 st Derivatives Differencing and is the same as differencing the corresponding row and of p g i + 1 p g i i + 1 i S S u = D u S g D u = ¡ ¡ ¡ ¡
We derive the subdivision process is P u S u P V 0 ; 0 ; 0 u = ¡ 1 2 V ¡ 2 ; ¡ 1 ; V 0 ; 1 ; S u = l i m g ! 1 1 ¸ g S u = ¡ ¡ ¡ ¡
2 nd Derivatives The same finite differencing can be done to the 1 st derivatives matrix to compute 2 nd 2 S u 2 = D S u D uu = 2 4 ¡ ¡ ¡ S u 2 = 2 4 ¸ g 3 ¸ g 2 ¡ 3 ¸ g 3 ¡ 2 ¸ g ¸ g 3 ¸ g 2 ¡ ¸ g ¸ g 2 ¡ 2 ¸ g 2 ¸ g ¸ g 2 ¡ ¸ g 3 ¡ 2 ¸ g ¸ g 3 ¸ g 2 ¡ 3 ¸ g 3 ¸ g 3 3 5
We derive the subdivision process is 2 S u 2 = l i m g ! 1 1 ¸ g 2 S u 2 = ¡ ¡ ¡ P u 2 2 S u 2 P 2 V 0 ; 0 ; 0 u 2 = V ¡ 2 ; ¡ 1 ; 0 ¡ 2 V ¡ 1 ; 0 ; 1 + V 0 ; 1 ; 2
3 rd Derivatives We can iterate again to check if the subdivision process is C3: The rows are not the same, so the process is not 3 S u 3 = D 2 S u 2 D uuu = · ¡ ¡ 11 3 S u 3 = · ¡ ¸ g 3 3 ¸ g 3 ¡ 3 ¸ g 3 ¸ g ¡ ¸ g 3 3 ¸ g 3 ¡ 3 ¸ g 3 ¸ g 3 ¸
Catmull-Clark Subdivision
Loop Subdivision
Subdivision p 3