Analysis techniques for subdivision schemes Joe Warren Rice University.

Slides:



Advertisements
Similar presentations
5.1 Real Vector Spaces.
Advertisements

Lecture 10 Curves and Surfaces I
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
Data mining and statistical learning - lecture 6
Jehee Lee Seoul National University
B-Spline Blending Functions
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Lecture 17 Introduction to Eigenvalue Problems
1 Dr. Scott Schaefer Analysis of Subdivision Surfaces at Extraordinary Vertices.
Eigenvalues and Eigenvectors
Operators in CAD Systems
CS Peter Schröder Subdivision I: The Basic Ideas.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Linear Transformations
Offset of curves. Alina Shaikhet (CS, Technion)
Normal based subdivision scheme for curve and surface design 杨勋年
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
Dirac Notation and Spectral decomposition Michele Mosca.
Lecture 18 Eigenvalue Problems II Shang-Hua Teng.
6 1 Linear Transformations. 6 2 Hopfield Network Questions.
Scott Schaefer Joe Warren A Factored, Interpolatory Subdivision for Surfaces of Revolution Rice University.
1 Dr. Scott Schaefer Subdivision Curves. 2/96 What is subdivision? Set of rules S that take a curve as input and produce a more highly refined curve as.
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
ON MULTIVARIATE POLYNOMIAL INTERPOLATION
CS Subdivision I: The Univariate Setting Peter Schröder.
Computer Graphics Recitation The plan today Least squares approach  General / Polynomial fitting  Linear systems of equations  Local polynomial.
Subdivision Analysis via JSR We already know the z-transform formulation of schemes: To check if the scheme generates a continuous limit curve ( the scheme.
Systems and Matrices (Chapter5)
1 Preliminaries Precalculus Review I Precalculus Review II
ORDINARY DIFFERENTIAL EQUATION (ODE) LAPLACE TRANSFORM.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
V. Space Curves Types of curves Explicit Implicit Parametric.
Eigenvalues and Eigenvectors
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function.
Review of Interpolation. A method of constructing a function that crosses through a discrete set of known data points.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
Vector Norms and the related Matrix Norms. Properties of a Vector Norm: Euclidean Vector Norm: Riemannian metric:
Elementary Linear Algebra Anton & Rorres, 9th Edition
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Elementary Linear Algebra Anton & Rorres, 9 th Edition Lecture Set – 07 Chapter 7: Eigenvalues, Eigenvectors.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
11/26/02(C) University of Wisconsin Last Time BSplines.
(c) 2002 University of Wisconsin
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
CS 325 Computer Graphics 04 / 30 / 2010 Instructor: Michael Eckmann.
Construction of Navau and Garcia. Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control.
1 Chapter 8 – Symmetric Matrices and Quadratic Forms Outline 8.1 Symmetric Matrices 8.2Quardratic Forms 8.3Singular ValuesSymmetric MatricesQuardratic.
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
Representation of Curves & Surfaces
Advanced Engineering Mathematics 6th Edition, Concise Edition
Advanced Computer Graphics
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Eigenvalues and Eigenvectors
Presentation transcript:

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

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.

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

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

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

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

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:

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

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

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

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

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

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

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

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

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

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 ∞ 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 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

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

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

Enclosed area for 4 point curves Rows of inner product matrix E are shifts of Inscribe base polygon in unit circle - graph area

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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!

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!