1
Subdivision Surfaces
CAGD
Ofir Weber
2
Spline SurfacesSpline Surfaces
Why use them?
Smooth
Good for modeling - easy to control
Compact (complex objects are represented by less
numbers)
Flexibility (different tessellation-parameters produce
different level-of-details from the same surface)
3
Disadvantages of Splines
Grid should be regular
Resolution is not adaptive
Problems along seams of patchwork
Not well suited for animation – deformable models
Topology is not arbitrary (Holes, trim curves)
Less easy to add “features” such as crease.
4
Subdivision Surfaces – The Alternative
5
Applications: Mainly Computer Graphics / animation
6
The basic idea
In each iteration
Refine a control net (mesh)
Increases the number of vertices / faces
The mesh vertices converges to a limit surface
Each subdivision scheme has:
Rules to calculate the locations of new vertices.
A method to generate the new net topology.
0 1 2
V V V V
7
Subdivision schemes
”Subdivision Zoo”
Catmul Clark Doo Sabin Loop Butterfly – Nira Dyn …many more
Classification:
Mesh types: tris, quads, hex…, combination
Face / vertex split Interpolating / Approximating Smoothness (Non)Linear …
8
Uniform Cubic Bi-variant Tensor product B-spline Patch Splitting
We can express the bicubic B-spline patch by:
where
M - B-Spline basis matrix G - set of control points U,V - are the primitive basis vectors.
3 2
3 2
1
1
U u u u
V v v v
( , ) t tS u v UMGM V1 3 3 1
3 6 3 01
3 0 3 06
1 4 1 0
M
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44
P P P P
P P P PG
P P P P
P P P P
9
B-Spline Splitting (cont’)
We will limit our discussion to one quadrant of the patch in which 0<u,v<½ , as it is identical to the others, due to symmetry.
This is the sub-patch where
We can now combine the two last expressions into:
where:
1 1( , ) t t tS u v USMGM S V
10 0 0
81
0 0 04
10 0 0
20 0 0 1
S
),( 11 vuS 2/ ,2/ 11 vvuu
10
B-Spline Splitting (cont’)
Notice that the new patch must still be a bicubic B-spline surface and therefore must satisfy:
Thus it must uphold:
M is invertible so we can write it as:
Where
1 1 1( , ) t tS u v UMGM V
1t t tMGM SMGM S
11 1 1 t t t tG M SM G M S M H GH
11
4 4 0 0
1 6 1 01
0 4 4 08
0 1 6 1
H M SM
11
B-Spline Splitting (cont’)
And for individual points noted as qij:
Face point:
Edge point:
Vertex point:
11 12 21 2211
11 13 12 22
12
2222
4
2 22
4 2 4
p p p pq
q q p p
q
pQ Rq
11 13 31 33
22 12 22 21 22 32 22 23
4
1
4 2 2 2 2
q q q qQ
p p p p p p p pR
12
Catmull-Clark scheme ’78
1
1 m
ii
f pm
Face Point
Vertex Point
2 21 1
1 1 2n n
i ii i
nv f e pn n n
1 2 1 2
4
p p f fe
Edge Point
( 3)2 p nQ Rv
n n n
Q – Average of face points
R – Average of midpoints
P – old vertex
13
Keep subdividing…
After 1 iteration, Every new face is a rectangular.
Extraordinary vertices are forever. Valence is retained.
Ultimately, at the limit, the surface will be a standard bicubic B-spline surface at every point except at these “extraordinary points”, and therefore at all but extraordinary points.
Catmull & Clark did not prove or guarantee continuity at the extraordinary points but note that trials indicate this much.
Later on it was proven to be C1
)2(C
14
Catmull-Clark, special rulesCrease/body masks
Piecewise smooth
surface
8
6
8
1
8
1
2
12
1
15
Catmull-Clark - Summary
Any topology – better use quad faces and vertices with valence 4
Approximation Generalization of cubic B-Spline Face Split C2 everywhere. C1 on extraordinary vertices Linear
16
Behavior near Extraordinary Points -Doo Sabin 78’
Extraordinary faces turns into extraordinary points after the first iteration
After that, the number of extraordinary points stays constant
The distance between extraordinary points remains, more or less ,fixed, And the number of faces between them grows with every step
Hence, we can treat each extraordinary point as an isolated phenomenon on a regular lattice
17
Matrix Form
1
1
/ 4
/ 4
2 / 4
i i i i
i i i i
i i
i i
q Q R R S
r q q R S
q Rs S
n n
1 1
1 1 n n
n n
q Q
q Q
r M R
r R
s S
18
Matrix form for n=4
1
2
3
4
1
2
3
4
1 1 1 10 0 0 0 0
4 4 4 41 1 1 1
0 0 0 0 04 4 4 4
1 1 1 10 0 0 0 0
4 4 4 41 1 1 1
0 0 0 0 04 4 4 4
1 1 6 1 1 60 0 0
16 16 16 16 16 161 1 1 6 1 6
0 0 016 16 16 16 16 16
1 1 1 6 1 60 0 0
16 16 16 16 16 161 1 1 1 6 6
0 0 016 16 16 16 16 16
1 1 1 1
64 64 64 64
qqqqrrrrs
1
2
3
4
1
2
3
4
3 3 3 3 9
32 32 32 32 16
QQQQRRRRS
Matrix is large
We want to analyze for all possible n
We want analytic solution
19
Analyzing matrix M Analyze the eigenvalues and eigenvectors of M.
M has cyclic symmetry - we can apply a Discrete Fourier Transform to Q, R and S, and then separate the terms of different frequencies.
Define in a similar way.
/ 22 /
0
1n
ij niQ Q e j
, , , i i iS R q r
20
DFT The equations can be rewritten as a set of equations for each
value of ω:
In matrix form:
*
0 0 0 0
( (1 ) ) / 4
((1 ) ) / 4
( 2 ) / 4
q Q a R S
r a q R S
s q r s
0 0
0 0
0 0
4 /16 8 /16 4 /16
2 /16 8 /16 6 /16 0
1/16 6 /16 9 /16
q Q
r R
s S
* *
4 /16 4(1 ) /16 0
(1 ) /16 ((1 )(1 ) 4) /16
q a Q
r a a a R
2 /j na e
21
DFT (cont’) Finding the eigenvalues is easy now The fact that the largest eigenvalue is 1 indicates that the surface
will converge to some limit surface as iterations proceed. Since each row sums to one, is eigenvalue for (1, 1, .. , 1)
00
0
1
1 1
0 0
k
i ii
i i i
m
i i
k k m
i i i ii i
mi
m mi
q v
v vMv vM
q v vM M
v
1
limm
22
Continuity Define for the dominant eigenvalue at frequency ω
The limit of the first derivative depends on the ratio
If this ratio is less or equal than 1, the surface is slope continuous.
For the second derivative, we examine the ratio If this ratio is exactly 1, the curvature will converge to some finite nonzero value. Less than 1 means that there is a local flat point on the surface.
Based on this, Doo & Sabin improved the quadratic scheme of Catmull & Clark to be C1 everywhere
They couldn’t find similar formula for the cubic scheme
1/
21/
23
Doo-Sabin quadratic scheme
Masks:
0
1
2
3
4
,0 3 2cos 2 /
4 4i
i
i n
n
24
Doo-Sabin quadratic scheme – cont’
Which resulted in which give discontinuity of exactly the second derivative under all circumstances.
0 11/ 4, 1/ 2, 1/ 4 1
25
Doo-Sabin Scheme - Summary
Any topology – built for quad faces Approximation
Vertex Split
C1 everywhere, even on extraordinary vertices Generalization of quadratic B-Spline
Linear
26
Loop’s scheme (‘87)
Edge
Vertex
8
3
8
1
8
3
8
1
21 5 3 2 2
cos8 8 8n n
1 n
27
Loop’s scheme - Boundary
1
2
1
2
1
8
3
4
1
8
Vertex pointEdge point
The boundary is a cubic B-Spline curve
The curve only depends on the control points on the boundary
Good for connecting 2 meshes
C0 for irregularities near boundary
28
Loop’s scheme - Summary
Triangles – better use valence 6 Approximation Face Split C2 on regular meshes Only C1 on extraordinary points C0 for irregularities near boundary The scheme is based on three directional box Spline Linear
29
Butterfly scheme (‘90)-Nira Dyn
Original points (Stays)
New edge point
8
1
8
1
1
16
1
2
1
16
1
2
1
16
1
16
30
Modified Butterfly scheme – Zorin(’96)
a a
b
b cc
c c
dd
wd
wc
wb
wa
:16
1:
28
1:
2
1:
:Weights
Multiply each vertex by its weight and sum them up w is a control parameter – determines how closely the
shape conforms to the original mesh
31
Modified Butterfly Scheme –Cont’
N
j
N
j
NevN
eeeevN
eeevN
j
4cos
2
12cos
4
11:,
4
3::5
0:,8
1:,0:,
8
3:,
4
3::4
12
1:,
12
1:,
12
5:,
4
3::3
:Weights
3210
210
v e0
e1
e2e3
eN-1
eN-2eN-3
Extraordinary Vertex
New Edge vertex
1 ring neighborhood
1. (Valence 6) X (valence 6)
2. (Valence 6) X (valence != 6)
3. (Valence != 6) X (valence != 6)
32
Modified Butterfly Scheme - Summary Triangles – use any valence Interpolation Face Split C1 everywhere Not C2 even on regular meshes Linear
33
Visual Comparison
34
Visual Comparison – Cont’
35
Visual Comparison – Cont’
36
Subdivision: pros and consPros: 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 – modeling Hierarchical modeling with offsets Good for deformation – animation Built-in LOD for rendering
Cons: Ck , k>1 is hard (not good for CAD) Evaluation not straight forward (but…) Artefacts (ripples etc.)
Geri’s Game (Pixar studios)
Splines in Toy Story 1
37
References "Recursively generated B-Spline surfaces on arbitrary topological meshes", by E
Catmull and J Clark. Computer Aided Design, Vol. 10, No. 6, pp 350-355, November 1978.
"Behavior of recursive division surfaces near extraordinary points", by D Doo and M Sabin. Computer Aided Design, Vol. 10, No. 6, pp 356-360, November 1978.
"Geometric Modeling with Splines, An Introduction" by Cohen, Riesenfeld, Elber: Section 7.2.1, Section 13.4, Chapter 20.
ZORIN, D., SCHR ¨ODER, P., AND SWELDENS, W. Interpolating Subdivision for Meshes with Arbitrary Topology. Computer Graphics Proceedings (SIGGRAPH 96) (1996), 189–192.
DYN, N., LEVIN, D., AND GREGORY, J. A. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Trans. Gr. 9, 2 (April 1990), 160–169.
LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah, Department of Mathematics, 1987.
Subdivision for Modeling and Animation – Siggraph 2000 course notes
38
Thank you