Download presentation
Presentation is loading. Please wait.
Published byAlexander Ryan Modified over 9 years ago
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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.