Title: Analysis techniques for subdivision schemes
1Analysis techniques for subdivision schemes
Joe Warren Rice University
2A 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?
3Choosing a modeling technology
- Many possibilities points, polygons,
algebraics, implicits, NURBS, subdivision
surfaces - 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
4Typical analysis problems
- 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.
5Analysis of subdivision schemes using linear
algebra
- Convergence/smoothness analysis for subdivision
schemes - D S T D
- Exact computation of values, derivatives and
inner products for subdivision schemes - N S N
- ST E S E
- Interpolation of curves using subdivision schemes
- M S C M
6Example Cubic subdivision
Add new vertices between pairs of consecutive
vertices, repositioned via rules
7Example Catmull-Clark subdivision
8Subdivision as linear algebra
- Express positions of vertices of coarse and fine
mesh as column vectors pk and pk1 - Construct subdivision matrix S whose rows
correspond to rules for scheme - Relate vectors via the subdivision relation
- pk1 S pk
- Apply linear algebra to S to analyze and
manipulate the scheme
9Subdivision matrix for cubics
Rows of subdivision matrix S alternate between
rules and Consider only 5x5
sub-matrix centered at fixed mesh vertex
10Part I Smoothness analysis
- Given a scheme, are the limit meshes produced by
the scheme Cn continuous? - Observe that pk is related to p0 via
- pk Sk p0
- Compute diagonal matrix ? of eigenvalues and
matrix Z of right eigenvectors satisfying - SZ? Z-1
11Right 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. -
- C2 cubic example
12Smoothness condition
- Build difference matrix D that annihilates Zp
- D Zp 0
- Construct matrix T that satisfies relation
- (2n D) S T D
- T is subdivision matrix for differences D pk
- (2n D) pk1 T D pk
- Theorem If there exists kgt0 withTk8lt 1, the
limit meshes for the scheme are Cn
13Smoothness for cubic splines
- Form difference matrix D as nullspace of Zp
- Compute subdivision matrix T for differences
- Observe that T8½ so scheme is C2
14Non-uniform subdivision schemes
- Tri/quad subdivision - mesh of triangles/quads
- Methods - Loop/Stam, Levin2, Schaefer/Warren
15C2 analysis for tri/quad schemes
- Construct matrix S for tri/quad interface
- Compute Zp, D, and T from S
- Attempt to find kgt0 such that Tk8lt1
- Problems
- D and T are not uniquely determined
- Bounding Tk8 is difficult since number of
distinct rows in Tk grows exponentially - For non-uniform schemes, assembling these rows is
a tricky computation
16Simpler smoothness test (Levin2)
- Construct finite sub-matrices S0 and S1 of matrix
S centered along tri/quad interface
S0
17Simpler smoothness test (Levin2)
- Construct finite sub-matrices S0 and S1 of matrix
S centered along tri/quad interface
S1
18Joint spectral radius condition
- Compute finite subdivision matrices T0 and T1
- 4D S0 T0 D
- 4D S1 T1 D
- Theorem If there exists a kgt0 such that
- Te1Te2Tek 8lt1
- for all ei 0,1, the scheme is C2
19Part 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.
20Exact position on limit mesh
- Treat mesh as being parameterized by t
- Compute limit position of mesh at arbitrary t
- For piecewise polynomial schemes, blossom right
eigenvectors (Stam) - For non-polynomial schemes, develop method to
evaluate mesh at rational pts ti/j - Get tangents by evaluating difference scheme
21Two-scale relation
- Let n(t) be the basis function associated with
subdividing the vector p0(, 0, 1, 0, )T - n(t) satisfies a two-scale relation of the form
- Coefficients si form columns of S
22Exact evaluation at rational pts
- 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 - Solve equations to generate exact values
- Solution is dominant left eigenvector of
upsampled S generated using power method
23Exact values of n(i/3) for cubics
- Examples of equations generated by two-scale
- Exact values from 2 to 2
24Values of n(i/3) for 4 pt scheme
- Four point scheme non-polynomial scheme
- Exact values for 3 to 0
25Exact valuation of inner products
- Given p0 and q0, compute inner product
- where p(t)p8 and q(t)q8
- Applications include fitting, fairing, mass
properties - Previous work compute using polynomial rep with
infinite sums at extraordinary vertices (Peters,
Reif)
26A relation for inner products
- Define inner product matrix E satisfying
- 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 - ST E S 2 E
27Enclosed area as an inner product
- Input is closed polygon whose x and y coordinates
are p0 and q0, respectively - Defines smooth curve with param (p(t),q(t))
- Enclosed area is inner product
- Construct scheme T for derivatives, solve for
inner product matrix E from - ST E T E
28Enclosed area for 4 point curves
- Rows of inner product matrix E are shifts of
- Inscribe base polygon in unit circle - graph area
29Enclosed area for 4 point curves
Rows of inner product matrix E are shifts
of Inscribe base polygon in unit circle - graph
area
30Enclosed area for 4 point curves
Rows of inner product matrix E are shifts
of Inscribe base polygon in unit circle - graph
area
31Enclosed area for 4 point curves
Rows of inner product matrix E are shifts
of Inscribe base polygon in unit circle - graph
area
32Enclosed area for 4 point curves
Rows of inner product matrix E are shifts
of Inscribe base polygon in unit circle - graph
area
33Enclosed area for 4 point curves
Rows of inner product matrix E are shifts
of Inscribe base polygon in unit circle - graph
area
34Part III - Lofting
- Problem Build a subdivision scheme C for curve
nets lying on a Catmull-Clark surface. - Previous work polygonal complexes (Nasri)
35A 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 four vertices special interpolating
rule for two intersecting cubics - Other valences next talk
36An interpolating rule for cubics
- Modify subdivision rules at vertex v of cubic
such that v always lies at its limit position
37The commutative relation
- 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
38Solving for C using the relation
- Solve for interpolating rules by inverting N.
- Yields special rules on two-ring of vertex v
- Multiple cubics can interpolate v
39Understanding the new rules
- Construct two or more polygons passing through
common vertex v - Apply rules to each polygon independently
40Understanding the new rules
- Construct two or more polygons passing through
common vertex v - Apply rules to each polygon independently
41Understanding the new rules
- Construct two or more polygons passing through
common vertex v - Apply rules to each polygon independently
42Understanding the new rules
- Construct two or more polygons passing through
common vertex v - Apply rules to each polygon independently
43Understanding the new rules
- Construct two or more polygons passing through
common vertex v - Apply rules to each polygon independently
44Lofting the curve nets
- 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
- Ck M M Sk
- Therefore, S8p0 interpolates C8q0 where
- q0M p0
45Change of basis at valence two
46Change of basis at valence four
47Extraordinary vertices
- 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 - Idea Fix curve net rules, generate modified
surface rules at extraordinary vertices
48Generating modified surface rules
- Expand commutative relation C MM S into block
form - Solve locally for S via block decomposition
- Dont form Sc explicitly, use filters!
49Conclusions
- Many important types of analysis are possible for
subdivision schemes - Linear algebra, especially commutative relations,
is the key to these analysis methods - Better theory supporting these analysis methods
is needed - Many thanks to Scott Schaefer!