Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.

Similar presentations


Presentation on theme: "Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo."— Presentation transcript:

1 Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo

2 Overview Basic ideas, curves Subdivision Surfaces Analysis

3 Subdivision concept Polygon V=V 0 Subdivision rule V j ! V j+1 1.Refine V j 2.Reposition vertices Get V 1,V 2, 

4 Spline curve subdivision Get P j+1 from P j by ”corner cutting”: (Chaikins algorithm ’74) v 2k =(3v k-1 + v k )/4 v 2k+1 =( v k-1 +3v k )/4 v 2k+1 =( v k-1 +3v k )/4 Subdivision matrix M: V 1 is a quadratic spline (smooth curve)

5 Spline curve subdivision Average twice v 2k =(v k-1 + 6v k +v k+1 )/ 8 v 2k+1 =(v k +v k+1 )/2 v 2k+1 =(v k +v k+1 )/2 Subdivision matrix M s.t. V 1 is a cubic spline Lane&Riesefeldt[80]: Average d-1 times to get degree d Many other schemes, e.g. interpolating 4-pt scheme

6 Subdivision Surfaces Same concept: Refine piecewise linear geometry V 0 V 1 V 2 V 1 V 0 V 1 V 2 V 1 Properties of limit surface V 1 ? Continuous, smooth, fair…?

7 Applications: modeling

8 Applications: animation

9 Applications: games Half-life 2 (Released Nov 2004)

10 Spline surface subdivision V 0 – regular control mesh (grid) in 3D Generalize univariate subdivision rule: RefineReposition Still linear rules, subdivision matrix V j+1 =MV j V j converge to bi-quadratic spline Generalize: d-1 averages gives bi-degree d Mask

11 Doo-Sabin scheme (‘78) Generalization: arbitrary mesh n-sided faces Any valence (Not only 4) Masks: Still have V j+1 =MV j (linearity) 00 11 22 33 44   

12 Doo Sabin Subdivision Generalize bi-quadratic spline to arbitrary mesh Smooth C 1 limit surface [DS,Peters&Reif98]

13 Catmull-Clark Subdivision (‘78) Edge mask Face mask Vertex mask V j+1 =M V j As before: V j+1 =M V j Constants:3/2n 2 =1/4n 2 (others possible) Generalize bi-cubic splines limit is C 2 exept in irregular points, [Peters&Reif98]

14 Catmull-Clark scheme Implementation version FACE VERTEX EDGE

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

16 Loop’s scheme (‘87) EdgeVertex

17 EdgeVertex Implementation version

18 Loop, special rules Bdy/crease: cubic spline rules Edge Rule Vertex Rule Other rules / effects possible (e.g. piecewise smooth)

19 Loop’s scheme Generalize 3-direction (quartic) box-splines C 2 almost everywhere, C 1 in irregular points Can be seen as a refine and average scheme

20 Famous schemes

21 Subdivision schemes Many schemes, 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 Interpolating curves …many more

22 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 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 in Toy Story 1

23 Limit surface analysis Consider Loop scheme Linear Affine invariant Convex hull property StationarySymmetric Smooth in regular regions Study properties of V 1 = lim j ! 1 V j Limit points and normals G 1 (tangent plane) continuity C 1 continuity C k continuity, k=2,… a1a1 a2a2 N a0a0

24 Parametric representation Parametric representation Limit surface is parametric over V j s : V j ! R 3 p 2 V j is mapped to s(v) 2 V 1 V 1 is a spline in regular regions i.e. has a polynomial representation Regular regions join smoothly What about irregular points/regions? Polynomial patch on regular region

25 Irregular points Irregular points Surrounded by regular rings (eventually): Subdivision Preserves valence Adds regular vertices So So regular region grows irregular region shrinks Refinement adds a (regular) spline ring around IP All points but IP is in regular region eventually Rings join smoothly

26 Spline rings Study irregular vertex v and neighbourhood P j What does P 1 look like around v? Regular spline ring depends only on P j x j : n ! R   n = {1, ,n} £ L, j=0,1,… x j = B i p i j =B P j Smooth ”basis” functions B 1, ,B N B i :  n ! R 0 · B i · 1,  B i =1, Limit points are convex comb. of P j L v

27 The local subdivision matrix Square matrix S such that for all j P j+1 =S P j =S j P 0 S determines limit surface locally S is non-defective, S=QQ -1 Q = (q 0,q 1,  q L ) eigenvectors  = diag( 0, 1,  ) | 0 | ¸ | 1 | ¸ …  = diag( 0, 1,  ) | 0 | ¸ | 1 | ¸ … Eigen-expansion P j = Q j Q -1 P 0 =  i j q i a i, a i 2 R 3 Spectral properties of S are fundamental!!! v

28 Eigenfunctions Recall x j =  B i p i j =B P j =B S j P 0 = B Q  j Q -1 P 0 = B Q  j Q -1 P 0 Define eigenfunctions BQ = ( 0, , N )  i :  n ! R  i := B q i Eigen-expansion: x j = i j  i a i

29 Limit surface Limit surface P 1 =  x j ( n ) x j =  i=1   i j  i a i, j=0,1,2,  Can show (Loop’s and others) 0 =1 > = 1 = 2 > 3 0 =1 > = 1 = 2 > 3 q 1  q 2 linearly independent q 0 =(1,1, ,1)  0 ´ 1 since  B i =1 Thus x j =a 0 + j ( 1 a 1 +  2 a 2 )+ o( j ) ! a 0 a 0 = l 0 P 0 where l 0 is left eigenvector of a n+1 system In fact: P j converge to s(v)=a 0 The limit surface is continuous in v

30 Tangent plane Each spline ring x j is C 1 and hence G 1 x j = a 0 + j  1 a 1 +  2 a 2  +  j  Differentiate 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(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 || Limit normal is well defined and continuous if and a 1 £ a 2  0 and a 1 £ a 2  0 Then Limit surface is G 1 for generic initial data Tangent vectors a 1, a 2 found using left eigenvectors of small system a1a1 a2a2 N a0a0

31 C 1 regularity V 1 is C 1 if it is C 1 fcn. over the Tangent Plane (TP) x j = a 0 + j ( 1 a 1 +  2 a 2 )+o( j ), a i 2 R 3 ”rings x j converge uniformly to tangent plane” TP component scaled by TP component scaled by  j+1 ( 1 a 1 +  2 a 2 )= ( j ( 1 a 1 +  2 a 2 )) So TP parameterized by similar rings a 0 + j ( 1 a 1 +  2 a 2 ), j=0,1,  Param. is injective if  1 a 1 +  2 a 2 is Then the limit surface is C 1 around a 0 a2a2 a1a1 a0a0

32 Characteristic map Defined as :=( 1,  ):  n ! R 2 =B (q 1,q 2 ) =B (q 1,q 2 ) Theorem[Reif95]: P 1 is C 1 for generic initial data if := 1 = 2 >| 3 | with q 1,q 2 lin. independent  is regular and injective Conditions means  has a cont. Inverse, P 1 is a graph over TP near IP, thus C 1 regular  can be used to parameterize P 1 Many schemes are C 1 (DS, CC, Loop, Midpoint…) [Peters&Reif,Umlauf,…] Not injective n)n)n)n)  nnnn Injective n)n)n)n) 

33 Spectral analysis S often block circulant ) find Q and  with Fourier techniques Dominant eigenpair: 0, q 0 Controls continuity, convergence 0 =1>| 1 | and q 0 =(1, ,1) (Affine invariance) 0 =1>| 1 | and q 0 =(1, ,1) (Affine invariance) Subdominant eigenpairs: := 1 ¸ 2 ¸  Controls tangent plane continuity Want 1> := 1 = 2 >| 3 | and q 1,q 2 lin. indep. Sub-subdominant eigenpairs: := 3 ¸ 4 ¸  Controls curvature Want 2 ¸ ||

34 Continuous Curvature – C 2 MUCH harder to get Holy grail: C 2, local, stationary,   0, low degree Large support / High degree ? [Prautzsch/Reif]: pol. scheme must have d ¸ 2k+2 for C k Thus degree ¸ 6 for C 2 Non-stationary?   0 in irregular points [Prautzsch&Umlauf] Neccessary condition for bounded curvature : || 2 ¸ | 3 | Has been used to construct/improve schemes [Prautzsch&Umlauf]

35 Scheme manipulation Recall S=Q  Q -1 Manipulate Set e.g. | 3 | · || 2 New eigenvalues in  2 New scheme S 2 =Q 2 Q -1 with better properties e.g. bounded curvature, C 2 Note: May destroy other properties, e.g. symmetry

36 Conclusion Subdivision very useful in computer graphics Better methods needed for high end CAD Analysis of linear schemes based on linear algebra Limit points and tangent vectors easy to find Nonlinear/Nonstationary: Not much is known??, harder!


Download ppt "Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo."

Similar presentations


Ads by Google