subdivision making meshes into smooth surfaces
play

Subdivision: Making Meshes into Smooth Surfaces CS 101 Meshing - PDF document

Subdivision: Making Meshes into Smooth Surfaces CS 101 Meshing Winter 2007 1 B-Splines (Uniform) Through repeated integration 1 0 1 B 4 (x) CS 101 Meshing Winter 2007 2 B-Splines Obvious properties piecewise polynomial:


  1. Subdivision: Making Meshes into Smooth Surfaces CS 101 – Meshing Winter 2007 1 B-Splines (Uniform) Through repeated integration 1 0 1 B 4 (x) CS 101 – Meshing Winter 2007 2

  2. B-Splines Obvious properties � piecewise polynomial: � unit integral: � non-negative: � partition of unity: � support: CS 101 – Meshing Winter 2007 3 B-Splines Repeated convolution � box function x CS 101 – Meshing Winter 2007 4

  3. Refinability I B-Spline refinement equation � a B-spline can be written as a linear combination of dilates and translates of itself � example � linear B-spline 1 1/2 1/2 � and all others… CS 101 – Meshing Winter 2007 5 Refinability II Refinement equation for B-splines � take advantage of box refinement CS 101 – Meshing Winter 2007 6

  4. Refinability CS 101 – Meshing Winter 2007 7 B-Spline Refinement Examples 1/2 (1, 2, 1) 1/8 (1, 4, 6, 4, 1) CS 101 – Meshing Winter 2007 8

  5. Spline Functions I Refine each B-spline in sum � example: linear B-spline 1/2 1/2 1 CS 101 – Meshing Winter 2007 9 Spline Functions II Refinement for functions � refine each B-spline in sum refined refinement bases of control points CS 101 – Meshing Winter 2007 10

  6. Refinement of Fncts. Linear operation on control points � succinctly CS 101 – Meshing Winter 2007 11 Refinement of Fncts. Bases and control points CS 101 – Meshing Winter 2007 12

  7. Subdivision Operator Example � cubic splines ⎛ ⎞ O M M M M O ⎜ ⎟ ⎜ L L ⎟ 1 0 0 0 ⎜ ⎟ L L 4 0 0 0 ⎜ ⎟ ⎜ ⎟ L L 6 1 0 0 ⎜ ⎟ L L 4 4 0 0 ⎜ ⎟ ⎜ ⎟ L L 1 6 1 0 ⎜ ⎟ 1 = L L S ⎜ 0 4 4 0 ⎟ 8 ⎜ ⎟ L L 0 1 6 1 ⎜ ⎟ ⎜ L L ⎟ 0 0 4 4 ⎜ ⎟ L L 0 0 1 6 ⎜ ⎟ ⎜ L L ⎟ 0 0 0 4 ⎜ ⎟ L L 0 0 0 1 ⎜ ⎟ 1/8 (1, 4, 6, 4, 1) ⎜ ⎟ O M M M M O ⎝ ⎠ CS 101 – Meshing Winter 2007 13 Subdivision Apply subdivision to control points � draw successive control polygons rather than curve itself CS 101 – Meshing Winter 2007 14

  8. Summary so far Splines through refinement � B-splines satisfy refinement eq. � basis refinement corresponds to control point refinement � instead of drawing curve, draw control polygon � subdivision is refinement of control polygon CS 101 – Meshing Winter 2007 15 Analysis How smooth is the limit? � the subdivision matrix � a finite submatrix representative of overall subdivision operation � based on invariant neighborhoods � structure of this matrix key to understanding subdivision CS 101 – Meshing Winter 2007 16

  9. Example Cubic B-spline � 5 control points for 1 segment on either side of the origin j S j+1 CS 101 – Meshing Winter 2007 17 Neighborhoods Which points influence a region? � for analysis around a point -1 1 CS 101 – Meshing Winter 2007 18

  10. Eigen Analysis What happens in the limit? � behavior in neighborhood of point � apply S infinitely many times… � suppose S has complete set of EVs eigen vectors control points in invariant neighborhood CS 101 – Meshing Winter 2007 19 Convergence Limit position � let j go to infinity � if λ 0 =1 and | λ i |<1 , i= 1 ,…,n -1 � example: cubic B-spline CS 101 – Meshing Winter 2007 20

  11. Geometric Behavior Move limit point to origin � look at higher order behavior tangent vector CS 101 – Meshing Winter 2007 21 Eigen Analysis Summary � invariant neighborhood to understand behavior around point � Eigen decomposition of subdivision matrix helpful � limit point: a 0 , tangent: a 1 General setting more complicated... CS 101 – Meshing Winter 2007 22

  12. Surfaces Arbitrary topology input mesh � assume it is 2-manifold (with boundary) � what is 2-manifold? � non-manifold subdivision possible � mostly triangles or quads � more general allowed though CS 101 – Meshing Winter 2007 23 Subdivision in 2D Quadrilateral � interpolating � Kobbelt scheme CS 101 – Meshing Winter 2007 24

  13. Subdivision in 2D Triangular � approximating � Loop scheme CS 101 – Meshing Winter 2007 25 The Basic Setup Topological rule � modify connectivity CS 101 – Meshing Winter 2007 26

  14. The Basic Setup Geometric rule � compute geometric positions � local linear combination of points even at level i odd at level i CS 101 – Meshing Winter 2007 27 Irregular Vertices Triangle meshes Quad meshes regular valence 6 valence 4 irregular valence ≠ 4 valence ≠ 6 CS 101 – Meshing Winter 2007 28

  15. Some Conditions Subdivision rules should � be simple � only a small set of different stencils � preferably precomputed offline � achieve some order of smoothness � C 1 easy, C 2 much harder � perhaps we really want fairness... CS 101 – Meshing Winter 2007 29 Some Conditions Subdivision rules should � have local definition � stencil weights only depend on the structure of a small neighborhood CS 101 – Meshing Winter 2007 30

  16. Constructing the Rules � invariance under rotations and translations � small support � smoothness and Fairness CS 101 – Meshing Winter 2007 31 Loop Scheme (1987) Generalizes quartic box splines � simple affine combinations β =3/8k 1 1 β β 1 1-k β 6 β 3 3 β 1 1 1 β β boundary CS 101 – Meshing Winter 2007 32

  17. Catmull-Clark (1978) Generalizes bi-cubic B-splines � Biermann et al., 2000 convex concave crease smooth boundary corner corner α 6 1 1 1 1 1-k α -k β β 1 1 6 6 1 1 1 1 boundary 1 1 CS 101 – Meshing Winter 2007 33 Control Points Vertices of initial mesh � define the surface � each influences finite part of surface CS 101 – Meshing Winter 2007 34

  18. Constructing the Rules Start with some regular rules � define rules for Irregular Boundaries Creases etc. vertices CS 101 – Meshing Winter 2007 35 Subdivision Schemes Primal Dual � no interpolation Approx. Interp. Doo-Sabin, Kobbelt Catmull- Midedge Clark Loop Oswald & Butterfly Schröder CS 101 – Meshing Winter 2007 36

  19. General Principle Start with rule from regular setting � repeated refinement only inserts regular vertices � almost everywhere the regular setting applies Example � generalize B-splines CS 101 – Meshing Winter 2007 37 Specific Examples D00-Sabin (CAD, 1978) � generalizes bi-quadratics 3 9 1 face degree 3 CS 101 – Meshing Winter 2007 38

  20. Specific Examples Catmull-Clark (CAD, 1978) � generalizes bi-cubics 1 1 1 1 6 6 1 1 valence 1 1 CS 101 – Meshing Winter 2007 39 B-Spline Quad Schemes Primal schemes � based on face splits � Catmull-Clark Dual schemes � based on vertex splits � Doo-Sabin, Mid-Edge � quartic (Zorin/Schröder) CS 101 – Meshing Winter 2007 40

  21. Quad Spline Schemes B-splines � upsampling followed by repeated averaging (Lane-Riesenfeld) � bi-linear: single average � bi-quadratic: dual average � bi-cubic: triple average � bi-quartic: quadruple average CS 101 – Meshing Winter 2007 41 Quad Schemes Topological split � every vertex splits into k (valence) � 1 step: all vertices have k=4 � 2 steps: at most one irregular face incident on each vertex CS 101 – Meshing Winter 2007 42

  22. Smoothing Operators Two primitive operators 1/k � vertex replication 1/k 1/k � face barycenter 1/k 1/k bi-linear Doo-Sabin Catmull-Clark bi-quartic (CC variant) (variant) (new) CS 101 – Meshing Winter 2007 43 Fundamental Solutions k=4 k=9 Degrees 2 through 9 CS 101 – Meshing Winter 2007 44

  23. Examples Control Mesh Degree 2 Degree 3 Degree 4 Degree 9 Degree 2 through 9 CS 101 – Meshing Winter 2007 45 Adaptive Subdivision 0.1 0.05 0.01 0.03 CS 101 – Meshing Winter 2007 46

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend