Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.

Similar presentations


Presentation on theme: "1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are."— Presentation transcript:

1 1 Subdivision Surfaces CAGD Ofir Weber

2 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are represented by less numbers)  Flexibility (different tessellation-parameters produce different level-of-details from the same surface)

3 3 Disadvantages of Splines Grid should be regular Resolution is not adaptive Problems along seams of patchwork Not well suited for animation – deformable models Topology is not arbitrary (Holes, trim curves) Less easy to add “features” such as crease.

4 4 Subdivision Surfaces – The Alternative

5 5 Applications: Mainly Computer Graphics / animation

6 6 The basic idea In each iteration  Refine a control net (mesh)  Increases the number of vertices / faces The mesh vertices converges to a limit surface Each subdivision scheme has:  Rules to calculate the locations of new vertices.  A method to generate the new net topology.

7 7 Subdivision schemes ”Subdivision Zoo” Catmul Clark Doo Sabin Loop Butterfly – Nira Dyn …many more Classification: Mesh types: tris, quads, hex…, combination Face / vertex split Interpolating / Approximating Smoothness (Non)Linear …

8 8 Uniform Cubic Bi-variant Tensor product B-spline Patch Splitting We can express the bicubic B-spline patch by: where M - B-Spline basis matrix G - set of control points U,V - are the primitive basis vectors.

9 9 B-Spline Splitting (cont’) We will limit our discussion to one quadrant of the patch in which 0<u,v<½, as it is identical to the others, due to symmetry. This is the sub-patch where We can now combine the two last expressions into: where:

10 10 B-Spline Splitting (cont’) Notice that the new patch must still be a bicubic B-spline surface and therefore must satisfy: Thus it must uphold: M is invertible so we can write it as: Where

11 11 B-Spline Splitting (cont’) And for individual points noted as qij: Face point: Edge point: Vertex point:

12 12 Catmull-Clark scheme ’78 Face Point Vertex Point Edge Point  Q – Average of face points  R – Average of midpoints  P – old vertex

13 13 Keep subdividing… After 1 iteration, Every new face is a rectangular. Extraordinary vertices are forever. Valence is retained. Ultimately, at the limit, the surface will be a standard bicubic B-spline surface at every point except at these “extraordinary points”, and thereforeat all but extraordinary points. Catmull & Clark did not prove or guarantee continuity at the extraordinary points but note that trials indicate this much. Later on it was proven to be C1

14 14 Catmull-Clark, special rules Crease/body masks Piecewise smooth surface

15 15 Catmull-Clark - Summary Any topology – better use quad faces and vertices with valence 4 Approximation Generalization of cubic B-Spline Face Split C2 everywhere. C1 on extraordinary vertices Linear

16 16 Behavior near Extraordinary Points - Doo Sabin 78’ Extraordinary faces turns into extraordinary points after the first iteration After that, the number of extraordinary points stays constant The distance between extraordinary points remains, more or less,fixed, And the number of faces between them grows with every step Hence, we can treat each extraordinary point as an isolated phenomenon on a regular lattice

17 17 Matrix Form

18 18 Matrix form for n=4 Matrix is large We want to analyze for all possible n We want analytic solution

19 19 Analyzing matrix M Analyze the eigenvalues and eigenvectors of M. M has cyclic symmetry - we can apply a Discrete Fourier Transform to Q, R and S, and then separate the terms of different frequencies. Define in a similar way.

20 20 DFT The equations can be rewritten as a set of equations for each value of ω: In matrix form:

21 21 DFT (cont’) Finding the eigenvalues is easy now The fact that the largest eigenvalue is 1 indicates that the surface will converge to some limit surface as iterations proceed. Since each row sums to one, is eigenvalue for (1, 1,.., 1)

22 22 Continuity Define for the dominant eigenvalue at frequency ω The limit of the first derivative depends on the ratio If this ratio is less or equal than 1, the surface is slope continuous. For the second derivative, we examine the ratio If this ratio is exactly 1, the curvature will converge to some finite nonzero value. Less than 1 means that there is a local flat point on the surface. Based on this, Doo & Sabin improved the quadratic scheme of Catmull & Clark to be C1 everywhere They couldn’t find similar formula for the cubic scheme

23 23 Doo-Sabin quadratic scheme Masks: 00 11 22 33 44   

24 24 Doo-Sabin quadratic scheme – cont’ Which resulted in which give discontinuity of exactly the second derivative under all circumstances.

25 25 Doo-Sabin Scheme - Summary Any topology – built for quad faces Approximation Vertex Split C1 everywhere, even on extraordinary vertices Generalization of quadratic B-Spline Linear

26 26 Loop’s scheme (‘87) Edge Vertex

27 27 Loop’s scheme - Boundary Vertex point Edge point The boundary is a cubic B-Spline curve The curve only depends on the control points on the boundary Good for connecting 2 meshes C0 for irregularities near boundary

28 28 Loop’s scheme - Summary Triangles – better use valence 6 Approximation Face Split C2 on regular meshes Only C1 on extraordinary points C0 for irregularities near boundary The scheme is based on three directional box Spline Linear

29 29 Butterfly scheme (‘90)-Nira Dyn Original points (Stays) New edge point

30 30 Modified Butterfly scheme – Zorin(’96) a a b bcc cc dd Multiply each vertex by its weight and sum them up w is a control parameter – determines how closely the shape conforms to the original mesh

31 31 Modified Butterfly Scheme –Cont’ v e0e0 e1e1 e2e2 e3e3 e N-1 e N-2 e N-3 Extraordinary Vertex New Edge vertex 1 ring neighborhood 1.(Valence 6) X (valence 6) 2.(Valence 6) X (valence != 6) 3.(Valence != 6) X (valence != 6)

32 32 Modified Butterfly Scheme - Summary Triangles – use any valence Interpolation Face Split C1 everywhere Not C2 even on regular meshes Linear

33 33 Visual Comparison

34 34 Visual Comparison – Cont’

35 35 Visual Comparison – Cont’

36 36 Subdivision: pros and cons Pros: Many of the pros of splines Flexible wrt. topology/mesh No gaps or seams! Features are ”easy” Simple to implement Efficient to visualize Simple/intuitive to manipulate – modeling Hierarchical modeling with offsets Good for deformation – animation Built-in LOD for rendering Cons: C k, k>1 is hard (not good for CAD) Evaluation not straight forward (but…) Artefacts (ripples etc.) Geri’s Game (Pixar studios) Splines in Toy Story 1

37 37 References "Recursively generated B-Spline surfaces on arbitrary topological meshes", by E Catmull and J Clark. Computer Aided Design, Vol. 10, No. 6, pp 350-355, November 1978. "Behavior of recursive division surfaces near extraordinary points", by D Doo and M Sabin. Computer Aided Design, Vol. 10, No. 6, pp 356-360, November 1978. "Geometric Modeling with Splines, An Introduction" by Cohen, Riesenfeld, Elber: Section 7.2.1, Section 13.4, Chapter 20. ZORIN, D., SCHR ¨ODER, P., AND SWELDENS, W. Interpolating Subdivision for Meshes with Arbitrary Topology. Computer Graphics Proceedings (SIGGRAPH 96) (1996), 189–192. DYN, N., LEVIN, D., AND GREGORY, J. A. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Trans. Gr. 9, 2 (April 1990), 160– 169. LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah, Department of Mathematics, 1987. Subdivision for Modeling and Animation – Siggraph 2000 course notes

38 38 Thank you


Download ppt "1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are."

Similar presentations


Ads by Google