Download presentation
Presentation is loading. Please wait.
Published bySamantha Young Modified over 9 years ago
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) 00 11 22 33 44
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=QQ -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) nnnn 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!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.