Title: Subdivision surfaces Construction and analysis
1Subdivision surfacesConstruction and analysis
- Martin Reimers
- CMA/IFI, University of Oslo
- September 24th 2004
2Subdivision concept
- Piecewise linear geometry with vertices P0
- Refine and reposition using subdivision rule
- P0, P1, P2?
3Subdivision Surfaces
- The same concept for surfaces
- Piecewise linear geometry refined P0, P1, P2?
-
- P0 P1
P2 ? P1
Properties of P1? Continuous, smooth, fair?
4Overview
- Introduction
- Subdivision schemes
- Construction
- Analysis
5Spline curve subdivision
- Control polygon PP0
- Cut corners recursively, get P1, P2?
- Subdivision rule
- p2k (3pk-1 pk)/4
- p2k1( pk-13pk)/4
- Subdivision matrix S
- Limit P1 is a quadratic spline (smooth curve)
6Spline curve subdivision
- Generalization refine and average d-1 times
- Pj converge to spline of degree d
- Linear operations in a subdivision matrix S
s.t. - Pj1SPj
- Cubic splines
- Many curve subdivision methods
- Next surfaces
7Spline surface subdivision
- P0 regular control mesh (grid) in 3D
- e.g. points and quadrilaterals
-
- Refine P0 by a certain subdivision rule
- yields new mesh P1
- Linear operations, collect in a matrix S
- Pj1SPj
- Control mesh converge to spline bi-degree 2
- Generalize d-1 averages gives bi-degree d
8Doo Sabin Subdivision (78)
- Generalization General mesh
- N-sided faces
- Any valence (Not only 4)
- Masks
- Still have Pj1SPj (linearity)
- Generalize bi-quadratic spline to arbitrary mesh
- C1 continuous (smooth) limit surface
PetersReif98
9Doo Sabin Subdivision
10Catmull-Clark Subdivision (78)
- Generalize bi-cubic spline to quad mesh
-
Face mask
Edge mask
Constants ?3/2n ?1/4n (others possible)
As before Pj1SPj
11Catmull-Clark scheme
Implementation version
12Catmull-Clark scheme
Pj converge to a C1 surface, C2 a.e
PetersReif98
13Catmull-Clark, special rules
- Crease/bdy masks
- Piecewise smooth surface
14Loops scheme (87)
15Loops scheme (87)
Implementation version
16Loop boundary mask
- Use cubic B-spline refinement rules
Vertex Rule
Edge Rule
17Loops scheme
- Generalize 3-direction (quartic) box-splines
- C1 everywhere, not C2 in irregular points
- Special masks for features (Hoppe et al)
- Alternative view
- Refine linearly
- Smooth all vertices by
- ( Laplacian smoothing )
18Loop example
19Spline based schemes
- All schemes up to now
- Affine invariance
- Convex hull property
- Polynomials locally
- Splines in regular regions
- Approximates the control mesh (like splines)
20Butterfly scheme (90)
- Dyn,Levin,Gregory
- Interpolating
- Triangles
- Not polynomials
- No convex hull property
- Not C1 for n3 or ngt7
- Modified scheme zorin is C1 but not C2
Edge mask
21Examples
22Subdivision 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 PetersReif
- v3 scheme Kobbelt
- Refineaverage Stam/Warren et al
- 4-8 subdivision VelhoZorin
- Tri/Quad schemes
- many more
- Rules constructed to obtain objective
- Mimic splines, interpolation, smoothness/fairness,
features,
23Surface subdivision
Splines Toy Story 1
- 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)
- Ck , kgt1 is hard
- Artefacts (ripples etc.)
- CC cannot make convex surface if ngt5
PetersReif04
Geris Game (Pixar studios)
24NEXT ANALYSIS
- Consider primal spline schemes (e.g. Loop, C-C)
- Linear
- Affine invariant
- Convex hull property
- Stationary
- Symmetric
- Smooth in regular regions
- Have vertex correspondency
- Start with control mesh P0 with vertices in R3
- Subdivision yields finer meshes P1,P2,?
- What properties does limit surface P1 have?
- Study
- Limit points and normals / tangent planes
- C1 smoothness
- ( Curvature, C2 )
25Regular regions
- If mesh is regular, limit surface P1 is known
(spline) - Analyze irregular regions
- Subdivision
- Preserves valence
- Insert new regular vertices
- ) regular regions grow and
- irregular regions shrink
- Limit surface def on the green
- rings are C2 quartic splines over
- triangles of Pj
- Each subdivision adds a spline ring to the
neighbourhood of - an irregular point
Loop scheme
26The local subdivision matrix
- Study irregular vertex p and neighbourood P0
- Stationary scheme subdivision matrix S s.t.
-
- Pj1S Pj
- map neighbourhood to neighbourhhood
- S determines limit surface around p
- Assume S is non-defective SQ?Q-1
- Pj S Pj-1 Sj P0 Q?jQ-1 P0
- Spectral properties of S are fundamental!!!
p
27Spectral analysis
- S Q?Q-1
- Q (q0,q1,?qL) eigenvectors
- ? diag(?0,?1,?,?L) eigenvalues,
?0?1??L - S often block symmetric with circulant blocks
- ) Can find Q and ? with Fourier techniques
- Dominant eigenpair ?01gt?1 and q0(1,?,1)
(Affine invariance) - Controls convergence
- Subdominant eigenpairs ??1?2?
- Controls tangent plane continuity
- Want 1gt ?1?2 gt?3
- Sub-subdominant eigenpairs ??3?4 ?
- Controls curvature
- Want ?2 ?
28Limit points
- Have Sj Q?jQ-1
- Eigen expansion P0? qi ai ai2 R3
- Pj ? ?ij qi ai
- Since ?01gt?i and q0 (1,?,1)
- Pj! (a0,a0,?)T as j ! 1
- Limit point p1 a0l0P0
- Left eigenvector l0 can be determined from a n1
matrix - Also Control mesh converge to continuous surface
29Spline rings
L
- Limit surface P1 is union of limit point and
spline rings xj -
- xj?n ! P1 ½ R3, P1 ? xj(?n) p1
- Where ?n 1,?,nL (quad based scheme)
- Limit surface can be parameterized over squares
- Basis functions B1,?,BN?n! R s.t. ? Bi 1 and
- xj ? Bi pijB Pj
- Define eigenfunctions ?i?n! R ?iBi qi
- xj B Pj ? ?ij ?i ai
- Note that ?01 since q0(1,1,?)
xj(?n)
Xj1(?n)
30Tangent plane
- Each spline xj ring is C1
- Assume 1gt?1?2gt?3 and q1,q2 lin.indep.
- Also that a1,a2 lin.indep
- xj a0 ?j ?1 a1 ?j ?2 a2 o(lj)
- Du xj ?j (Du ?1 a1 Du ?2 a2 o(1) )
- Dv xj ?j (Dv ?1 a1 Dv ?2 a2 o(1) )
- Normal is well defined and continuous if
- Normal(xj) Du xj Dv xj /Du xj Dv xj !
a1a2 /a1a2 - Tangent vectors a1, a2 found using left
eigenvectors of S -
31Smoothness C1
- ) tangent plane cont. if det D (?1,?2)? 0
- Analysis only relevant if generic data det (a1
,a2) ? 0 - Want C1, more than tangent plane cont.
- P1 is C1 if it is C1 fcn. over the Tangent Plane
- xj a0 ?j (?1 a1 ?2 a2)o(?j)
- ring xj converge uniformly to tangent plane
- Big questionReif is limit xj injective?
- Yes if ?1 e1 ?2 e2 (?1 , ?2) is injective
a1
a2
a1
a0
32Characteristic map
- Reif95 Defined as ?(?1,?2) ?n! R2
- ?(i,u,v)B(i,u,v)(q1,q2)
- Theorem Reif95
- P1 is a C1 surface for generic initial data if
- ??1?2gt?3 with q1,q2 lin. independent
- ? is regular and injective
- Conditions means ? has a cont. Inverse
- (can be used to parameterize P1)
- Major point
- P1 is a graph over TP near p1, thus C1 regular
Not injective
?
Image ?(?n)
33Verifying C1 regularity
- PetersReif98 Showed C1 of DS CC
- Umlauf Showed C1 for Loop
- Check conditions 1?0gt?1?2 gt?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,
34Continuous Curvature C2
- MUCH harder to get
- Holy grail C2, local, stationary, ? ? 0 ,low
polynomial degree - Large support?
- Not stationary?
- ? 0 in irregular pointsUmlaufPrautzsch
- High degree?
- Prautzsch/Reif polynomial scheme must have d
2k2 for Ck - Thus C2 requires degree 6 in regular regions
- Neccessary condition for bounded curvature ?2
?3 - Has been used to find good schemes (CC/DS)
35Scheme manipulation
- Take a scheme S
- Spectral analysis find SQ ? Q-1
- Manipulate ? Set e.g. ?3 ?2
- New eigenvalues ?2
- New scheme S2Q ?2 Q-1 with better properties
- e.g. bounded curvature
36Conclusion
- 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!