Splines, Subdivision & Manifolds Luiz Velho IMPA
Historical Perspective subdivision surfaces manifolds splines 1960 1970 1980 1990 2000 2010 De Boor (72) Bezier (60) Chaikin (74) de Casteljau (60) Riesenfeld (80) Doo-Sabin (78) Zorin (89) Catmull-Clark (78) Kobbelt (00) Loop (87) Velho (01) Dyn (90) Schroeder (02) Naveau (02) Grimm (95) Zorin (04) Gu (06) Siqueira (09)
Modeling • Splines (Regular Surfaces) - Free-Form Modeling • Subdivision (Arbitrary Surfaces) - Efficient Algorithms • Manifolds (Smooth Surfaces) - Intrinsic Operations
Related Developments • Parametrizations • Surface Deformation • Re-meshing • Quad Structures • Geometry Processing • Discrete Differential Geometry (DDG)
Scale Spaces & Wavelets • Constructions - Meyer (80) • Smoothness - Daubechies (88) • Multiresolution + FWT - Mallat (89) • Lifting - Sweldens (95)
Road Map Refinable Functions Scale Spaces Subdivision Splines
Scaling Function • Localization (space / frequency) φ ( x ) • Normalization Z φ ( x ) dx = 1
Scaling Family 1 | s | 1 / 2 φ ( x φ s,t ( x ) = s − t ) • Two Parameters - Change of Scale 1 | s | 1 / 2 φ ( x φ s ( x ) = s ) - Change of Position φ t ( x ) = φ ( x − t )
Scale Spaces • Smoothing Operator Z φ s ( f ( x )) = φ s,t ( x ) f ( x ) dt • Linear Scale Space - Gaussian • Physical Interpretation - Heat equation (Smoothing ~ Diffusion)
Discretization ∆ s 0 ,t 0 = { ( s m 0 , ns m 0 t ); m, n ∈ Z } • Dyadic Structure ∆ 2 , 1 = { (2 j , k 2 j ); j, k ∈ Z } • Hyperbolic Lattice V 4 V 3 V 2 V 1
Function Representation • Representation Operator: R ( f ) = ( f j ) j ∈ Z R : L 2 ( R ) → l 2 ( R ) space of functions space of sequences • Approximation Spaces V j = { φ j,k } k ∈ Z scale basis
Basis and Representation • Orthogonal Projection ~ Basis V j X X f j Proj v j ( f ) = < f, φ j,k > = k φ j,k k k X f j f = k φ j,k k representation reconstruction f 7! ( f j k )
Two-Scale Relation • Dilation Equation - Scaling Basis: φ 0 ∈ V 0 ⊂ V − 1 X X φ 0 = < φ 0 , φ − 1 ,k > φ − 1 ,k = h k φ − 1 ,k k k • Reflexive Definition of Basis √ X φ ( x ) = 2 h k φ (2 x − k ) k Refinable Function
Multiresolution Analysis • Nested Approximation Spaces { 0 } ⊂ · · · ⊂ V j +1 ⊂ V j ⊂ V j − 1 ⊂ · · · ⊂ L 2 ( R ) Translations V j+1 V j Dilations V j-1 φ j,k ( x ) = 2 − 2 /j φ (2 − j x − k )
B-Spline Basis • Refinable Scaling Functions • Basis of P m - Uniform Piecewise Polynomials • Properties - Smoothness - Compact Support - Normalization - Partition of Unity
B-Splines • Def: ( repeated integration ) - B-Spline of order 1 (Haar) ⇢ 1 0 ≥ x ≥ 1; 1 n 1 ( x ) = 0 otherwise . 0 1 - B-Spline of order m > 1 Z n m − 1 ( x − t ) dt n m ( x ) = Obs: recurrence relation
B-Splines & Gaussian • Theorem: m →∞ n m ( x ) = G ( x ) lim
B-Spline Subdivision • Refinement Relation m X n m ( x ) = S m k n m (2 x − k ) k =0 • Subdivision Mask ✓ m ◆ 1 S m k = k 2 m − 1
Refinable Funcions • Example: Linear Spline 2[1 2 φ (2 x + 1) + φ (2 x ) + 1 √ φ ( x ) = 2 φ (2 x − 1)] 1 1 1 2 2
Example • Linear B-Spline if 0 < x ≥ 1; x n 2 ( x ) = 2 − x if 1 < x ≥ 2; 0 otherwise 0 2 1 • Rep of p(x) = { p i } X p i n m ( x − i ) p ( x ) =
Scaling and Refinement • Given f in V j X f j f ( x ) = k ( x ) k • Compute Rep of f in V j-1 f j − 1 = < f, φ j − 1 ,k > k X f j k φ j = < k , φ j − 1 ,k > k X f j k < φ j k , φ j − 1 ,k > = k f j X k h k = k
Refinement & Reconstruction • Decrease Scale = Increase Resolution
Subdivision • Reconstruction of f by Refinement (limit process) - start with { f j k } k ∈ Z - iterate j → −∞ f j − 1 X f j k h k = k subdivision operator
Elements of Subdivision P ∞ = S ∞ P 0 • Base Shape (control points) P 0 • Limit Shape P ∞ • Subdivision Scheme S
Subdivision Process • Subdivision Iteration P k = SP k − 1 • Limit Shape P ∞ = S ∞ P 0
Graphical Example P 0 P 1 P 2 P 3 · · ·
Subdivision Schemes • Anatomy of Subdivision S = ( R, G ) - R : Refinement Operator - G : Smoothing Operator • Issues - Representation (multiresolution basis) - Convergence
Subdivision Algorithm • Start with P 0 • Repeat: - Upsample and Change Level P j ( x ) = ↑ P j − 1 ( x ) - Update P j ( x ) = GP j ( x )
Graphical View P k • Topology R • Geometry G P k +1
Vector Notation • Knot Vector P 0 = ( . . . , p 0 − 1 , p 0 0 , p 0 1 , . . . ) • Subdivision Matrix . . . . . s − 2 . . p 1 p 0 . s − 1 − 1 − 1 p 1 p 0 . . . s 2 s 0 s − 2 . . . = 0 0 p 1 p 0 s 1 . 1 1 . . s 2 . . . . . refinement smoothing
Characteristics • Nature (level dependency) - Stationary S k = S - Non-Stationary • Domain Structure (connectivity) - Regular - Non-Regular
Functional Setting • Uniform Partition y = p ( x ) x
Parametric Setting ( x, y ) = p ( t ) = ( x ( t ) , y ( t )) • Extends functional setting - Control Points p i = ( x i , y i ) p ( t ) p 1 p 2 y p 0 p 3 x t
1D Subdivision • Example: Cubic B-Spline S ( x ) = 1 8 x 0 + 1 2 x 1 + 3 4 x 2 + 1 2 x 3 + 1 8 x 4 . . 1 1 . . . . 2 2 1 3 1 8 4 8 p j +1 p j 1 1 . . . . . . . = i k 2 2 1 3 1 8 4 8 1 1 . . . 2 2 . . . .
2D Subdivision • Parametric Surfaces g : U ⊂ R 2 → R 3 g ( u, v ) U M ( x, y, z ) = g ( u, v ) = ( x ( u, v ) , y ( u, v ) , z ( u, v ))
Domain Discretization • Regular Meshes valence 6 valence 4 regular vertices 3 directions 2 directions
2D Refinement • Quad-Mesh • Tri-Mesh Obs: preserves regularity
Arbitrary Meshes • Semi-Regular Meshes - Irregular Base Mesh - Regular Refinement extraordinary vertex
B-Splines & Subdivision • Subdivision Surfaces - Generalize Splines to Non-Regular Connectivity • Examples: - Catmull-Clark (tensor product bi-cubic B-spline) - Loop Subdivision Surface (three-directional quartic box spline)
Splines & Manifolds • Uniform Splines - Particular case of Manifold Structure • Characterization - Charts: (basis functions at control vertices) - Transition Function: (affine transformation) - Partition of Unity
B-Spline Basis • Recursive Definition B n := B n − 1 ∗ B 0 • Closed Form (at segment S j ) x j x j − 1 b j,n ( x ) = b n ( x − x j ) with translation n +1 b n ( x ) := n + 1 X ω i,n ( x − x i ) n + n i =0 • Truncated Power ⇢ ( x − x i ) n if x ≥ x i ; ( x − x i ) n + = 0 if x < x i .
B-Spline Evaluation • At a Segment S j m − 1 X s j ( x ) = c j b j,n ( x ) j =0 • Example: c j-1 c j S j b j-1 b j
2D Scheme • Quadrilateral Structure control mesh charts / transition function
Extraordinary Vertices • Characteristic Map k=5 k=13 ‣ Breaks good properties (transition function, etc)
Topological Obstructions • A closed 2-manifold M admits an affine atlas, if and only if M is a torus
Recommend
More recommend