390 likes | 723 Views
Subdivision Surfaces. CAGD Ofir Weber. 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).
E N D
Subdivision Surfaces CAGD Ofir Weber
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)
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. Disadvantages of Splines
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.
”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 … Subdivision schemes
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.
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:
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
B-Spline Splitting (cont’) And for individual points noted as qij: Face point: Edge point: Vertex point:
Catmull-Clark scheme ’78 Face Point Edge Point Vertex Point • Q – Average of face points • R – Average of midpoints • P – old vertex
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 therefore at 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
Catmull-Clark, special rules Crease/body masks Piecewise smooth surface
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
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
Matrix form for n=4 • Matrix is large • We want to analyze for all possible n • We want analytic solution
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.
DFT • The equations can be rewritten as a set of equations for each value of ω: In matrix form:
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)
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
3 3/16 9/16 4 2 1 3/16 1/16 0 Doo-Sabin quadratic scheme Masks:
Doo-Sabin quadratic scheme – cont’ • Which resulted in which give discontinuity of exactly the second derivative under all circumstances.
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
Loop’s scheme (‘87) Edge Vertex
Loop’s scheme - Boundary • 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 Edge point Vertex point
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
Butterfly scheme (‘90)-Nira Dyn Original points (Stays) New edge point
Modified Butterfly scheme – Zorin(’96) c b c • 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 a a d d c b c
e3 e2 e1 e0 v eN-1 eN-3 eN-2 Modified Butterfly Scheme –Cont’ Extraordinary Vertex New Edge vertex 1 ring neighborhood • (Valence 6) X (valence 6) • (Valence 6) X (valence != 6) • (Valence != 6) X (valence != 6)
Modified Butterfly Scheme - Summary • Triangles – use any valence • Interpolation • Face Split • C1 everywhere • Not C2 even on regular meshes • Linear
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: • Ck , k>1 is hard (not good for CAD) • Evaluation not straight forward (but…) • Artefacts (ripples etc.) Splines in Toy Story 1 Geri’s Game (Pixar studios)
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