Subdivision Surfaces
Surfaces Having arbitrary Topologies Tensor Product Surfaces Non Tensor Surfaces We can t find u-curves and v-curves in general surfaces
General Subdivision Coarse mesh Subdivision Fine mesh
Change the approach of applying curve schemes
Example of Subdivision
Topology: split face/vertex Geometry: use subdivision masks to smooth out
Use Local masks Extend Chaikin : Doo-Sabin Extend cubic B-spline: Catmull-Clark
Local mask from Chaikin Interior vertices 9/16 3/16 3/16 1/16
Generating function y x
Local mask from cubic Bspline Face points face vertex ¼ ¼ ¼ ¼
Edge-Vertex edge - vertex 1/16 1/16 3/8 3/8 1/16 1/16
Extra-ordinary vertices!
Parametric smoothness and geometric smoothness Regular: inherited from u and v curves Usually parametric smoothness Ir regular: usually geometric smoothness can be checked
Catmull-Clarck Subdivision It is introduced in Computer Aided Design 1978. based on the tensor product of cubic Bspline at regular points and with the smooth tangent at extraordinary points SIGGRAPH 98
Catmull-Clarck Subdivision Splitting each face into a collection of quadrilateral subfaces The new vertices are computed using certain weighted average
Bi-cubic B-Spline subdivision to a general subdivision surface
Weighted average Three different types of vertices Face point Edge point Vertex point
Boundary
Boundary, sharp edges, corners Cubic B-Spline curve masks for boundary and sharp edges Crease is a chain of sharp edges Corner points keep unchanged Red edges are tagged sharp sharp creases are used between the skin and the finger nails
Separate Geometry and Connectivity list of vertices list of faces storing pointers for its vertices efficient for many applications (well fit to Graphics pipeline) obj format from Alias/wavefront (Maya) MD2 format (Games) V F 1,2,3,4
Obj Example Tetrahedron # Obj file format with ext.obj v 1.0 1.0 1.0 v 2.0 0.0 0.0 v 0.0 0.0 0.0 v 1.0 1.6 0.0 f 1 3 2 f 1 2 4 f 1 4 3 f 2 3 4
Inefficiencies for mesh processing and subdivision surfaces Queries Given a vertex, Which edges are share it? Given a vertex, Which vertices are adjacent to it? Given an edge which faces are adjacent to it? Better methods?? o half edge o VV
Half-edge El V1 Er Split the edge into two records (half-edge) Assign all necessary information to each half Face and vertex list index to the half-edge list Traversing of the edges, vertices!? The only weakness :non-orientable surfaces: Moebius strip, Klein bottle Half edge V2 vertex //the vertex at the beginning face //at the left Face Half edge Vertex next //next half edge around the face Half_edge 3D Coordinate Normal pair //the opposite half edge
Example Vertex half-edge x y z V1 V2 Ex (or Hy) Gx H y V 1 Vertex List face half-edge F 2 E y E x F 1 F1 Ex or Gx F2 Hy G x half_edge vertex ( source). Face List face (left) next (half-edge) V 2 pair (half-edge) Ex V1 F1 Gx Ey Ey V2 F2 Hy Ex Half edge
Analysis of Subdivision
Analysis of Subdivision We just have a subdivision matrix or mask How can we guarantee the convergence of the scheme and the smoothness of the limit surface (curve)? How does the limit surface behave around an extraordinary point? smoothness? convergence?
Cubic B-spline Subdivision Illustration by cubic B-spline subdivision We know just the subdivision matrix New notations P j : control point vector in j-th level S j : related subdivision matrix What is the difference between S j and S j+1? The same structures but different dimensions
Local Subdivision Matrix S j and S j+1 have been formed by the same local matrix S j = S = Without j : local subdivision matrix
Geometric Interpretation S S Invariant neighborhoods : 5 old control points 5 new control points Most properties may be checked by the local matrix Continuity Stability Differentiability (S controls behavior of the curve in a neighborhood)
Eigen Analysis Successive applying of a matrix relates to eigenvectors and values. x Ax Special vector Eigenvector and eigenvalue Ax Ax = λ x, x 0 corresponding eigenvalue x right eigenvector
Eigenvalue Evaluation Given A, what are eigenvectors and values? det( A λ I ) = 0 similarity A B The same eigenvalue B = P 1 A is symmetric AP Transforming A to an easy computable eigenvalues B by preserving similarity all eigenvalues are real
Why are these eigenvalues and vectors so important? The same limit
Related Matrices for cubic B-Spline
Some Properties SX = XD 1 X SX = D (Similarity of matrices) ~ x 1 i X The rows of are called left eigenvectors (why?) P R for any (non defective) 5 we can write P 4 = a i x i, a i = ~ x i. p i = 0 We have assumed it is non defective We can easily extend this for any dimension (repeating for any component)
Convergence and Stability P 0 : initial control points, S :local matrix In this case the subdivision process doesn t converge
Non-trivial results We must have (isn t interesting) Therefore, a 0.x 0 How about the case :
Exact Limit of Subdivision For stability and convergence we must have: This property is true for cubic S S S Limit? We can find a 0 from
Affine Invariance Sum of row elements must be the unit, therefore: What is the interpretation of above? is an eigenvector of S, and is the corresponding eigenvalue
Affine Invariance Sufficient and necessary condition for unit summation property: 1: eigenvector 1: eigenvalue We have this property for cubic B spline subdivision
Geometric Approach for smoothness Geometric and intuitive approach: S S S and approach to the same direction
Smoothness We know,and We can choose coordinate system such that a 0 becomes the origin. We have (by dropping i=0) Dividing by, we obtain Here will dominate the behavior of P j The unique configuration at infinity
Left and Right Tangents Left tangent Right tangent
The tangent line Up to scaling by the control set approaches a fixed configuration Therefore we just obtain the geometric continuity( and not parametric continuity ) We can repeat the similar analysis for G 2 But not to the third derivative (why?)
Double Eigenvalue For, two eigenvectors are associated to only one single eigenvalue! The points in the limit configuration will be linear combinations of two vectors x 3 and x 4
Analysis of Dyn-Levin Interpolating Subdivision S is minimum size local subdivision! We have a stable and convergent scheme There is a G 1 continuity The limit curve is not necessary G 2
Surface Analysis The convergence analysis of subdivision schemes is generally done in two steps: First step. Regular meshes (for example for triangular meshes all vertices having valence 6). Second step. Extraordinary sections of meshes Subdivided meshes are regular almost everywhere (referring to standard bicubic, biquadratic,. for analyzing ) Using eigenanalysis for local subdivision matrix in extra ordinary meshes.
Loop Subdivision A triangle based subdivision
Split/average sub steps Limit surface Each step consists of split and average steps Face split of triangular meshes: one to four
Correspondence Split without averaging
Face Splitting A F D C B Every face splits to four new faces F A,B,C,D Updating the face structure Or equivalently: insert midpoints
Mask for Edge-Vertex Edge-vertex mask edge-vertex vertex-vertex
Mask for Vertex-Vertex n: number of adjacent vertices (valences) n > s has much more influence on than other neighbors n=3, or
Example: regular mask(n=6) Displacement Mask
Invariant Neighborhood
Loop Subdivision Extraordinary Convergence and stability
The eigen structure for Loop (extra-ordinary n=3) S = 7/16 3/16 3/16 3/16 3/8 3/8 1/8 1/8 3/8 1/8 3/8 1/8 3/8 1/8 1/8 3/8 X = 1/2 * * -2089/3191 1/2-533/3876 660/883 769/1762 1/2-725/1154-1759/2672 769/1762 1/2 2259/2950-78/875 769/1762 D = 1 0 0 0 0 1/4 0 0 0 0 1/4 0 0 0 0 1/16 >> Xinv 4/5 2/5 2/5 2/5 * -482/1423-2575/5172 855/1022 * 482/581-594/1105-224/767-505/551 505/1653 505/1653 505/1653
Analyzing the smoothness (eigenvectors form a basis set) We assume, and are subdominant eigenvalues We again set
Smoothness for a Simple Case: geometric description Set We have Therefore V 1, V 2 and V 3 belong to a unique plane (N,p 0 )
Summary: The limit of control points approaches a fixed configuration This configuration is determined by x 1 and x 2 a 1 and a 2 span the tangent plane
Reif s Sufficient Condition 1-Eigenvalues: 2-The characteristic map is regular one-to-one and onto) (see Warren s book for details) Eigenvalues Specific conditions Desirable properties
The cause of cosine terms in subdivision Local subdivision matrices are partitioned to some cirulant matrices
The cause of cosine terms in subdivision Eigenvalues of cirulant matrices are expressed by the roots of unity or discrete Fourier transform i.e.
More Reading for Subdivision Analyzing U.Rief, A Unified Approach to Subdivision Algorithms Near Extraordinary Vertices, CAGD 12 (1995), pp 153 174. J.Warren and H.Weiner, Subdivision Methods for Geometric Design, Morgan Kaufmann, (2002).