The Variety of Subdivision Schemes

The Variety of Subdivision Schemes
Kwan Pyo Ko
Department of Internet Engineering
Dongseo Univ.
[email protected]
What is Subdivision?
•
Define a smooth curves/surface as the limit of a sequence of
successive refinements
pj + 1 = Spj
X
(Sp) a =
b
®a¡
2bpb
Subdivision Surfaces
Why Subdivision?
• Arbitrary topology
• Multiresolution
• Simple code
• Efficient code
• Construct Wavelet
Chaikin’s Algorithm :
pk2i+ 1
3 k 1 k
= pi + pi + 1
4
4
pk2i++11 =
1 k 3 k
pi + pi + 1
4
4
converges to the quadratic B-spline.
Cubic spline Algorithm :
pk2i+ 1
1 k 1 k
= pi + pi + 1
2
2
pk2i++11 =
1 k 3 k
1
pi + pi + 1 + pki+ 2
8
4
8
converges to the cubic B-spline.
4-point interpolatory scheme
(N. Dyn, D.Levin and J.Gregory):
pk2i+ 1 = pki
µ
pk2i++11 =
¶
1
+ w (pki + pki+ 1 ) ¡ w(pki¡
2
-continuous for jwj <
1
-C for 0 < w < 18
1
4
1
+ pki+ 2 )
Butterfly scheme :
8
X
1 k
k
k
k
k
qe = (pe;1 + pe;2 ) + 2w(pe;3 + pe;4 ) ¡ w
pke;j
2
j=5
pki + 1 = pki [ qek
The mask of the butterfly scheme:
The mask of the butterfly scheme:
Ternary Subdivision Scheme:
pj3j+ 1 = pij
pj3j++11 = apij ¡
i + cpi
i
+
bp
+
dp
1
j
j+1
j+2
pj3j++12 = dpij ¡
i + bpi
i
+
cp
+
ap
1
j
j+1
j+2
where the weights are given by
a= ¡
C 2 for
1
1
13 1
7
1
1
1
¡ w; b =
+ w; c =
¡ w; d = ¡
+ w:
18 6
18 2
18 2
18 6
1
15
< w<
1
9
Subdivision Zoo
Classification :
• stationary or non-stationary
• binary or ternary
• type of mesh(triangle or quadrilateral)
• approximating or interpolating
• linear or non-linear
Face split (primal type)
Triangular meshes
2)
approximating
Loop (C
interpolating
Butterfly (C
1)
Quad.meshes
Catmull-Clark(C
Kobbelt (C
2)
1)
Vertex split (dual type)
Quad. meshes
approximating
1
1
Doo-Sabin (C ) , Midedge (C )
Binary Subdivision of B-splines
• Univariate B-splines :
(¤)
Sr (u)
X
=
dri N r (u ¡ i );
i2Z
where N r : normalized B-spline of degree r:
Properties :
P
•
•
•
•
•
N r (u ¡ i ) = 1
Partition of unity : i
r
Positivity : N (u) ¸ 0
r
Local support : N (u ¡ i ) = 0 if u 2= [i ; i + r + 1]
Continuity : N r (u) 2 C ( r ¡ 1)
u¡ i
i + r + 1¡ u N r ¡ 1 (u ¡ i ¡ 1)
Recursion : N r (u ¡ i ) = r N r ¡ 1 (u ¡ i ) +
r
The idea behind a Subdivision
• Rewrite the curve (*) as a curve over a refined knot
sequence Z=2:
• (*) becomes
Sr (u)
X
=
d^rj N r (2(u ¡ j ))
j 2 Z =2
• Determine
d^rj
A single B-spline can be
decomposed into similar Bspline of half the support.
• This results in
N r (u)
X
crj N r (2(u ¡ j ));
=
j 2 Z =2
crj
where
=
d^rj =
¡
2¡ r r 2j+ 1
X
¢
crj ¡ i dri ; j 2 Z=2
i2Z
• For exampleX r = 2
d^20
c2¡ i d2i = ¢¢¢+ (3=4)d2¡ 1 + (1=4)d20 + ¢¢¢
=
i2Z
d^21=2
=
¢¢¢+ (1=4)d2¡ 1 + (3=4)d20 + ¢¢¢
Chaikin’s algorithm
Tensor Product B-spline Surfaces
Sr ;s (u)
X
=
dri ;s N r ;s (u ¡ i)
i2 Z 2
A tensor product Bspline is the product of
two independently
univariate B-splines, i.e
N r ;s (u ¡ i) = N r (u ¡ i )N s (v ¡ j )
d^rj ;s
X
=
r ;s
2
crj ;s
d
¡ i i ; j 2 Z =2
i2Z 2
crj ;s
•
•
=
cri csj
=
2¡
( r + s)
µ
¶µ
¶
r + 1 s+ 1
2i
2j
r = s= 2
9
3
2;2
¢¢¢+ ( )d2;2
+
(
)
+
d
0;¡ 1 + ¢¢¢
16 ¡ 1;¡ 1
16
3
1
2;2
¢¢¢+ ( )d2;2
+
(
)
+
d
0;0 + ¢¢¢
16 ¡ 1;0
16
The mask set :
Example 1
d^2;2
=
0;0
• Example 2
r = s= 3
The mask for bicubic tensor product B-splines
Triangular Splines
• A triangular spline surface :
(¤)
Sr ;s;t (u)
X
=
dri ;s;t N r ;s;t (u ¡ i);
u 2 R2; i 2 Z 2
i
where
N r ;s;t (u) : a normalized triangular spline of degree (r+s+t-2)
Subdivision of Triangular Splines
• The surface (*) can be rewritten over the refine grid.
Sr ;s;t (u)
X
=
d^rj ;s;t N r ;s;t 2(u ¡ j )
j
• A single triangular spline is decomposed into splines
of identical degree over the refined grid.
N r ;s;t (u)
X
=
j 2 Z =2
crj ;s;t N r ;s;t (2(u ¡ j ));
d^rj ;s;t
X
crj ¡;s;ti dri ;s;t
=
i2 Z
Where
crj ;s;t = 2¡
( r + s+ t )
Xt µ
k= 0
r
2i ¡ k
¶µ
¶µ ¶
s
t
2j ¡ k
k
2;2;2 (u)
The subdivision masks for the triangular spline N
The Doo/Sabin algorithm
(Problem)
Subdivision for tensor product quadratic B-spline
surface has rigid restrictions on the topology.
Each vertex of the net must order 4.
This restriction makes the design of many
surfaces difficult
Doo/Sabin presented an algorithm that
eliminated this restriction by generalizing the
bi-quadratic B-spline subdivision rules to
include arbitrary topologies.
P’3
P0
P’’0
P3
P’’3
(P0 \ ; P1 \ ; P2 \ ; P3 \ ) T
= S4D S (P0 ; P1 ; P2 ; P3 ) T
P’0
P’2
P’b
2
P’’1
P1
P’’2
P’1
Doo-Sabin scheme
S4D S
P2
9
1 6
6 3
=
16 4 1
3
3
9
3
1
1
3
9
3
3
3
1 7
7
3 5
9
• The subdivision masks for bi-quadratic B-spline :
• Geometric view of bi-quadratic B-spline subdivision :
the new points are centroids of the sub-face formed
by the face centroid, a corner vertex and the two midedge points next to the corner.
arbitrary topology
• For an n-sided face Doo/Sabin used subdivision
matrix SnD S = (®i j ) n £ n ;
®i j
®i j
=
=
5+ n
4n
i= j
³
3 + 2 cos 2¼(ni ¡
4n
´
j)
i6
= j
• As subdivision proceeds, the refined control point
mesh becomes locally rectangular everywhere
except at a fixed number of points.
• Since bi-quadratic B-splines are C 1 , the surfaces
generated by the Doo/Sabin algorithm are locally C 1
The Catmull/Clark algorithm :
P42
P41
x
x
P31
P43
x
x
x
P21
x
x
x
P33
q22
x
q11
P11
x
x
q12
P12
x
x
x
P22
x
x
x
P32
x
P44
P23
x
x
x
x
P34
x
x
P24
x
P13
q11 : New face points
q12 : New edge points
q22 : New vertex points
P14
• New face points :
q11
P11 + P12 + P21 + P22
=
4
• New edge points :
q12 =
C+ D
2
+
P1 2 + P2 2
2
2
;
C = q11 ; D = q13
• New vertex points :
q22 =
Q R P22
+
+
4
2
4
q11 + q13 + q31 + q33
Q=
4
·µ
¶ µ
¶ µ
¶ µ
¶¸
1
p22 + p12
p22 + p21
p22 + p32
p22 + p23
R=
+
+
+
4
2
2
2
2
• The subdivision masks for bi-cubic B-spline :
Approach : generalization of bi-cubic B-spline
arbitrary topology
• New face points : the average of all of the old
points defining the face.
• New edge points : the average of the mid points of
the old edge with average of the two new face.
1Q
4
+
1R
2
+
1 S;
4
• New vertex points :
Q : the average of the new face points of all faces
sharing an old vertex point.
R : the average of the midpoints of all old edges
incident on the old vertex point.
S : the old vertex point.
Note : tangent plane continuity was not maintained at
extraordinary points.
1
2
N ¡ 3
S^ =
Q+
R+
S
N
N
N
N : order of the vertex
tangent plane continuity at extraordinary points.
The Loop Scheme
• A generalized triangular subdivision surface.
• The subdivision masks for N 2;2;2 (u)
• mask A generates new control points for each vertex
• mask B generates new control points for edge of the
original regular triangular mesh.
• Mask B : generalization is to leave this subdivision
rule intact (why?)
• Mask A : The new vertex point can be computed
as a convex combination of the old vertex and all
old vertices that share an edge with it.
5
3
^
V = V + Q;
8
8
V : the old vertex point.
Q : the average of the old points that
share an edge with V.
This same idea may be applied to an arbitrary
triangular mesh.
• Note : tangent plane continuity is lost at the
extraordinary points.
• Loop scheme :
^ = ®N V + (1 ¡ ®N )Q;
V
where
®N =
µ
¶2
3 1
2¼
3
+ cos
+
8 4
N
8
- curvature continuity at
regular point.
- tangent plane continuity
at extaordinary point.
Mid-Edge Scheme
P’3
P0
P3
P’’3
P’’0
P’0
P’2
P’’1
P1
S4M E
P’’2
P’1
(P0 \ ; P1 \ ; P2 \ ; P3 \ ) T
= S4M E (P0 ; P1 ; P2 ; P3 ) T
2
3
2 1 0 1
16
1 2 1 0 7
6
7
= 4
4 0 1 2 1 5
1 0 1 2
• For an n-sided face,
subdivision matrix :
SnM E = (¯i j ) n £ n ;
P2
1 + cos 2¼( ni ¡
¯i j =
n
1)
Circulant matrix
2
6
6
SnG = 6
4
a0
an ¡ 1
..
.
a1
a0
..
.
a1
a2
¢¢¢ an ¡ 1
¢¢¢ an ¡ 2
..
..
.
.
¢¢¢ a0
3
7
7
7
5
G
eigenvalues of Sn can be calculated by
evaluating the polynomial.
Pn (z) = a0 + a1 z + ¢¢¢+ an ¡ 1 zn ¡ 1 ;
z = wj ;
w= e
i 2¼
n
;
j = 0; 1; ¢¢¢; n ¡ 1
Further Subdivision Schemes
•
•
•
•
•
•
•
•
Non-uniform scheme.
Shape preserving scheme.
Hermite-type scheme.
Variational scheme.
Quasi-linear scheme.
Poly-scale scheme.
Non-stationary scheme.
Reverse subdivision scheme.
Convexity Preserving ISS
•
A constructive approach is used to derive
convexity preserving subdivision scheme.
f 2ik + 1
=
f 2ik ++ 11
=
f ik
¢
¡ k
¢
1¡ k
k
k
k
k
f i + f i + 1 ¡ F1 f i ¡ 1 ; f i ; f i + 1 ; f i + 2
2
1. interpolatory.
2. local : four points scheme.
define the first and second differences.
df i
di
=
=
f i+ 1 ¡ f i
d2 f i = f i + 1 ¡ 2f i + f i ¡
1
f 2ik + 1
=
f 2ik ++ 11
=
f ik
µ
¶
¡
¢
1 k
1 k
f i + f ik+ 1 ¡ F2
(f i + f ik+ 1 ); df ik ; dki ; dki+ 1
2
2
3. invariant under addition of affine functions.
(★)
f 2ik + 1
=
f 2ik ++ 11
=
f ik
¢
1¡ k
k
f i + f i + 1 ¡ F (dki ; dki+ 1 )
2
F : subdivision function
4. continuous
5. homogeneous, i.e. , F (¸ x; ¸ y) = ¸ F (x; y)
6. symmetric
• Theorem 1 (Convexity)
A subdivision scheme of type (*) satisfying
conditions 1 to 6 is convex preserving for all
convex data
F satisfies
0 · F (x; y) ·
Note : if F=0
1
minf x; yg; 8x; y ¸ 0
4
linear SS.
only C 0
(Question)
under what conditions, SS(*) with conditions 1 to
6 and convexity condition generate continuously
differentiable limit functions.
Answer
• Theorem 2 (Smoothness)
Under the same conditions hold as in Theorem 1.
The scheme given by
f 2ik + 1
=
f 2ik ++ 11
=
f ik
¢ 1
1¡ k
k
f i + f i+ 1 ¡
2
4
1
d ki
1
+ dk1
i+ 1
continuously differentiable function which is
convex and interpolate the data
• Theorem 3 (Approximation order)
The convexity preserving subdivision scheme has
approximation order 4.