Presentation is loading. Please wait.

Presentation is loading. Please wait.

Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.

Similar presentations


Presentation on theme: "Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004."— Presentation transcript:

1 Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004

2 Subdivision: concept Piecewise linear geometry with vertices P 0 Refine and reposition using subdivision rule P 0, P 1, P 2 

3 Subdivision Surfaces The same concept for surfaces: Piecewise linear geometry refined: P 0, P 1, P 2  P 0 P 1 P 2  P 1 P 0 P 1 P 2  P 1 Properties of P 1 ? Continuous, smooth, fair…?

4 Overview Introduction Subdivision schemes ConstructionAnalysis

5 Spline curve subdivision Control polygon P=P 0 Cut corners recursively, get P 1, P 2  Subdivision rule: p 2k =(3p k-1 + p k )/4 p 2k =(3p k-1 + p k )/4 p 2k+1 =( p k-1 +3p k )/4 p 2k+1 =( p k-1 +3p k )/4 Subdivision matrix S: Limit P 1 is a quadratic spline (smooth curve)

6 Spline curve subdivision Generalization: refine and average d-1 times P j converge to spline of degree d Linear operations in a subdivision matrix S s.t. P j+1 =SP j P j+1 =SP j Cubic splines: Many curve subdivision methods Next: surfaces

7 Spline surface subdivision P 0 – regular control mesh (grid) in 3D – e.g. points and quadrilaterals Refine P 0 by a certain subdivision rule yields new mesh P 1 Linear operations, collect in a matrix S P j+1 =SP j P j+1 =SP j Control mesh converge to spline bi-degree 2 Generalize: d-1 averages gives bi-degree d Mask

8 Doo Sabin Subdivision (‘78) Generalization: General mesh N-sided faces Any valence (Not only 4) Masks: Still have P j+1 =SP j (linearity) Generalize bi-quadratic spline to arbitrary mesh C 1 continuous (smooth) limit surface [Peters&Reif98]

9 Doo Sabin Subdivision Example

10 Catmull-Clark Subdivision (‘78) Generalize bi-cubic spline to quad mesh Edge mask Face mask Vertex mask P j+1 =SP j As before: P j+1 =SP j Constants:3/2n =1/4n (others possible)

11 Catmull-Clark scheme Implementation version FACE VERTEX EDGE

12 Catmull-Clark scheme P j converge to a C 1 surface, C 2 a.e [Peters&Reif98]

13 Catmull-Clark, special rules Crease/bdy masks Piecewise smooth surface

14 Loop’s scheme (‘87) EdgeVertex

15 EdgeVertex Implementation version

16 Loop boundary mask Use cubic B-spline refinement rules Edge Rule Vertex Rule

17 Loop’s scheme Generalize 3-direction (quartic) box-splines C 1 everywhere, not C 2 in irregular points Special masks for features (Hoppe et al) Alternative view 1.Refine linearly 2.Smooth all vertices by ( Laplacian smoothing )

18 Loop example

19 Spline based schemes All schemes up to now Affine invariance Convex hull property Polynomials locally Splines in regular regions Approximates the control mesh (like splines)

20 Butterfly scheme (‘90) [Dyn,Levin,Gregory]InterpolatingTriangles Not polynomials No convex hull property Not C 1 for n=3 or n>7 Modified scheme [zorin] is C 1 but not C 2 Edge mask

21 Examples Famous schemes

22 Subdivision rules/schemes Many categories, ways to refine mesh etc. Mesh types: tris, quads, hex…, combinations Interpolating/Approximating(Non)Uniform(Non)Stationary(Non)Linear ”Subdivision zoo” Midpoint scheme [Peters&Reif] √3 scheme [Kobbelt] ”Refine&average” [Stam/Warren et al] 4-8 subdivision [Velho&Zorin] Tri/Quad schemes …many more Rules constructed to obtain objective: Mimic splines, interpolation, smoothness/fairness, features,…

23 Surface subdivision Is this a toy? Pros: Many of the pros of splines Flexibility, wrt. topology/mesh Spline surfaces without gaps and seams! Simple to implement Simple/intuitive to manipulate Cons: No global closed form (but locally) Evaluation not straight forward (but…) C k, k>1 is hard Artefacts (ripples etc.) CC cannot make convex surface if n>5 [Peters&Reif04] Geri’s Game (Pixar studios) Splines Toy Story 1

24 NEXT: ANALYSIS Consider primal spline schemes (e.g. Loop, C-C) Linear Affine invariant Convex hull property StationarySymmetric Smooth in regular regions Have vertex correspondency Start with control mesh P 0 with vertices in R 3 Subdivision yields finer meshes P 1,P 2,  What properties does limit surface P 1 have? Study Limit points and normals / tangent planes C 1 smoothness ( Curvature, C 2 )

25 Regular regions If mesh is regular, limit surface P 1 is known (spline) Analyze irregular regions Subdivision Preserves valence Insert new regular vertices ) regular regions grow and ) regular regions grow and irregular regions shrink Limit surface def on the green rings are C 2 quartic splines over triangles of P j Each subdivision adds a spline ring to the neighbourhood of an irregular point Loop scheme

26 The local subdivision matrix Study irregular vertex p and neighbourood P 0 Stationary scheme: subdivision matrix S s.t. P j+1 =S P j P j+1 =S P j map neighbourhood to neighbourhhood S determines limit surface around p Assume S is non-defective S=QQ -1 P j = S P j-1 =S j P 0 = Q j Q -1 P 0 P j = S P j-1 =S j P 0 = Q j Q -1 P 0 Spectral properties of S are fundamental!!! p

27 Spectral analysis S = QQ -1 Q = (q 0,q 1,  q L ) eigenvectors Q = (q 0,q 1,  q L ) eigenvectors  = diag( 0, 1, , L ) eigenvalues, | 0 | ¸ | 1 | ¸  ¸ | L |  = diag( 0, 1, , L ) eigenvalues, | 0 | ¸ | 1 | ¸  ¸ | L | S often block symmetric with circulant blocks ) Can find Q and  with Fourier techniques ) Can find Q and  with Fourier techniques Dominant eigenpair: 0 =1>| 1 | and q 0 =(1, ,1) (Affine invariance) Controls convergence Subdominant eigenpairs: := 1 ¸ 2 ¸  Controls tangent plane continuity Want 1> 1 = 2 >| 3 | Sub-subdominant eigenpairs: := 3 ¸ 4 ¸  Controls curvature Want 2 ¸ ||

28 Limit points Have S j = Q j Q -1 Eigen expansion: P 0 = q i a i a i 2 R 3 P j =  i j q i a i P j =  i j q i a i Since 0 =1>| i | and q 0 = (1, ,1) P j ! (a 0, a 0,  ) T as j ! 1 P j ! (a 0, a 0,  ) T as j ! 1 Limit point: p 1 = a 0 =l 0 P 0 Left eigenvector l 0 can be determined from a n+1 matrix Also: Control mesh converge to continuous surface

29 Spline rings Limit surface P 1 is union of limit point and spline rings x j : x j : n ! P 1 ½ R  P 1 =  x j ( n ) [ p 1 x j : n ! P 1 ½ R  P 1 =  x j ( n ) [ p 1 Where  n = {1, ,n} £ L (quad based scheme) Limit surface can be parameterized over squares Basis functions B 1, ,B N : n ! R s.t.  B i =1 and x j = B i p i j =B P j x j = B i p i j =B P j Define eigenfunctions  i : n ! R  i :=B i q i x j = P j =  i j  i a i x j = P j =  i j  i a i Note that  0 ´ 1 since q 0 =(1,1,  ) L xj(n)xj(n) X j+1 ( n )

30 Tangent plane Each spline x j ring is C 1 Assume: 1> 1 = 2 > 3 and q 1,q 2 lin.indep. Also that a 1,a 2 lin.indep x j = a 0 + j  1 a 1 + j  2 a 2 +  j  x j = a 0 + j  1 a 1 + j  2 a 2 +  j  D u x j = j (D u  1 a 1 + D u  2 a 2 +  D u x j = j (D u  1 a 1 + D u  2 a 2 +  D v x j = j (D v  1 a 1 + D v  2 a 2 +  D v x j = j (D v  1 a 1 + D v  2 a 2 +  Normal is well defined and continuous if Normal(x j ) = D u x j £ D v x j /||D u x j £ D v x j || ! a 1 £ a 2 /||a 1 £ a 2 || Normal(x j ) = D u x j £ D v x j /||D u x j £ D v x j || ! a 1 £ a 2 /||a 1 £ a 2 || Tangent vectors a 1, a 2 found using left eigenvectors of S a1a1 a2a2 N

31 Smoothness – C 1 ) tangent plane cont. if det D ( ,  ) 0 Analysis only relevant if generic data: det (a 1, a 2 )  0 Want C 1, more than tangent plane cont. P 1 is C 1 if it is C 1 fcn. over the Tangent Plane x j = a 0 + j ( 1 a 1 +  2 a 2 )+o( j ) x j = a 0 + j ( 1 a 1 +  2 a 2 )+o( j ) ”ring x j converge uniformly to tangent plane” Big question[Reif]: is limit x j injective? Yes if  1 e 1 +  2 e 2 =(1, 2) is injective a1a1 a2a2 a1a1 a0a0

32 Characteristic map [Reif95] Defined as :=( 1, 2 ):  n ! R 2 (i,u,v)=B(i,u,v)(q 1,q 2 ) (i,u,v)=B(i,u,v)(q 1,q 2 ) Theorem [Reif95]: P 1 is a C 1 surface for generic initial data if := 1 = 2 >| 3 | with q 1,q 2 lin. independent:= 1 = 2 >| 3 | with q 1,q 2 lin. independent  is regular and injective Conditions means  has a cont. Inverse (can be used to parameterize P 1 ) Major point: P 1 is a graph over TP near p 1, thus C 1 regular Not injective Image: n ) 

33 Verifying C 1 regularity [Peters&Reif98] Showed C 1 of DS & CC [Umlauf] Showed C 1 for Loop Check conditions: 1= 0 > 1 = 2 >| 3 | Check regularity and injectivity of  Rotationally symmetric ) study segments Regular: Use Bezier form to show that  u £  v  0 Injectivity: show that boundary is simple Generalizations/simplifications Zorin, Umlauf,…

34 Continuous Curvature – C 2 MUCH harder to get Holy grail: C 2, local, stationary,   0,low polynomial degree Large support? Not stationary?   0 in irregular points[Umlauf&Prautzsch] High degree? [Prautzsch/Reif]: polynomial scheme must have d ¸ 2k+2 for C k Thus C 2 requires degree 6 in regular regions Neccessary condition for bounded curvature : || 2 ¸ | 3 | Has been used to find good schemes (CC/DS)

35 Scheme manipulation Take a scheme S Spectral analysis: find S=Q  Q -1 Manipulate Set e.g. | 3 | · || 2 New eigenvalues  2 New scheme S 2 =Q  2 Q -1 with better properties e.g. bounded curvature

36 Conclusion Subdivision is very usefull in some applications Better methods needed for high end CAD Construction: generalize splines, tune spectrum Analysis of linear schemes based on linear algebra Nonlinear/Nonstationary: Not much is known??, harder!


Download ppt "Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004."

Similar presentations


Ads by Google