Adjustable Speed Subdivision Surfaces
K. Kar6iauskas and J. Peters
AbstractWe introduce a nonuniform subdivision algorithm
that partitions the neighborhood of an extraordinary point in the
ratio a : 1 a, where a G (0, 1). We call a the speed of the non
uniform subdivision and verify C1 continuity of the limit surface.
For a 1/2, the CatmullClark algorithm is recovered. Other
speeds are useful to vary the contraction near extraordinary
points.
I. INTRODUCTION
With few exceptions, polynomial subdivision algorithms
generalize uniform (box)spline subdivision [BHR93]. In the
univariate case, standard Bspline knot insertion yields a
stable, local nonuniform refinement of the control polygon,
one knot at a time. Cashman et al. [CDS07], [CDS08] recently
proposed factoring nonuniform Bspline subdivision into
small stencils suitable for simultaneous knot insertion. Earlier,
Goldman and Warren [GW93] extended uniform subdivision
of curves to knot intervals in globally geometric progression.
When the univariate refinement is tensored and applied to
tensorproduct splines, the knot intervals must be carried over
to parallel isocurves. In practice, the least superset of all
isoknot intervals is enforced by inserting knots. By con
trast, Nonuniform Recursive Subdivision Surfaces, proposed
by Sederberg et al. [SZSS98], allow freely assigning knot
intervals to every edge of the control net. Subdivision in the
regular part surrounding an extraordinary node, i.e. a control
point associating more or fewer than four direct neighbors, is
constructed by halving each knot interval.
izations for highquality surface constructions. Our approach
is philosophically different. We take the point of view that
subdivision surfaces are splines with singularities and that
subdivision is a process for generating a sequence of nested
surface rings. Once the BernsteinB6zier (BB) form of a
surface ring is welldefined, e.g. as in Appendix VC, we
do not refine the control net further, but work with the
polynomial representation. In this scenario, the nonuniformity
is motivated by the the desire to adjust, possibly repeatedly,
the relative width of polynomial surface rings. Figure 1 gives
an example of such an adjustment in practice. The resulting
family of algorithms has properties akin to and specializes to
CatmullClark subdivision. In Section II, we derive the rules
and in Section III, we verify the properties. Besides adjustable
control net refinement for computer graphics and adjustable
width surface rings in the framework of guided subdivision for
highquality surfaces [KP07], Figure 1 and 9 present a third
application, namely the bi3 (bicubic) completion of a surface
after one or two subdivision steps.
II. AN ADJUSTABLE SPEED SUBDIVISION
eon?
(c a a (c
= 2
eon!
2
3
blend with hole
Fig. 1. Shape completion. (top) Regular speed a 1/2. (bottom) High
speed a 3/4. (left) Blend with hole. (middle) Two steps of subdivision.
(right) Highlight lines when filling the remaining hole according to [SS05].
Note the strong fault in the highlight line in the center area of the zoomed in
detail (top, right).
We came across a different generalization, not covered by
[GW93], [SZSS98], [CDS07], when looking for reparameter
Fig. 2. Univariate (left) uniform, (right) adjustable speed subdivision of speed
2/3. (top two) control point refinement, eon = extraordinary node; (bottom)
knot sequences.
_2 3
(T 0 7 (T ,
Fig. 3. (left) Knot sequences oftensored adjustable speed subdivision. (right)
The adjustable knot spacings around an extraordinary node are consistent and
define a sequence of C2 connected bi3 surface rings in n = 5 sectors.
Figure 2 illustrates adjustable speed subdivision in one
variable. Instead of subdividing uniformly, we subdivide in
I
(
[1] a) [2 () [3 (c) [4]
(d) ^
Fig. 4. Derivation of subdivision rules converting one sector of the input
Extraordinary rule.
a ratio a : a where cr (0, 1) and a := 1 o. We call
a the speed of the nonuniform subdivision. We subdivide
only at the extraordinary node since the remainder defines
polynomial pieces. So, while the knot intervals for fixed a
show a geometric progression, this is different from the global
recursive splitting with geometrically scaled knots considered
in [GW93]. If we recursively applied the adjustable speed
subdivision, we would have knot ratios aT2, , a, 2 in the
second step. Tensoring this subdivision, as shown in Figure 3,
we obtain an adjustable speed subdivision that is welldefined
except near nodes with n / 4 neighbors. Adding rules for
this extraordinary case, we obtain a family of subdivision
algorithms, depending on the parameter a E (0,1) and
generating a sequence of bi3 polynomial surface rings. Since
our knot spacing will be nonuniform, we cannot hope to build
on inherently uniform boxspline subdivision. Instead, we use
a less orthodox route and derive the missing rules by surface
ring extension in the BB form, as illustrated in Figure 4 and
detailed next.
Input: A net p (Figure 4,left) representing coefficients of a
bi3 spline.
Output: The refined net p (Figure 4,right) representing coef
ficients of a bi3 spline.
Step [1] Convert p to bi3 BB form (a).
Step [2] Extend (a) C2 inwards to yield coefficients (b).
Step [3] Subdivide (b) with ratio c : a to yield coefficients
(c).
Step [4] Revert (c) to p with the extraordinary node defined
by the stencil of Figure 4 right, and the choice
18rar(or2 + a) 92or2
3: l ( :) .(1
S9 +(n 4)(a +1)2 : 9+(n 4)(a + 1)2 (
Combinatorially, this refinement step mimics CatmullClark
subdivision. The weights 3 and 7 are chosen within a range
that yields C1 surfaces. The specific choice of 3 and 7 places
the central limit point at the central limit point of Catmull
Clark subdivision (see Section III).
With the labels ij of the input control points p' shown
in Figure 5, left, and the labels k of the refined points ph in
Figure 5, right, steps [1][4] yield the following subdivision
rules
Pk w 'pi (2)
n n
n n
n
S: 1 3 /
p to the output p via the BernsteinBezier (BB)representation. (right)
04 14 24 34
33 1 123
32 12 32
01 11 1 31
00 0 20 30
Fig. 5. (left) Indexing of the net p and (right) indexing of the refined p.
The indexing (right) is also used for the analysis.
where the nonzero w" are given by el := c2 + a, e :
S2 + 3a and
k\ij 11 12 13 21 22 23 31 32 33
22 ~ 2
22 01 2 
3 c2 c7 c, c(2
w : 4 4 2 3 2 (3)
_4 32
7 6 32 32 22
Due to the symmetry across the sector bisectrix, w" = wi,
(and w, = k 3, 7), and, due to the symmetry across the
sector p., oii,.'i,, ray, = ,, 'k 2,5,8. Only one of
the n sectors (see Figure 7) needs to be considered as we
construct a rotationally symmetric scheme. As in Catmull
Clark subdivision, the 'outer' refined control points with
refinement rules w3 = wh k 1, 2,
19 (T 19 12 19 11
" 2 1 (T, W
, .1 = e1, o = owlo
2'
i= oC, W = 1,
need not be considered for the next subdivision step. We
used two different indexing strategies for input and output,
since one, the indexing of the input (Figure 5,left), is natural
for representing patches of the surface ring, while the output
indexing (Figure 5,right) is commonly used in the analysis of
subdivision.
The BB coefficients of Figure 4 (c) defined by p'i, together
with the outer layer of BB coefficients defined by the refined
net p1 form a bi3 surface ring in BB form. One sector of
this ring is shown in Figure 4 (d) with the contribution of p'i
drawn in black, and the contribution of pk in grey. Explicit
formulas for the BB coefficients are given in Appendix VC.
7n x 7nnet
Fig. 6. Two views of the control net refined by adjustable speed subdivision.
(left) defines a complete bi3 surface ring, (right) suffices to determine the
subdivision matrix A.
III. ANALYSIS OF ADJUSTABLE SPEED SUBDIVISION
Indexing also the input mesh according to Figure 5, right,
we analyze the refinement
P7i+k P7i+k := Ap7yi+, i = 0, . ., n 1, k = 1, . .,7.
(5)
The indices of one sector are shown in Figure 5, right.
Replacing the extraordinary node by n copies as in [PR98],
we obtain the 7n x 7n subdivision matrix with the familiar
uniform blockcirculant structure
Ao Al ... A, 
A_ 1 Ao ... An2
A : ..
A, ... An, 1 Ao!
Ak e RD7x7
Afc
The discrete Fourier Transform diagonalizes A into blocks
nl 1
S= A, 0,...,n, : exp(27i ) 
k 0
The eigenvalues of the 0th Fourier block Ao are:
1, a3, r4, r5, C6 and the roots of quadratic equation
A2+(3+7 2+2(a2 +1))A+a2(a2 ( +)a+au) 0.
(6)
The eigenvalues of the kth Fourier block, Ak, k 1 0, are
0, a3, r4, 5, a6 and the roots of quadratic equation
A2_ a((1 + cn,k)+ 2o)A+ + 0r 0, Cn,k : cos( ).
n
(7)
We determine the central limit or extraordinary point by calcu
lating the left eigenvector to the eigenvalue 1 [HKD93]. The
stencil for computing the extraordinary point is structurally
equivalent to that of Figure 5, right. We only need to replace
a, 3, 7 by a := 1 3 , 3, 7, where
S2a(3 + 7) + a3
(a2 + 3a)3 + (2g2 + g + 1)y + a(a2 + 2+ ) '
a2 (/ + 2y) + ay
(a2 + 3a)3 + (2a2 + a + 1)y + a(a2 + 2a) "
Converting a CatmullClarknet {cij} to {pk} by (11), we
verify that extraordinary point of CatmullClark subdivision
coincides with that of our adjustable speed subdivision if 3
and 7 are defined by the formulas (1); and applying (11), then
(3) and reversing (11) proves that a 1/2 yields a subdivision
scheme coinciding with CatmullClark subdivision.
Fig. 7. Construction of one sector of the bi3 characteristic ring. (left) The
tensorborder {tij }. (middle) The tensorborder is subdivided with ratio a : 0.
(right) The bi3 sector construction is completed by A{tio} and A{toj}, the
outermost layers of the tensorborder scaled by A.
By inspection, and with c := cos(27/n), we verify that the
subdominant eigenvalue is the root
A ((1 + c)a2 + 2a + 0 (1 + c)((l + c)a2 + 4a)), (8)
2
of the quadratic equation (7) for k = 1. The subsubdominant
eigenvalue p is also a root of (7) but for k = 2. As with
CatmullClark subdivision, the limit curvature is generically
unbounded since y > A2, and the limit surface is generically
hyperbolic at the extraordinary point. The characteristic ring
is a normalized bi3 symmetric scalable C2 map for any speed
oa (0, 1). Due to the rotational and bisectrix symmetry only
one half of one sector needs to be considered. Figure 7, left,
identifies all but one of the BB control points tij of a bi
3 patch. We call this collection a tensorborder of depth 2.
With the normalization too : (1,0), tensorborders from
adjacent sectors are C2 connected if, with c := cos(7/n),
s := sin(7/n),
tio = (2zs + z2c, 2zic + z2s), t2o = (zoc + zis, zoS zic),
t30 = (zoc, zos), tll (24,0), t21 (z3 + z4S, Z3S
S
t31 = (zc, Z3S), t22 = (zs Z4 C, 0), (9)
2s'
1 + c cc 1 + c cc
t32 (c(z3 Z4 ), SZ3 24 ))
2 2s 2 2s
Choosing the scalars zi according to (12), the ring and the
ring scaled by A are C2 connected. Regularity and injectivity
of characteristic ring have been checked numerically for
n 3, 5, 6,..., 20 and ar [1/10, 9/10], following [RP05]:
using the BB representation of Appendix VB, we formed
for two of the three BB patches of a sector the differences
ti+,j tij, resp. t ij+ tj and verified that the coordinates
are of one sign. This implies regularity. Injectivity follows by
monotonicity of the boundary coefficients of the patch.
Since our main interest is in the characteristic ring, and
the characteristic ring is independent of 3 and 7, we did not
analyze different choices of 3 and 7.
IV. DISCUSSION
At any subdivision step, a can be changed. Figure 8
illustrates how different choices of a affect a sector of the
characteristic ring and Figure 9 shows corresponding varia
tions of the width of surface rings. Although it is possible
ring net
Z4C),
n= _6
transformation between the CatmullClark net {c' } and the
adjustable speed subdivision net {pk} (see Figure 5 for the
indices):
Pk e ciw (10)
ij
where nonzero entries w@j are given below unless they follow
from bisectrix symmetry or sector symmetry:
fl:= a, f2 := + 1, f3:= 22 1, f4: 3 + 2r,
i33 1 ,i3 f2 2 ,.g fl
S 3a 3 '
0
7
8
Fig. 8. A sector of the characteristic ring for different valences and speeds.
a=
Si
W3 9,2 3
*21 f2 @31
S18,4 4
.32 f1f4 .23
w4 ga4 W4
4 9o4 4
19 1 3
6G3 '
< 1 21
!I. 7
flf2 .33 A2
9a2 3 92 '
fl .22 f2f4
18a4 9a4 '
1ff2 3 33 12f3
18a4 4 18a4'
f4 .23 ff13
3a3 603 '
1..f 37 36a6 '
13.4 33 6a6
1. .' 36a6
Fig. 9. (left) Input with gap (scaled to 2/5th size). (right three) (top) One
and (bottom) two adjustable speed subdivision steps.
to apply the adjustable speed subdivision to CatmullClark
type control nets using high speeds, the surface shape for
higher speeds is increasingly poor when a > 3/4. This should
not surprise since in the limit a  1, we obtain the well
known construction of a finite bi3 cap consisting of the
bi3 tensorborder plus the central limit point of Catmull
Clarksubdivision that has also been patented as [SS05]. The
primary function of the construction is to our mind within the
framework of guided subdivision [KP07] and finite surface
constructions as illustrated in Figure 1 and 9. In a similar
fashion, an adjustablespeed variant of DooSabin subdivision
has been derived.
V. APPENDIX
The complete conversion formulas are presented here. Only
the formulas of Appendix VC are needed to output nested
surface rings in BB form. Appendix VB provides the constants
used in the BB representation of the characteristic ring (9)
in terms of a. Appendix VA gives and optional an initial
conversion from a CatmullClark net to an adjustable speed
subdivision net that is used to prove that adjustable speed
subdivision subsumes CatmullClark subdivision.
A. Transformation from a CatmullClark net to an adjustable
speed subdivision net
By matching the BB representation of a CatmullClark net
with the BB representation in Figure 4 (b), we derive the
B. Definition of the characteristic ring
Here, we show all constants involved in the definition of the
characteristic ring (9). Representing single set of formulas for
a whole family of algorithms in terms of the speed a must be
more complex than those of a single instance such as Catmull
Clark. It should therefore not surprise but rather delight that
the arrays DEN, NUM[r],r 0... 4, have been generated
and written by the symbolic tool Maple in the Maple form
[seq([seq([seq(M[i][k][],j=l..nops(M[i][k])],k=1..2)],i=1..15)].
Then for r 0... 4,
jh, E NUM, 1 li i]cj 1+AEj NUMII I ']cJ
S ij DEN[, ][1[.i]cj1 + AEij DEN [1 [,.:5j1
ho h2 h8
zo := U ,Z := his ,z2 := 3 := h3 z4 : 4 .
2c 2c 2c
where
2044, 19011,5302, 66], [16
72353,8639,4963,93], [6981,3E
258,995,3167,63], [2133,
4007,1807,1387,21], [438,50
748,1621,405,3], [54,31,2
612,756,72], [3,16,36,6]]
9,220,6], [0,3,3]],
1 Y
1'  ^ ^ 1
1'5 1 
pS tij
Fig. 10. Indices for converting the (left) adjustable speed subdivision net to
(right) tensorborder BB form.
[ [3612,2407,403] [3,42,30,3] ],
[ [609,499,94] [0, 3, 3] ],
[ [63,65,14], [0]] ,
[[3,4,1], [0]]]:
subdivision net p'" as
w n(1o+er22t" a i
where nonzero entries are given in (13) unless they followTS
where nonzero entries .' are given in (13) unless they follow
from bisectrix symmetry .,
1
,, or sector symmetry
dl := 1 + d2 : 6 40 +2,
WOo a 6d d Ta4 d1d2 oo .' a3 d
w22 2a2d2 2 a3a d2 33 w 04
21 4 7 3 di 0_T 2 7
=24dl ,1 = oa3d1 .;,, 2aa d2 ,
91 a4 i 1 3 i T2 a d2 ,
29 adT 7 a a ( T 2
i. ,i =IIa d 2 .1 I o a
91 41 .1 3 d
2 ,
1o2d2 ,
2
2aa0 d2,
22 =aad, 2aa ^ , *, a2,
21 21 W21 a
22 2 32 2 23 33
W31 o W31 w31  W31
22 2 2 233 1
W22 w22 w22 1
22 1 2 32
W32 0 32
[[127732,88788,315,266,9], [22792,7920,1006,10,20]],
[[161010,110639,1358,332,9], [18334,5283,82,324,48,3]],
[[154696,107286,3216,243, 3, [10818,2669,834,440,45]],
[[ 114902, 82039, 4477, 108], [4654,1041,846, 311,18]],
[[66172,49570,4181,27], [1422,317, 475,129,3]],
[[29338,23483,2772,3],[292,74,164, 30]]
[ [9832,8562,1326] [36, 12,33,3] ],
[ [2408,2324,452] [2,1,3] ],
[[406,443,105], [0]],
[ [42, 53, 15], [0]],
[[2,3,1], [0]]]:
NUM[4]:=[
[ [480,80] [480,80]] ,
[ [3960,390,10], [2520,66,18]],
[[15400,790,10], [6400,842, 94]],
[[ 37490,914,81,3], [10250,1815,219,16]],
[[63866,1003,248,9], [11396,1918,92,14]],
[[80505,1850,326,9 ], [9167, 936, 234,48, 3]],
[[77348,3432,243,3], [5409,170,404, 45]],
[[57451, 4531, 108], [2327,582, 305,18]],
[[33086,4187,27], [711,415,129,3]],
[ [14669,2772,3], [146,158, 30]],
[[4916,1326], [18,33,3]],
[ [1204, 452] [1,3]],
[[203,105], [0]],
[ [21, 15], [0]],
[[1,1], [0]11 :
C. C,i.., i,,i. an adjustable speed subdivision net to a BB
tensorborder
With the index conventions of Figure 10, the tensorborder
BB coefficients tij are obtained from the adjustable speed
23 1 33
0 W32 0 W32
REFERENCES
[BHR93] Carl de Boor, K. H6llig, and S. Riemenschneider. Box spines.
SpringerVerlag New York, Inc., New York, NY, USA, 1993.
[CDS07] T. J. Cashman, N. A. Dodgson, and Malcolm A. Sabin. Non
uniform Bspline subdivision using refine and smooth. In Pro
ceedings Mathematics oj ] .. 12, pages 121137, 2007.
[CDS08] T. J. Cashman, N. A. Dodgson, and Malcolm A. Sabin. A
symmetric, nonuniform, refine and smooth subdivision algorithm
for general degree Bsplines. Computer Aided Geometric Design,
pages 121137, 2008.
[GW93] Ron Goldman and Joe D. Warren. An extension of chaiken's
algorithm to Bspline curves with knots in geometric progression.
CVGIP: Graphical Model and Image Processing, 55(1):5862,
1993.
[HKD93] Mark Halstead, Michael Kass, and Tony DeRose. Efficient, fair
interpolation using CatmullClark surfaces. In James T. Kajiya, edi
tor, Computer Graphics (SIGGRAPH '93 Proceedings), volume 27,
pages 3544, August 1993.
[KP07] K. Karciauskas and J. Peters. Concentric tesselation maps and
curvature continuous guided surfaces. ComputerAided Geometric
Design, 24(2):99111, Feb 2007.
[PR98] J. Peters and U. Reif. Analysis of generalized Bspline subdivision
algorithms. SIAM Journal on Numerical Analysis, 35(2):728748,
April 1998.
[RP05] U. Reif and J. Peters. Topics in multivariate approximation and
interpolation. In K. Jetter et al., editor, Structural Analysis of
Subdivision .. A  pages 149190, 2005.
[SS05] E.J. Stollnitz and R.E. Rice (Alias Systems). United states patent
6950099: Approximation of CatmullClark subdivision surfaces by
B6zier patches, 2005.
[SZSS98] Thomas W. Sederberg, Jianmin Zheng, David Sewell, and Mal
colm A. Sabin. Nonuniform recursive subdivision surfaces. In
SIGGRAPH, pages 387394, 1998.
05,479,116,9], [911
8,2210,248,9], [54
51, 4051,219, 3], [:
6,3926,105], [711,
69,2556,27], [146,
8,11747,2185, 6],
2, 3304, 764] [3,
658,185], [0,3, 3]
