Presentation is loading. Please wait.

Presentation is loading. Please wait.

Analysis techniques for subdivision schemes Joe Warren Rice University.

Similar presentations


Presentation on theme: "Analysis techniques for subdivision schemes Joe Warren Rice University."— Presentation transcript:

1 Analysis techniques for subdivision schemes Joe Warren Rice University

2 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?

3 Choosing a modeling technology Many possibilities – points, polygons, algebraics, implicits, NURBS, subdivision surfaces Many possibilities – points, polygons, algebraics, implicits, NURBS, subdivision surfaces Choice based on various factors Choice based on various factors  Ease of use  Expressiveness  Computational efficiency  Analysis techniques Subdivision surfaces – strong on first three points, perceived as weak on last Subdivision surfaces – strong on first three points, perceived as weak on last

4 Typical analysis problems 1. Determine the smoothness of a given curve/surface scheme. 2. Perform exact evaluation of positions, tangents and inner products for a given curve/surface scheme. 3. Interpolate a networks of curves using a given surface scheme.

5 Analysis of subdivision schemes using linear algebra Convergence/smoothness analysis for subdivision schemes Convergence/smoothness analysis for subdivision schemes D S = T D Exact computation of values, derivatives and inner products for subdivision schemes Exact computation of values, derivatives and inner products for subdivision schemes N S = N S T E S = E Interpolation of curves using subdivision schemes Interpolation of curves using subdivision schemes M S = C M

6 Example: Cubic subdivision Add new vertices between pairs of consecutive vertices, repositioned via rules

7 Example: Catmull-Clark subdivision

8 Subdivision as linear algebra Express positions of vertices of coarse and fine mesh as column vectors p k and p k+1 Express positions of vertices of coarse and fine mesh as column vectors p k and p k+1 Construct subdivision matrix S whose rows correspond to rules for scheme Construct subdivision matrix S whose rows correspond to rules for scheme Relate vectors via the subdivision relation Relate vectors via the subdivision relation p k+1 = S p k Apply linear algebra to S to analyze and manipulate the scheme Apply linear algebra to S to analyze and manipulate the scheme

9 Subdivision matrix for cubics Rows of subdivision matrix S alternate between rules and Consider only 5x5 sub-matrix centered at fixed mesh vertex

10 Part I – Smoothness analysis Given a scheme, are the limit meshes produced by the scheme C n continuous? Observe that p k is related to p 0 via Observe that p k is related to p 0 via p k = S k p 0 Compute diagonal matrix Λ of eigenvalues and matrix Z of right eigenvectors satisfying Compute diagonal matrix Λ of eigenvalues and matrix Z of right eigenvectors satisfying S=ZΛ Z -1

11 Right eigenvectors & polynomials Theorem: If scheme is C n continuous, let Z p denoted those right eigenvectors of Z with eigenvalues (½) j where 0 ≤ j ≤ n. Then the right eigenvectors of Z p converge to polynomials of degree at most n. C 2 cubic example:

12 Smoothness condition Build difference matrix D that annihilates Z p Build difference matrix D that annihilates Z p D Z p = 0 Construct matrix T that satisfies relation Construct matrix T that satisfies relation (2 n D) S = T D T is subdivision matrix for differences D p k T is subdivision matrix for differences D p k (2 n D) p k+1 = T D p k Theorem: If there exists k>0 with║T k ║ ∞ 0 with║T k ║ ∞ < 1, the limit meshes for the scheme are C n

13 Smoothness for cubic splines Form difference matrix D as nullspace of Z p Form difference matrix D as nullspace of Z p Compute subdivision matrix T for differences Compute subdivision matrix T for differences Observe that ║T║ ∞ =½ so scheme is C 2 Observe that ║T║ ∞ =½ so scheme is C 2

14 Non-uniform subdivision schemes Tri/quad subdivision - mesh of triangles/quads Methods - Loop/Stam, Levin 2, Schaefer/Warren

15 C 2 analysis for tri/quad schemes Construct matrix S for tri/quad interface Construct matrix S for tri/quad interface Compute Z p, D, and T from S Compute Z p, D, and T from S Attempt to find k>0 such that ║T k ║ ∞ 0 such that ║T k ║ ∞ <1Problems: D and T are not uniquely determined D and T are not uniquely determined Bounding ║T k ║ ∞ is difficult since number of distinct rows in T k grows exponentially Bounding ║T k ║ ∞ is difficult since number of distinct rows in T k grows exponentially For non-uniform schemes, assembling these rows is a tricky computation For non-uniform schemes, assembling these rows is a tricky computation

16 Simpler smoothness test (Levin 2 ) Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface S0S0

17 Simpler smoothness test (Levin 2 ) Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface Construct finite sub-matrices S 0 and S 1 of matrix S centered along tri/quad interface S1S1

18 Joint spectral radius condition Compute finite subdivision matrices T 0 and T 1 4D S 0 = T 0 D 4D S 1 = T 1 D Theorem: If there exists a k>0 such that ║T e1 T e2 …T ek ║ ∞ <1 for all e i {0,1}, the scheme is C 2

19 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.

20 Exact position on limit mesh Treat mesh as being parameterized by t Treat mesh as being parameterized by t Compute limit position of mesh at arbitrary t Compute limit position of mesh at arbitrary t For piecewise polynomial schemes, blossom right eigenvectors (Stam) For piecewise polynomial schemes, blossom right eigenvectors (Stam) For non-polynomial schemes, develop method to evaluate mesh at rational pts t=i/j For non-polynomial schemes, develop method to evaluate mesh at rational pts t=i/j Get tangents by evaluating difference scheme Get tangents by evaluating difference scheme

21 Two-scale relation Let n(t) be the basis function associated with subdividing the vector p 0 =(…, 0, 1, 0, …) T Let n(t) be the basis function associated with subdividing the vector p 0 =(…, 0, 1, 0, …) T n(t) satisfies a two-scale relation of the form n(t) satisfies a two-scale relation of the form Coefficients s i form columns of S Coefficients s i form columns of S

22 Exact evaluation at rational pts Key: To compute n(i/j), treat value of n(t) on the integer grid as being unknowns Key: To compute n(i/j), treat value of n(t) on the integer grid as being unknowns Use two-scale relation to setup system of equations relating these unknowns Use two-scale relation to setup system of equations relating these unknowns Solve equations to generate exact values Solve equations to generate exact values Solution is dominant left eigenvector of upsampled S generated using power method Solution is dominant left eigenvector of upsampled S generated using power method

23 Exact values of n(i/3) for cubics Examples of equations generated by two-scale Exact values from –2 to 2

24 Values of n(i/3) for 4 pt scheme Four point scheme – non-polynomial scheme Exact values for –3 to 0

25 Exact valuation of inner products Given p 0 and q 0, compute inner product where p(t)=p ∞ and q(t)=q ∞ 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)

26 A relation for inner products Define inner product matrix E satisfying Define inner product matrix E satisfying Express p(t) and q(t) as combinations of n(t-i) Express p(t) and q(t) as combinations of n(t-i) Express as sum of inner products of translated n(2t) via two-scale eqs Express as sum of inner products of translated n(2t) via two-scale eqs S T E S = 2 E

27 Enclosed area as an inner product Input is closed polygon whose x and y coordinates are p 0 and q 0, respectively Input is closed polygon whose x and y coordinates are p 0 and q 0, respectively Defines smooth curve with param (p(t),q(t)) Defines smooth curve with param (p(t),q(t)) Enclosed area is inner product Enclosed area is inner product Construct scheme T for derivatives, solve for inner product matrix E from Construct scheme T for derivatives, solve for inner product matrix E from S T E T = E

28 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

29 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

30 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

31 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

32 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

33 Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area 1012141618 20 3.115 3.125 3.13 3.135 3.14

34 Part III - Lofting Problem: Build a subdivision scheme C for curve nets lying on a Catmull-Clark surface. Previous work – polygonal complexes (Nasri) SS MMM CC

35 A scheme for curve nets Ordinary parts of Catmull-Clark surfaces are bicubic splines. Subdivision rules for curve nets at: Valence two vertices – normal cubic rules Valence two vertices – normal cubic rules Valence four vertices – special interpolating rule for two intersecting cubics Valence four vertices – special interpolating rule for two intersecting cubics Other valences – next talk Other valences – next talk

36 An interpolating rule for cubics Modify subdivision rules at vertex v of cubic such that v always lies at its limit position Modify subdivision rules at vertex v of cubic such that v always lies at its limit position CuCu CuCu CC NNN

37 The commutative relation Given subdivision matrix C u for uniform cubics and matrix N that positions v at limit, solve for non-uniform rules in C using Given subdivision matrix C u for uniform cubics and matrix N that positions v at limit, solve for non-uniform rules in C using C N = N C u

38 Solving for C using the relation Solve for interpolating rules by inverting N. Solve for interpolating rules by inverting N. Yields special rules on two-ring of vertex v Yields special rules on two-ring of vertex v Multiple cubics can interpolate v Multiple cubics can interpolate v

39 Understanding the new rules Construct two or more polygons passing through common vertex v Construct two or more polygons passing through common vertex v Apply rules to each polygon independently Apply rules to each polygon independently

40 Understanding the new rules Construct two or more polygons passing through common vertex v Construct two or more polygons passing through common vertex v Apply rules to each polygon independently Apply rules to each polygon independently

41 Understanding the new rules Construct two or more polygons passing through common vertex v Construct two or more polygons passing through common vertex v Apply rules to each polygon independently Apply rules to each polygon independently

42 Understanding the new rules Construct two or more polygons passing through common vertex v Construct two or more polygons passing through common vertex v Apply rules to each polygon independently Apply rules to each polygon independently

43 Understanding the new rules Construct two or more polygons passing through common vertex v Construct two or more polygons passing through common vertex v Apply rules to each polygon independently Apply rules to each polygon independently

44 Lofting the curve nets Given curve scheme, find change of basis M where C commutes with S for Catmull-Clark Given curve scheme, find change of basis M where C commutes with S for Catmull-Clark C M = M S Observe that commutative relation implies Observe that commutative relation implies C k M = M S k Therefore, S ∞ p 0 interpolates C ∞ q 0 where Therefore, S ∞ p 0 interpolates C ∞ q 0 where q 0 =M p 0

45 Change of basis at valence two Row of matrix M has form SS CC MMM

46 Change of basis at valence four Row of matrix M has form SS CC MMM

47 Extraordinary vertices For standard Catmull-Clark, curves passing through an extraordinary verts are not cubics For standard Catmull-Clark, curves passing through an extraordinary verts are not cubics Modify the subdivision rules in the neighborhood of extraordinary vertices to allow interpolation Modify the subdivision rules in the neighborhood of extraordinary vertices to allow interpolation Idea: Fix curve net rules, generate modified surface rules at extraordinary vertices

48 Generating modified surface rules Expand commutative relation C M=M S into block form Expand commutative relation C M=M S into block form Solve locally for S via block decomposition Solve locally for S via block decomposition Don’t form S c explicitly, use filters! Don’t form S c explicitly, use filters!

49 Conclusions Many important types of analysis are possible for subdivision schemes Many important types of analysis are possible for subdivision schemes Linear algebra, especially commutative relations, is the key to these analysis methods Linear algebra, especially commutative relations, is the key to these analysis methods Better theory supporting these analysis methods is needed Better theory supporting these analysis methods is needed Many thanks to Scott Schaefer!


Download ppt "Analysis techniques for subdivision schemes Joe Warren Rice University."

Similar presentations


Ads by Google