Analysis techniques for subdivision schemes Joe Warren Rice
Analysis techniques for subdivision schemes Joe Warren Rice University
A teaser for subdivision gurus Consider the basis function n(t) for the standard, four point interpolatory scheme. Note this function is not piecewise polynomial! What is the exact value of n(⅓) as a rational number?
Choosing a modeling technology n n n Many possibilities – points, polygons, algebraics, implicits, NURBS, subdivision surfaces Choice based on various factors u Ease of use u Expressiveness u Computational efficiency u Analysis techniques Subdivision surfaces – strong on first three points, perceived as weak on last
Typical analysis problems 1. 2. 3. Determine the smoothness of a given curve/surface scheme. Perform exact evaluation of positions, tangents and inner products for a given curve/surface scheme. Interpolate a networks of curves using a given surface scheme.
Analysis of subdivision schemes using linear algebra n n n Convergence/smoothness analysis for subdivision schemes DS=TD Exact computation of values, derivatives and inner products for subdivision schemes NS=N ST E S = E Interpolation of curves using subdivision schemes MS=CM
Example: Cubic subdivision Add new vertices between pairs of consecutive vertices, repositioned via rules
Example: Catmull-Clark subdivision
Subdivision as linear algebra Express positions of vertices of coarse and fine mesh as column vectors pk and pk+1 n Construct subdivision matrix S whose rows correspond to rules for scheme n Relate vectors via the subdivision relation pk+1 = S pk n Apply linear algebra to S to analyze and manipulate the scheme n
Subdivision matrix for cubics Rows of subdivision matrix S alternate between rules and Consider only 5 x 5 sub-matrix centered at fixed mesh vertex
Part I – Smoothness analysis Given a scheme, are the limit meshes produced by the scheme Cn continuous? Observe that pk is related to p 0 via pk = Sk p 0 n Compute diagonal matrix Λ of eigenvalues and matrix Z of right eigenvectors satisfying S=ZΛ Z-1 n
Right eigenvectors & polynomials Theorem: If scheme is Cn continuous, let Zp denoted those right eigenvectors of Z with eigenvalues (½)j where 0 ≤ j ≤ n. Then the right eigenvectors of Zp converge to polynomials of degree at most n. C 2 cubic example:
Smoothness condition Build difference matrix D that annihilates Zp D Zp = 0 n Construct matrix T that satisfies relation (2 n D) S = T D n T is subdivision matrix for differences D pk (2 n D) pk+1 = T D pk n Theorem: If there exists k>0 with║Tk║∞< 1, the limit meshes for the scheme are Cn n
Smoothness for cubic splines n Form difference matrix D as nullspace of Zp n Compute subdivision matrix T for differences n Observe that ║T║∞=½ so scheme is C 2
Non-uniform subdivision schemes Tri/quad subdivision - mesh of triangles/quads Methods - Loop/Stam, Levin 2, Schaefer/Warren
C 2 analysis for tri/quad schemes n n n Construct matrix S for tri/quad interface Compute Zp, D, and T from S Attempt to find k>0 such that ║Tk║∞<1 Problems: n D and T are not uniquely determined n Bounding ║Tk║∞ is difficult since number of distinct rows in Tk grows exponentially n For non-uniform schemes, assembling these rows is a tricky computation
Simpler smoothness test (Levin 2) n Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface S 0
Simpler smoothness test (Levin 2) n Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface S 1
Joint spectral radius condition Compute finite subdivision matrices T 0 and T 1 4 D S 0 = T 0 D 4 D S 1 = T 1 D Theorem: If there exists a k>0 such that ║Te 1 Te 2…Tek ║∞<1 for all ei {0, 1}, the scheme is C 2
Part II – Exact evaluation Problem: Given a scheme, compute exact values for positions and tangents of limit mesh at arbitrary locations. Problem: Given a scheme, compute the exact value for inner products of functions defined via the scheme.
Exact position on limit mesh Treat mesh as being parameterized by t n Compute limit position of mesh at arbitrary t n For piecewise polynomial schemes, blossom right eigenvectors (Stam) n For non-polynomial schemes, develop method to evaluate mesh at rational pts t=i/j n Get tangents by evaluating difference scheme n
Two-scale relation Let n(t) be the basis function associated with subdividing the vector p 0=(…, 0, 1, 0, …)T n n(t) satisfies a two-scale relation of the form n n Coefficients si form columns of S
Exact evaluation at rational pts Key: To compute n(i/j), treat value of n(t) on the integer grid as being unknowns n Use two-scale relation to setup system of equations relating these unknowns n Solve equations to generate exact values n Solution is dominant left eigenvector of upsampled S generated using power method n
Exact values of n(i/3) for cubics Examples of equations generated by two-scale Exact values from – 2 to 2
Values of n(i/3) for 4 pt scheme Four point scheme – non-polynomial scheme Exact values for – 3 to 0
Exact valuation of inner products Given p 0 and q 0, compute inner product where p(t)=p∞ and q(t)=q∞ Applications include fitting, fairing, mass properties Previous work – compute using polynomial rep with infinite sums at extraordinary vertices (Peters, Reif)
A relation for inner products n Define inner product matrix E satisfying n Express p(t) and q(t) as combinations of n(t-i) n Express as sum of inner products of translated n(2 t) via two-scale eqs ST E S = 2 E
Enclosed area as an inner product Input is closed polygon whose x and y coordinates are p 0 and q 0, respectively n Defines smooth curve with param (p(t), q(t)) n Enclosed area is inner product n n Construct scheme T for derivatives, solve for inner product matrix E from ST E T = E
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 3. 14 3. 135 3. 13 3. 125 10 3. 115 12 14 16 18 20
Part III - Lofting Problem: Build a subdivision scheme C for curve nets lying on a Catmull-Clark surface. S M C M C Previous work – polygonal complexes (Nasri)
A scheme for curve nets Ordinary parts of Catmull-Clark surfaces are bicubic splines. Subdivision rules for curve nets at: n Valence two vertices – normal cubic rules n Valence four vertices – special interpolating rule for two intersecting cubics n Other valences – next talk
An interpolating rule for cubics n Modify subdivision rules at vertex v of cubic such that v always lies at its limit position Cu N C N C
The commutative relation n Given subdivision matrix Cu for uniform cubics and matrix N that positions v at limit, solve for non-uniform rules in C using C N = N Cu
Solving for C using the relation Solve for interpolating rules by inverting N. n Yields special rules on two-ring of vertex v n n Multiple cubics can interpolate v
Understanding the new rules Construct two or more polygons passing through common vertex v n Apply rules to each polygon independently n
Understanding the new rules Construct two or more polygons passing through common vertex v n Apply rules to each polygon independently n
Understanding the new rules Construct two or more polygons passing through common vertex v n Apply rules to each polygon independently n
Understanding the new rules Construct two or more polygons passing through common vertex v n Apply rules to each polygon independently n
Understanding the new rules Construct two or more polygons passing through common vertex v n Apply rules to each polygon independently n
Lofting the curve nets Given curve scheme, find change of basis M where C commutes with S for Catmull-Clark CM=MS n Observe that commutative relation implies Ck M = M Sk n Therefore, S∞p 0 interpolates C∞q 0 where n q 0=M p 0
Change of basis at valence two Row of matrix M has form S M C M C
Change of basis at valence four Row of matrix M has form S M C M C
Extraordinary vertices For standard Catmull-Clark, curves passing through an extraordinary verts are not cubics n Modify the subdivision rules in the neighborhood of extraordinary vertices to allow interpolation n Idea: Fix curve net rules, generate modified surface rules at extraordinary vertices
Generating modified surface rules n Expand commutative relation C M=M S into block form n Solve locally for S via block decomposition n Don’t form Sc explicitly, use filters!
Conclusions Many important types of analysis are possible for subdivision schemes n Linear algebra, especially commutative relations, is the key to these analysis methods n Better theory supporting these analysis methods is needed n Many thanks to Scott Schaefer!
- Slides: 49