splines subdivision manifolds
play

Splines, Subdivision & Manifolds Luiz Velho IMPA Historical - PowerPoint PPT Presentation

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


  1. Splines, Subdivision & Manifolds Luiz Velho IMPA

  2. 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)

  3. Modeling • Splines (Regular Surfaces) - Free-Form Modeling • Subdivision (Arbitrary Surfaces) - Efficient Algorithms • Manifolds (Smooth Surfaces) - Intrinsic Operations

  4. Related Developments • Parametrizations • Surface Deformation • Re-meshing • Quad Structures • Geometry Processing • Discrete Differential Geometry (DDG)

  5. Scale Spaces & Wavelets • Constructions - Meyer (80) • Smoothness - Daubechies (88) • Multiresolution + FWT - Mallat (89) • Lifting - Sweldens (95)

  6. Road Map Refinable Functions Scale Spaces Subdivision Splines

  7. Scaling Function • Localization (space / frequency) φ ( x ) • Normalization Z φ ( x ) dx = 1

  8. 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 )

  9. Scale Spaces • Smoothing Operator Z φ s ( f ( x )) = φ s,t ( x ) f ( x ) dt • Linear Scale Space - Gaussian • Physical Interpretation - Heat equation (Smoothing ~ Diffusion)

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

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

  12. 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 )

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

  14. 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 )

  15. B-Spline Basis • Refinable Scaling Functions • Basis of P m - Uniform Piecewise Polynomials • Properties - Smoothness - Compact Support - Normalization - Partition of Unity

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

  17. B-Splines & Gaussian • Theorem: m →∞ n m ( x ) = G ( x ) lim

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

  19. Refinable Funcions • Example: Linear Spline 2[1 2 φ (2 x + 1) + φ (2 x ) + 1 √ φ ( x ) = 2 φ (2 x − 1)] 1 1 1 2 2

  20. 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 ) =

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

  22. Refinement & Reconstruction • Decrease Scale = Increase Resolution

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

  24. Elements of Subdivision P ∞ = S ∞ P 0 • Base Shape (control points) P 0 • Limit Shape P ∞ • Subdivision Scheme S

  25. Subdivision Process • Subdivision Iteration P k = SP k − 1 • Limit Shape P ∞ = S ∞ P 0

  26. Graphical Example P 0 P 1 P 2 P 3 · · ·

  27. Subdivision Schemes • Anatomy of Subdivision S = ( R, G ) - R : Refinement Operator - G : Smoothing Operator • Issues - Representation (multiresolution basis) - Convergence

  28. 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 )

  29. Graphical View P k • Topology R • Geometry G P k +1

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

  31. Characteristics • Nature (level dependency) - Stationary S k = S - Non-Stationary • Domain Structure (connectivity) - Regular - Non-Regular

  32. Functional Setting • Uniform Partition y = p ( x ) x

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

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

  35. 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 ))

  36. Domain Discretization • Regular Meshes valence 6 valence 4 regular vertices 3 directions 2 directions

  37. 2D Refinement • Quad-Mesh • Tri-Mesh Obs: preserves regularity

  38. Arbitrary Meshes • Semi-Regular Meshes - Irregular Base Mesh - Regular Refinement extraordinary vertex

  39. 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)

  40. Splines & Manifolds • Uniform Splines - Particular case of Manifold Structure • Characterization - Charts: (basis functions at control vertices) - Transition Function: (affine transformation) - Partition of Unity

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

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

  43. 2D Scheme • Quadrilateral Structure control mesh charts / transition function

  44. Extraordinary Vertices • Characteristic Map k=5 k=13 ‣ Breaks good properties (transition function, etc)

  45. Topological Obstructions • A closed 2-manifold M admits an affine atlas, if and only if M is a torus

Recommend


More recommend