On the smooth convergence of subdivision and degree elevation for

Computer Aided Geometric Design 18 (2001) 657–666
www.elsevier.com/locate/comaid
On the smooth convergence of subdivision and
degree elevation for Bézier curves
Géraldine Morin, Ron Goldman ∗
Computer Science Department, Rice University, Houston, TX, 77005-1892, USA
Received September 2000; revised March 2001
Abstract
Bézier subdivision and degree elevation algorithms generate piecewise linear approximations of
Bézier curves that converge to the original Bézier curve. Discrete derivatives of arbitrary order can
be associated with these piecewise linear functions via divided differences. Here we establish the
convergence of these discrete derivatives to the corresponding continuous derivatives of the initial
Bézier curve. Thus, we show that the control polygons generated by subdivision and degree elevation
provide not only an approximation to a Bézier curve, but also approximations of its derivatives of
arbitrary order.  2001 Elsevier Science B.V. All rights reserved.
Keywords: Bézier curve; Derivative; Approximation; Subdivision; Degree elevation
1. Introduction
Recursive subdivision and degree elevation both generate a sequence of control polygons
that converge to the underlying Bézier curve. However, in general, even the uniform
convergence of a sequence of piecewise linear functions to a smooth function does not
necessarily imply any convergence of the derivatives, as the example in Fig. 1 shows.
In this paper, we prove that not only do these two algorithms converge, but that
they converge smoothly: that is, the successive control polygons can be associated with
piecewise linear functions approximating the derivatives of the underlying Bézier curve up
to any order. Moreover, the order of the approximation for the derivatives is the same as the
order of convergence of the corresponding algorithm: quadratic for subdivision (Lane and
Riesenfeld, 1980; Prautzsch and Kobbelt, 1994), linear for degree elevation (Farin, 1977;
* Corresponding author.
E-mail address: [email protected] (R. Goldman).
0167-8396/01/$ – see front matter  2001 Elsevier Science B.V. All rights reserved.
PII: S 0 1 6 7 - 8 3 9 6 ( 0 1 ) 0 0 0 5 9 - 0
658
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
Fig. 1. The sawtooth function converges uniformly to the zero function, but its first derivative does
not converge.
Cohen and Schumaker, 1985; Prautzsch and Kobbelt, 1994). To prove these results, we
make use of the standard formulas for differentiation, subdivision, and degree elevation for
Bézier curves (Farin, 1992) as well as the well known convergence properties of these
subdivision and degree elevation algorithms. We also apply the conventional approach
to discrete derivatives via divided differences, used in particular for uniform subdivision
schemes (Dyn et al., 1991). Floater and Lyche (2000) also approximate derivatives of
Bézier curves but they use a sequence of polynomials, whereas our method uses piecewise
linear functions.
2. Background and notation
In this section, we fix our notation and recall briefly the standard results on the
convergence of the degree elevation and subdivision algorithms for Bézier curves.
Denote by P a Bézier curve of degree n over the interval [0, 1]:
P (t) =
n
Pk Bkn (t),
(1)
k=0
where Bkn (t) = (nk )(1 − t)n−k t k is the kth Bernstein polynomial of degree n and (nk ) is the
n!
. The polyline characterized by the sequence of Bézier control
binomial coefficient k!(n−k)!
0
points p = (P0 , . . . , Pn ) is called the control polygon of P .
In the following, UP(p, [a, b]) denotes the uniform parameterization of a control
polygon p = (Π0 , . . . , Πn ) over an interval [a, b]. That is:
b−a
= Πj ,
UP p, [a, b] a + j
n
b−a
and UP(p, [a, b]) is linear on the intervals [a + j b−a
n , a + (j + 1) n ], j = 0, . . . , n − 1.
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
659
2.1. Degree elevation
A polynomial P of degree n is also a polynomial of degree ν for any ν n. As such, P
has a vector of control points πν , so that:
P (t) =
ν
(πν )k Bkν (t).
k=0
The degree elevation algorithm computes the control points πν+1 from the control
points πν (Farin, 1992). Explicitly:
πν+1 = Eν πν ,
where Eν is a (ν + 2) × (ν + 1) bi-diagonal matrix such that:
ν +1−i
i+1
and (Eν )i+1,i =
, for 0 i n + 1.
(Eν )i,i =
ν +1
ν+1
The successive vectors πν , ν n, define a sequence of control polygons. We denote by
λ(P , ν) the uniform parameterization of the control polygon for degree ν, that is:
λ(P , ν) = UP πν , [0, 1] .
It is well know that the functions λ(P , ν) converge to P at a rate of O( ν1 ) (Farin, 1977;
Cohen and Schumaker, 1985; Prautzsch and Kobbelt, 1994).
2.2. Subdivision
Bézier subdivision doubles the number of control polygons at each step: from the control
polygon of a Bézier curve on a given interval [a, b], the control polygons of the restrictions
a+b
of the curve to the intervals [a, a+b
2 ] and [ 2 , b] are generated (Farin, 1992). In particular,
1
0
for a degree n Bézier curve, p0 = Ln p and p11 = Rn p0 are the left and right control
polygons generated after one round of subdivision, where
i j
i 1
Ln = Bj
=
2 i,j =0,...,n
2i i,j =0,...,n
and
n−i j −i
n−i 1
=
.
Rn = Bj −i
2 i,j =0,...,n
2n−i i,j =0,...,n
Recursively, we denote by {p0i , . . . , p2i i −1 } the control polygons generated by i rounds of
subdivision:
pki = S1 . . . Si p0 ,
(2)
where Sj ∈ {Ln , Rn } for all j = 0, . . . , i. The piecewise linear approximation l(P , i) is
]: the uniform parameterization
defined piecewise by its restriction to the interval [ 2ki , k+1
2i
i
of pk . That is:
k k+1
i
l(P , i)|[ k , k+1 ] = UP pk , i , i
.
2
2
2i 2i
660
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
The functions l(P , i) converge to P at a rate of O( 21i ) (Lane and Riesenfeld, 1980;
Prautzsch and Kobbelt, 1994).
3. Definition of the discrete derivatives
In this section, we recall the standard definition of the discrete derivatives for a generic
uniform piecewise linear function, and then specialize to the piecewise linear functions
generated by degree elevation and subdivision. These discrete derivatives are themselves
piecewise linear functions.
3.1. Discrete derivatives of a uniform piecewise linear function
Let n be the normalized difference matrix of size n × (n + 1), given by
(n )i,i = −n,
(n )i,i+1 = n,
for 0 i n,
and otherwise (n )i,j = 0 for 0 i n, 0 j n + 1. The first discrete derivative D 1 is
typically defined by setting
1
n p, [a, b] ,
D 1 UP p, [a, b] = UP
b−a
where n + 1 is the number of vertices of p.
Derivatives of higher order for uniform piecewise linear functions are then defined
recursively:
D m UP p, [a, b] = D 1 D m−1 UP p, [a, b]
1
= UP
n−m+1 . . . n p, [a, b] .
(b − a)m
Fig. 2. An example of discrete derivatives: from top to bottom, the function UP({1, 2, 1, 1, 0}, [0, 1])
and its discrete derivatives of orders 1 and 2.
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
661
In particular, the functions λ(P , ν) generated by degree elevation are uniform piecewise
linear functions. Thus since [a, b] = [0, 1],
D m λ(P , ν) = UP ν−m+1 . . . ν πν , [0, 1] .
3.2. Discrete derivatives of l(P , i)
In this paragraph, we generalize the definition of the discrete derivatives; our goal here is
to define the discrete derivative over the set of piecewise linear approximations {l(P , i), i ∈
N} of P generated by Bézier subdivision. First, note that D m l(P , i) is defined piecewise
on each interval [ 2ki , k+1
], since the restriction of l(P , i) on each interval [ 2ki , k+1
] is
2i
2i
a uniform piecewise linear function. The following lemma asserts that the functions
] intersect at 2ki
D m l(P , i) are indeed well defined on [0, 1]. Since the intervals [ 2ki , k+1
2i
for k = 1, . . . , 2i − 1, we need only to check that the value D m l(P , i)( 2ki ) is uniquely
defined.
Lemma 1.
m
D l(P , i)|[ k−1 , k ]
2i
2i
k
2i
= D l(P , i)|[ k , k+1 ]
m
2i
2i
k
,
2i
for k = 1, . . . , 2i − 1.
Proof. Because the control polygons generated by Bézier subdivision define the same
underlying polynomial, the continuity between the different parts of the polynomial curve
they define is C ∞ . Therefore:
i
n−m . . . n pki n−m−1 = n−m . . . n pk+1
.
0
By the definition of D m , this equality is equivalent to the lemma. ✷
In this section we have shown that discrete derivatives of any order can be associated
with the piecewise linear functions generated by the degree elevation and subdivision
algorithms. In the next section, we will prove that in both cases these discrete derivatives
converge to the corresponding continuous derivatives of the underlying Bézier curve.
4. Approximation of Bézier derivatives
The discrete derivatives D m λ(P , ν) and D m l(P , i) both converge to the continuous
derivative P (m) . To prove these assertions, we shall show that discrete differentiation
commutes with both subdivision and degree elevation. It will then follow that the discrete
derivative of the piecewise linear approximant generated by degree elevation or subdivision
is exactly equivalent to the piecewise linear function generated by the same algorithm
applied to the corresponding derivative of the Bézier curve.
Note that for Bézier curves, continuous differentiation must commute with both
subdivision and degree elevation because the Bernstein coefficients of a polynomial are
unique. However, these observations about continuous differentiation do not imply that
discrete differentiation must commute with both subdivision and degree elevation. Indeed
662
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
for any polynomial basis, continuous differentiation must commute with both subdivision
and degree elevation, but in general the same can not be said for discrete differentiation.
To prove our assertions about discrete differentiation, we shall need a result connecting
the continuous and discrete derivative of a Bézier curve. Lemma 2 links the derivative of a
Bézier curve with the difference operator applied to the control points.
Lemma 2. If p0 is the vector of Bézier control points of a polynomial P of degree n, then
n−m+1 . . . n p0 is the vector of Bézier control points of P (m) .
Proof. Because (see, for example, (Farin, 1992))
n n−1
Bk (t) = n Bk−1
(t) − Bkn−1 (t)
and from Eq. (1), we have the well known formula (also in (Farin, 1992))
P (t) = n
n
(Pk+1 − Pk )Bkn−1 (t).
k=0
Thus, n p is the vector of control points of P and is of dimension n. Therefore, by
induction, the lemma holds. ✷
The next two lemmas establish the commutativity of the normalized difference matrix
with the degree elevation and subdivision matrices. To the best of our knowledge, these
two lemmas are new, and they constitute, together with Theorems 5 and 7, the main
contributions of this paper.
Lemma 3.
n+1 En = En−1 n .
Proof. It is easy to check directly from the definitions of n and En .
✷
Lemma 4.
1
n Ln = Ln−1 n ,
2
1
n Rn = Rn−1 n .
2
Proof. First, note that the matrices on the left hand side and right hand side have the same
size, since Ln and Rn are both of size (n + 1) × (n + 1) and n is of size n × (n + 1).
Moreover, Ln = [Bji ( 12 )]i,j =0,...,n ; thus
i+1 1
i 1
n Ln = n −Bj
+ Bj
2
2 i=0,...,n−1, j =0,...,n
and
1
1
Ln−1 n = n −Bji
+ Bji −1
.
2
2 i=0,...,n−1, j =0,...,n
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
663
But by the standard recurrence for the Bernstein basis (Farin, 1992),
n
−Bkn (r) + Bkn+1 (r) = −Bkn (r) + rBk−1
(r) + (1 − r)Bkn (r),
n
= r −Bkn (r) + Bk−1
(r) .
Therefore setting r =
1
2
1
n Ln = Ln−1 n .
2
Similarly for the right subdivision matrix, we have
n−i−1 1
n−i 1
n Rn = n Bj −i−1
− Bj −i
2
2 i=0,...,n−1, j =0,...,n
n−i−1 1
n−i 1
− Bn−j
= n Bn−j
2
2 i=0,...,n−1, j =0,...,n
and
1
n−i−1 1
−
B
Rn−1 n = n Bjn−i−1
j −i
−i−1 2
2 i=0,...,n−1, j =0,...,n
n−i−1 1
n−i−1 1
= n Bn−j
.
− Bn−j
−1
2
2 i=0,...,n−1, j =0,...,n
Moreover for all r
n−i−1
n−i
Bn−j
(1 − r) − Bn−j
(1 − r)
n−i−1
n−i−1
n−i−1
= Bn−j
(1 − r) − (1 − r)Bn−j
−1 (1 − r) − rBn−j (1 − r)
n−i−1
n−i−1
= (1 − r) Bn−j
(1 − r) − Bn−j
−1 (1 − r) .
Thus, the commutativity relation for the right subdivision matrix holds as well. ✷
The main result for degree elevation follows from the Lemmas 2 and 3.
Theorem 5. As ν ∈ N goes to infinity, the discrete derivative D m λ(P , ν) converges to
the continuous derivative P (m) of the underlying Bézier curve. Moreover the rate of
convergence is O( ν1 ), the same as the rate of convergence of the degree elevation algorithm.
Proof. First, we prove that:
D m λ(P , ν) = λ P (m) , ν .
(3)
For m = 1, we have
D 1 λ(P , ν) = D 1 UP(Eν−1 Eν−2 . . . En p0 , [0, 1])
= UP ν Eν−1 . . . En p0 from the definition of D 1
= UP Eν−2 Eν−3 . . . En−1 n p0 , [0, 1] from Lemma 3
= λ(P , ν − 1)
from Lemma 2 and the definition of λ.
664
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
Therefore, by induction, Eq. (3) holds. Moreover, from the convergence of the degree
elevation algorithm, the sequence (λ(P (m) , ν))νn converges to P (m) at a rate of O( ν1 ). ✷
For Bézier subdivision, we shall first establish the convergence of D m l(P , i) on each
]. As in the case of degree elevation, we shall see that the two linear
interval [ 2ki , k+1
2i
functions D m l(P , i) and l(P (m) , i) agree on each interval [ 2ki , k+1
], where 0 k 2i − 1.
2i
Lemma 6. On the interval [ 2ki , k+1
]:
2i
D m l(P , i) = l P (m) , i .
Proof. First we establish this result for m = 1, by showing that the two linear functions
D 1 l(P , i) and l(P , i) have the same values at their knots. The vector of points defining
D 1 l(P , i) on [ 2ki , k+1
] is 2i n pki . But from Eq. (2), pki = S1 . . . Si p0 , where each Sj is
2i
either Ln or Rn . Thus, from the commutativity identities in Lemma 4:
2i n pki = 2i n S1 . . . Si p0
= S1 . . . Si n p0 ,
where Sj is either Ln−1 or Rn−1 if Sj was respectively either Ln or Rn . But, from
Lemma 2, n p is the vector of control points of P , and therefore S1 . . . Si n p is exactly
]—that is,
the vector of control points of the restriction of P to the interval [ 2ki , k+1
2i
the kth control polygon of P after i rounds of subdivision, or equivalently, the control
]. As a consequence, D 1 l(P , i) and
polygon defining l(P , i) on the interval [ 2ki , k+1
2i
l(P , i) have the same vector of values at the knots. Moreover, these functions are both
uniform piecewise linear on the interval [ 2ki , k+1
]; thus, they agree on this interval. By
2i
induction, this result holds as well for all m 2. ✷
From the previous section we know that l(P m , i) converges quadratically to P m . Thus,
Lemma 6 implies that D m l(P , i) converges, also quadratically, to P m on each interval
].
[ 2ki , k+1
2i
Theorem 7. The discrete derivative D m l(P , i) converges to the continuous derivative
P (m) of the polynomial on the interval [0, 1] as i goes to infinity. Moreover the rate of
convergence is O( 21i ), the same as the rate of convergence of the subdivision algorithm.
]. But, the function
Proof. From Lemma 6, the result is true on each interval [ 2ki , k+1
2i
D m l(P , i) is well defined by its restriction to these intervals; therefore the convergence
result holds on [0, 1]. ✷
5. Extensions
In this section we present other frameworks, generalizing Bézier curves, in which similar
results hold: that is, we can construct a sequence of piecewise linear functions converging
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
665
Fig. 3. Here we illustrate Theorem 7. On the top, from left to right: a Bézier curve and its control
polygon, and the piecewise linear approximations of order 1 and 3 generated by subdivision. On the
bottom, the corresponding derivatives of these three figures: the continuous derivative of the Bézier
curve, and the first discrete derivative of the piecewise linear approximations.
to the continuous derivative of a curve or partial derivative of a surface. In each of the cases
below, we shall justify the result by giving the underlying commutativity relation. Details
of these proofs are left to the reader.
5.1. Bézier tensor product surfaces
Let us consider a Bézier tensor product surface, with the two parameter directions u
and v of degree n and m. Degree elevation, subdivision and differentiation can be applied
independently in both directions u and v. Each of these operations can be characterized by
matrices: Eu, Ev for degree elevation, Lu, Lv, Ru, Rv for subdivision and u, v for
differentiation. These matrices act on a vector of control points of size (n + 1)(m + 1).
Commutativity relations similar to the curve case hold, both for degree elevation and
subdivision: the differentiation matrices in u and v both commute with each of
the degree elevation and subdivision matrices. Therefore, discrete derivative operators
in u and v applied to the piecewise bilinear approximation of the surface generate
sequences of piecewise bilinear functions converging to the continuous partial derivative
of corresponding order of the Bézier surface.
5.2. Poisson curves and surfaces
Poisson curves are to analytic functions, what Bézier curves are to polynomials. That
is, a Poisson curve is an analytic curve that admits a control polygon whose control points
k
are its coefficients in the Poisson basis ( tk! e−t )k0 . A subdivision algorithm for Poisson
curves exists and is characterized by a single subdivision matrix (Morin and Goldman,
2000)—unlike in the polynomial setting where both right and left subdivision have to be
considered. In the Poisson framework, as in the polynomial setting, it is easy to show
that the difference matrix and the subdivision matrix commute. Thus, the piecewise linear
functions generated by the subdivision algorithm which converge to the Poisson curve
666
G. Morin, R. Goldman / Computer Aided Geometric Design 18 (2001) 657–666
admit discrete derivatives that converge to the corresponding continuous derivatives of the
Poisson curve. Moreover this case is even simpler than the polynomial case: Since one
subdivision matrix is sufficient to define Poisson subdivision, the discrete derivatives are
given on a unique interval, and are not defined piecewise.
As with polynomials, the curve case generalizes to the surface setting. We can also
construct sequences of piecewise bilinear functions approximating continuous partial
derivatives of a Poisson tensor product surface, since in this case, too, difference and
subdivision matrices in both directions commute.
5.3. B-spline subdivision
Another generalization of Bézier curves is provided by B-splines. Let us consider the
uniform B-splines of degree n, with continuity of order n − 1 at the knots. We denote by
Sn the corresponding subdivision matrix (see, for example, (Warren, 1995)). The following
commutativity relation holds:
Sn = 2Sn−1 ,
where is the unnormalized difference matrix, and we consider all these matrices to be
infinite. This commutativity relation is well-known, since it is used to prove the smoothness
of the limit of this subdivision scheme.
Therefore, here again, we can construct from the piecewise linear functions associated
with the control polygon, sequences a piecewise linear functions converging to the
continuous derivatives of a B-spline curve.
References
Cohen, E., Schumaker, L.L., 1985. Rates of convergence of control polygons. Computer Aided
Geometric Design 2, 229–235.
Dyn, N., Gregory, J., Levin, D., 1991. Analysis of uniform binaty subdivision schemes for curve
design. Constructive Approximation 7, 127–147.
Farin, G., 1977. Konstruktion und Eigenschaften von Bézier-Kurven und -Flächen, Master’s Thesis.
Technical University Braunschweig, FRG.
Farin, G., 1992. Curves and Surfaces for CAGD, A Practical Guide, 3rd edn.. Academic Press.
Lane, J.M., Riesenfeld, R.F., 1980. A theoretical development for the computer generation and
display of piecewise polynomial surfaces. IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 35–
46.
Floater, M.S., Lyche, T., 2000. Asymptotical convergence of degree-raising. Adv. Comput. Math. 12,
175–187.
Morin, G., Goldman, R., 2000. A subdivision scheme for Poisson curves and surfaces. Computer
Aided Geometric Design 17, 813–833.
Prautzsch, H., Kobbelt, L., 1994. Convergence of subdivision and degree elevation. Adv. Comput.
Math. 2, 143–154.
Warren, J., 1995. Subdivision methods for geometric design, available at http://www.cs.rice.
edu/∼jwarren/.