0% found this document useful (0 votes)
44 views

Curve and Surface Construction Using Variable Degree Polynomial Splines

1) The document describes using variable degree polynomial splines for curve and surface construction as an alternative to cubic splines. 2) Variable degree polynomial splines have degrees that vary along the curve/surface, controlled by two parameters per interval. This provides more flexible shapes than cubics. 3) Curves and surfaces can be constructed using these splines in the same way as cubics (e.g. B-splines, NURBS), but with increased shape control and C2 continuity.

Uploaded by

Layla Vu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Curve and Surface Construction Using Variable Degree Polynomial Splines

1) The document describes using variable degree polynomial splines for curve and surface construction as an alternative to cubic splines. 2) Variable degree polynomial splines have degrees that vary along the curve/surface, controlled by two parameters per interval. This provides more flexible shapes than cubics. 3) Curves and surfaces can be constructed using these splines in the same way as cubics (e.g. B-splines, NURBS), but with increased shape control and C2 continuity.

Uploaded by

Layla Vu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Computer Aided Geometric Design 17 (2000) 419–446

www.elsevier.com/locate/comaid

Curve and surface construction using


variable degree polynomial splines

Paolo Costantini 1
Universita di Siena, Dipartimento di Matematica “Roberto Magari”, Via del Capitano 15, I-53100 Siena, Italy
Received February 1999; revised December 1999

Abstract
The aim of this paper is to describe applications of variable degree polynomials in the area of curve
and surface construction. These polynomials have the same simple structure and the same properties
as cubics with the advantage of a strong control on their shape, given by two degrees which play the
role of design parameters. As a consequence, more flexible C 2 B-spline or NURBS like curves and
C 2 tensor-product or Boolean sum surfaces can be obtained with the same geometric construction
and the same computational cost of their cubic counterparts.  2000 Elsevier Science B.V. All rights
reserved.
Keywords: Shape-preserving interpolation; Variable degree splines; Continuity; Tension method;
Chebyshev-blossoming

1. Introduction

During the recent years a great deal of papers on shape-preserving interpolation have
been published, and several new techniques have been proposed. Among those falling
in the tension methods area, variable degree splines (or splines of non-uniform degree)
emerged as a promising tool because of their theoretical and practical properties (see, e.g.
(Costantini, 1996, 1997; Kaklis and Pandelis, 1990; Kaklis and Sapidis, 1995) and also
the more recent one (Messac and Sivanandam, 1997)). The basic idea was to use, in the
ith interval, a polynomial of degree ni > 3 taken from a four dimensional subspace of
Pni , isomorphic to and with the same properties as P3 . The variable degree plays the role
of a tension parameter but, unlike in the exponential or rational setting, the structure of
the polynomial can be described by a cubic-like Bézier net and its evaluation requires a
computational cost practically equivalent to that of cubics.

1 E-mail: [email protected].

0167-8396/00/$ – see front matter  2000 Elsevier Science B.V. All rights reserved.
PII: S 0 1 6 7 - 8 3 9 6 ( 0 0 ) 0 0 0 1 0 - 8
420 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

Despite the good geometrical properties, the use of variable degree polynomial splines
has been restricted to shape-preserving interpolation (see the papers quoted above and
the references therein), with the only exception of a brief description of the geometric
construction of spline curves in (Costantini, 1996), Section 5. More recently, a further
generalization, allowing a more powerful shape control has been introduced. Instead of
using a single degree for each polynomial piece, two parameters, affecting respectively
the shape at the two end sides of the interval, are now permitted. The resulting variable
degree polynomial splines (VDPS), which maintain all the properties described above
and easily get cuspid or linear like appearance, were first introduced in (Soanes, 1976)
for C 2 interpolation, and then briefly recalled in (Schmidt, 1996); in (Costantini, 1997)
they were described using a Bézier approach and their properties in shape-preserving C 1
interpolation were emphasized.
The aim of the present paper is to convince the readers that this new class of polynomials,
which contains cubics as a special case, can be used to reproduce all the CAGD applications
which use cubic Bézier polynomials or cubic Bézier rationals as building blocks to produce
curves or surfaces. In other words, B-spline or NURBS like curves and tensor product or
Boolean sum surfaces can be obtained with the same geometrical construction, the same
computational cost and the same easy use of control points as the corresponding cubic
ones. Additionally, we have now two design parameters per interval (or, in other words,
two parameters per internal node, resembling G2 cubic curve construction) and analytical
continuity of order two (so we get continuous curvature and, in a sense specified later, also
continuous torsion for space curves) which is a very important property in many industrial
processes.
The presentation is divided in five parts: in the next one the basic analytical and
geometric properties of the polynomials used will be briefly recalled from (Costantini,
1997), and, in Section 3, the construction of piecewise polynomial and rational curves will
be described. Surface construction will then be shown in Section 4, and final conclusions
and remarks in the last one.

2. Variable degree polynomial spaces

This section is devoted to defining our basic four dimensional polynomial subspace.
Given two integers n, m > 3, we consider the functions φ and ψ defined on [0, 1] by
φ(t) := (1 − t)n , ψ(t) := t m ,
and the 4-dimensional linear space (referred to as variable degree polynomial space)
VPn,m := span(P1 , φ, ψ), (1)
where Pk denotes the polynomial space of degree k. Note that VP3,3 = P3 . We also
introduce the 4-dimensional linear space Ln,m of all continuous functions on [0, 1] which
are linear on each subinterval [0, 1/n], [1/n, 1 − 1/m], [1 − 1/m, 1]. Any ` ∈ Ln,m can be
determined by the data `(0), `(1/n), `(1 − 1/m), `(1).
Denoting by B (n) and B (m) the Bernstein operators of degree n and m respectively, we
can write:
φ = B (n) (`φ ), ψ = B (m)(`ψ ),
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 421

where `φ and `ψ are the two elements of Ln,m defined by `φ (0) = 1, `φ (1/n) =
`φ (1 − 1/m) = `φ (1) = 0, `ψ (0) = `ψ (1/n) = `ψ (1 − 1/m) = 0, `ψ (1) = 1. Suppose
for the moment that n = m = 3. Then any b ∈ P3 = VP3,3 can be uniquely written as
b = p + cφ φ + cψ ψ, where p ∈ P1 . The Bernstein operator reproducing P1 , we can write
b = B (3)(`), where ` := p + cφ `φ + cψ `ψ , and the four real numbers `(0), `(1/3), `(2/3),
`(1) are the Bézier control points of b.
In the general case n, m > 3, we will introduce the operator B n,m on the space Ln,m by
B n,m (p + cφ `φ + cψ `ψ ) := p + cφ B n `φ + cψ B m `ψ = p + cφ φ + cψ ψ, (2)
for all p ∈ P1 . This operator clearly provides an isomorphism between Ln,m and VPn,m
and any b ∈ VPn,m is thus determined by the data `(0), `(1/n), `(1 − 1/m), `(1), where
B n,m (`) := b. These four real numbers play the same role as the Bézier control points in
the cubic polynomial case. They will be called pseudo Bézier control points of b and ` will
be called pseudo Bézier net of b.
In VPn,m we will consider the dual basis {B0 , B1 , B2 , B3 } defined by Bi = B n,m (`i ),
i = 0, 1, 2, 3, where {`0 , `1 , `2 , `3 } is the basis of Ln,m characterized by `i (tj ) = δi,j ,
with t0 = 0, t1 = 1/n, t2 = 1 − 1/m, t3 = 1. When necessary, we will use the notation
Bi (·) = Bi (· ; n, m). The basis {B0 , B1 , B2 , B3 } (which will be called pseudo Bernstein
basis of VPn,m ) plays the same role as the Bernstein basis in the cubic case n = m = 3
and it has similar properties. For instance, P3 from the obvious fact that {`0 , `1 , `2 , `3 }
is nonnegative and normalized (that is i=0 `i = 1), it clearly follows from (2) and
from the positivity of the Bernstein operators that {B0 , B1 , B2 , B3 } is both nonnegative
and normalized. It is also proved in (Costantini, 1997) that {B0 , B1 , B2 , B3 } is variation
diminishing. In fact, any b ∈ VPn,m can be seen as a polynomial of Pmax{n,m} , and its
usual Bézier net, λ, can be obtained from the pseudo Bézier net ` using a corner cutting
procedure (see (Costantini, 1997) and Fig. 1).
In Fig. 2 are shown some plots of pseudo-Bézier basis for some values of the degrees.

Fig. 1. The pseudo Bézier net ` (dotted) and the net λ (solid) for n = 4, m = 7.
422 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

Fig. 2. Some pseudo Bernstein basis functions.

More generally, let us consider curves in Rr , r = 2, 3. For any l = (`1 , . . . , `r ) ∈ Lrn,m


we will set B n,m (l) := (B n,m (`1 ), . . . , B n,m (`r )). Then, any b ∈ VPrn,m can be written as

X
3
b= bi Bi , bi = l(ti ), i = 0, . . . , 3,
i=0

where B n,m (l) = b. The four points bi are the pseudo Bézier control points of b. If
b = p + cφ φ + cψ ψ with p ∈ Pr1 , cφ , cψ ∈ Rr , then l = p + cφ `φ + cψ `ψ so that
b0 = p(0) + cφ , b1 = p(1/n), b2 = p(1 − 1/m), b3 = p(1) + cψ .
Consequently, b can be calculated from its pseudo Bézier control points as
 
b(t) = p(t) + b(0) − p(0) (1 − t)n + b3 − p(1) t m , (3)
where p is the linear function which interpolates the points b1 and b2 for the values 1/n
and 1 − 1/m of the variable respectively. It turns out that the computational time is in
practice equivalent to that of computing cubic curves. Since the functions (1 − t)n and
t m used in (3) are positive and bounded by one, the absolute error in computing b(t) is
bounded by the sum of the absolute values of their coefficients plus the (negligible) error
of computing p(t). Thus (3) is numerically reliable.
It is immediate to see (see (Costantini, 1997)) that the properties of the convex hull,
affine invariance, end-point interpolation, linear precision, pseudo-local control, variation
diminishing, hold as in the “classical” cubic case, and for symmetry we have
X
3 X
3
bk Bk (t; n, m) = b3−k Bk (1 − t; m, n).
k=0 k=0
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 423

On the other hand, b cannot be subdivided as a polynomial of VPn,m , because the


corresponding two pseudo Bézier subnets no longer possess the form required in Lrn,m ;
subdivision can, of course, still be performed in Pmax{n,m} . Similarly, de Casteljau
algorithm requires to be used in the classical way (that is with max{n, m} steps) in
Pmax{n,m} , but some more details are in this case needed.
It is easy to see that VPn,m is a Chebyshev space in [0, 1] and an extended Chebyshev
space in (0, 1). Therefore the so-called Chebyshev-blossoming theory of (Mazure, 1998)
can be applied after proper modifications (Goodman and Mazure, 1999) and this ensures
us of the existence of Chebyshev–Bézier control points, of Chebyshev–Bézier basis
(corresponding here to pseudo Bézier control points and pseudo Bézier net) and of a three-
steps Chebyshev–de Casteljau algorithm. Unfortunately, in the present case we have not
been able to explicitly compute the location of the de Casteljau points.
The degrees can of course be used to modify the shape of the curve; in fact, since Bézier
polynomials tend to their net when the degree increases, we see immediately that the curve
is attracted by b1 when n increases, by b2 when m increases and converges to the pseudo
Bézier net when both increase. See Fig. 3 for some graphical examples.
As in the classical cubic case, see, e.g. (Hoschek and Lasser, 1993, p. 149), it is
possible to obtain the rational counterpart of variable degree Bézier polynomials. In fact,
projecting from the Euclidean wxyz-space E 4 onto the homogeneous 1xyz-space the curve
P 3
k=0 Bk Bk where, supposing for simplicity non-vanishing weights βk ,

Bk := [βk , βk bk ]T , bk ∈ R3 ,
we get the rational Bézier curve
P3
βk bk Bk
b = Pk=0 3
. (4)
k=0 βk Bk

Fig. 3. The effect of increasing the degree on the polynomial shape.


424 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

3. Curve construction

The aim of this section is to show the graphical features of C 2 curves obtained by
connecting together polynomials or rationals of the forms (3) or (4). We recall that the
corresponding results in the simpler C 1 setting can be found in (Costantini, 1997). We first
introduce a B-spline basis and then the direct geometric construction of the pseudo Bézier
net from the pseudo de Boor net, as in (Hoschek and Lasser, 1993), Chapter 5, or (Farin,
1988), Chapter 7. The third part of this section is devoted to sketch applications in C 2
parametric interpolation and the last one to the description of the graphical applications of
NURBS like curves.

3.1. B-spline basis

Let u0 < u1 < · · · < uN be the a sequence of distinct knots and let µi , i = 0, 1, . . . , N ,
with 1 6 µi 6 4 their multiplicities. We assume µ0 = µN = 4 so that we have not to
deal with augmented knot sequences. Let hi := ui+1 − ui , i = 0, 1, . . . , N − 1, and let
ni , i = 0, 1, . . . , N − 1, mi , i = 0, 1, . . . , N − 1, be sequences of integers, where ni ,
mi are associated to the interval [ui , ui+1 ] and play the same role as n, m in the previous
section. We denote the space of variable degree polynomial splines by

VS := s such that ∀i = 0, . . . , N − 1, ∃bi ∈ VPni ,mi such that ∀u ∈ [ui , ui+1 ],

s(u) = bi (t), t = (u − ui )/ hi , and s ∈ C (3−µi ) at ui . (5)
The existence and the properties of a B-spline like basis can be deduced from general
and interesting results obtained by other authors. More specifically, let φi , ψi be defined as
φi (u) := (1 − t)ni , ψi (u) := t mi ,
where t = (u − ui )/ hi , and suppose µi = 1, i = 1, . . . , N − 1. Since φi(r) (1) = ψi(r) (0) =
0, r = 0, 1, 2; φi(2) (0) = ni (ni − 1)/ h2i ; ψi(2) (1) = mi (mi − 1)/ h2i , the results obtained
in (Kvasov, 1996) can be applied to compute a B-spline like basis. The recent results of
(Goodman and Mazure, 1999), based on the so-called quasi-Chebyshev blossoming, prove
the existence of a basis having the usual B-splines properties for arbitrary sequences of
knots. However, the use of the blossoming theory presents sometimes difficulties in the
analytic computations; therefore we prefer to easily express the normalized B-spline basis
using their (functional) Bézier pseudo net.
Let w−3 6 w−2 6 · · · 6 wK+3 , K > N , be the sequence of distinct knots obtained from
{u0 , . . . , uN } counting any knot with its multiplicity. We are seeking for a sequence Ni =
Ni (· ; ni−2 , mi−2 , . . . , ni+1 , mi+1 ), i = −1, 0, . . ., K + 1, with the following properties:
(a) Ni (u) > 0 for u ∈ (wi−2 , wi+2 );
(b) P Ni (u) = 0 for u ∈ / (wi−2 , wi+2 ) (that is supp(Ni ) = [wi−2 , wi+2 ]);
K+1
(c) i=−1 Ni (u) = 1 for u ∈ [w0 , wK ];
(d) Ni (u) ∈ VS.
We can easily state the following result.

Theorem 1. There exists one and only one sequence Ni , i = −1, 0, . . . , K + 1, satisfying
the properties above.
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 425

Proof. Let us denote with `(i) j,k , k = 0, . . . , 3, the (functional) control points of a generic
Ni in the interval [uj , uj +1 ]. We start by observing that the thesis holds in the cubic case:
nj = mj = 3 for all j and concentrating on the geometric construction of cubic B-splines.
Their polynomial pieces can be described by the control points (ξ̄j,k , `¯j,k ), k = 0, . . . , 3
(i)

(the “bar” is used only to distinguish between the cubic and the general case), where
ξ̄j,0 = uj , ξ̄j,1 = uj + hj /3, ξ̄j,2 = uj +1 − hj /3, ξ̄j,3 = uj +1 , It is well known (see, e.g.
(Hoschek and Lasser, 1993)) that, if µj = 1, that is if the B-spline is C 2 continuous at
uj , the straight lines connecting (ξ̄j −1,1 , `¯(i) ¯(i) ¯(i)
j −1,1 ) with (ξ̄j −1,2 , `j −1,2 ) and (ξ̄j,1 , `j,1 ) with
(ξ̄j,2 , `¯(i) ) do have a common point at (η̄, d̄), where
j,2

hj −1 hj
η̄ = ξ̄j −1,2 + ξ̄j,1
hj −1 + hj hj −1 + hj

and d̄ = 1 if j = i, otherwise d̄ = 0. Note that `¯j −1,3 = `¯j,0 is obtained as a convex


(i) (i)

combination of `¯(i) ¯(i)


j −1,2 and `j,1 . In other words we are only repeating, around uj ,
the geometric construction of the Bézier control points from the de Boor control
net for functional B-splines. The reason is that we want to point out how a cubic
B-spline is obtained from a continuous piecewise linear function, L̄(i) , made up by four
segments connecting the points (η̄0 , d̄0 ), . . . , (η̄4 , d̄4 ); the break points internal to supp(Ni )
correspond to either Bézier, when µj > 1, or de Boor control points, when µj = 1, (we do
not consider here the case when supp(Ni ) reduces to a single interval, since B-splines are
obtainable as Bézier polynomials). Note that, from this point of view, the very reason of
property c) is that the piecewise linear functions form, by construction, a partition of unity.
A graphical explanation is given in Figs. 4.
Let us now consider general degrees and a spline satisfying properties b) and d).
(i)
Its polynomial pieces are defined by the pseudo Bézier control points (ξj,k , `j,k ), k =
0, . . . , 3, where ξj,0 = uj , ξj,1 = uj + hj /nj , ξj,2 = uj +1 − hj /mj , ξj,2 = uj +1 .
Expressing the equations deriving from C 2 continuity in terms of the Bézier control points,
(i) (i)
we again see that the straight lines connecting (ξj −1,1 , `j −1,1 ) with (ξj −1,2 , `j −1,2 ) and
(i) (i)
(ξj,1 , `j,1 ) with (ξj,2 , `j,2 ) do have a common point at (η, d), where
ρj σj −1
η= ξj −1,2 + ξj,1 ,
ρi + σj −1 ρj + σj −1
and
hj−1 hj  hj−1 hj hj+1  hj+1
mj−1 + nj mj−1 −1 mj +nj+1 nj+1 −1
ρj := hj−1 hj
; σj := hj hj+1
.
mj−1 −1 + nj −1 mj −1 + nj+1 −1

In other words, as better explained in the following subsection, we can proceed as in the
cubic case, and obtain the pseudo Bézier control points from the pseudo de Boor ones.
(i) (i) (i) (i)
Again `j −1,3 = `j,0 is obtained as a convex combination of `j −1,2 and `j,1 . Thus the
spline is defined by a piecewise linear function, L(i) , made up by four segments connecting
the points (η0 , d0 ), . . . , (η4 , d4 ), and η0 , . . . , η4 are in a one-to-one correspondence with
426 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(a)

(b)

Fig. 4. (a) The piecewise linear function of N2 for µ0 = µ1 = µ2 = µ3 = µ4 = 1. (b) The piecewise
linear function of N2 for µ0 = µ1 = µ3 = 1, µ2 = 2. (c) The piecewise linear function of N2 for
µ0 = µ2 = 1, µ1 = 3.

η̄0 , . . . , η̄4 . Note that also ξj,k , k = 0, . . . , 3, are in a one-to-one correspondence with
ξ̄j,k , k = 0, . . . , 3.
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 427

(c)

Fig. 4. (Continued.)

Therefore, for a given sequence of knots and multiplicities, Ni (· ; ni−2 , mi−2 , . . . , ni+1 ,
mi+1 ) can be uniquely constructed as follows (see Figs. 4): first we take Ni (· ; 3, . . ., 3)
and its piecewise linear L̄(i) ; then we take η0 , . . . , η4 corresponding to η̄0 , . . . , η̄4 and set
dk := d̄k , k = 0, . . . , 4, where the d̄k uniquely define the piecewise linear L̄(i) of cubic,
and finally we extract the pseudo Bézier control points. The spline is then made up by
the corresponding Bézier polynomials. Since dk = d̄k properties (a) and (c) are obviously
verified and our spline does coincide with the desired Ni . The unicity follows by observing
we have constructed a one-to-one map from cubic B-splines and variable degree ones. 2

Using the constructive ideas of the above theorem it is simple to compute the explicit
form of B-spline basis functions. Some plots with various multiplicities and degrees are
shown in Figs. 5(a)–(c).
We conclude this part by observing that recurrence relations for variable degree B-
splines with multiple knots are not yet known. For simple knots see (Kvasov and
Sattayathan, 1997).

3.2. Geometric construction

Now, let us assume that we have a sequence of simple knots, that Pis µi = 1 all i (and
K = N ). A C 2 spline curve can be expressed, as usual, as S(·) = N+1 i=−1 di Ni (·) where
di ∈ R3 are the pseudo de Boor control points. Like in the classical cubic case, it is often
preferable to directly express the pseudo Bézier control points of the polynomial pieces
428 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(a)

(b)

Fig. 5. (a) Some B-spline plots for µ0 = µ1 = µ2 = µ3 = µ4 = 1. (b) Some B-spline plots for
µ0 = µ1 = µ3 = 1, µ2 = 2. (c) Some B-spline plots for µ0 = µ2 = 1, µ1 = 3.

directly from the de Boor control net. Let Si := s|[ui ,ui+1 ] ; since there exists bi ∈ VPrn,m
such that, for all u ∈ [ui , ui+1 ], Si (u) = bi (t), t = (u − ui )/ hi , from (3),
Si (u) = ci,1 t + ci,2 (1 − t) + ci,3 (1 − t)ni + ci,4 t mi ,
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 429

(c)

Fig. 5. (Continued.)

(j )
it follows that Si (ui ), j = 0, 1, 2, is not influenced by the last term of the summation and
(j )
behaves like a simple polynomial of uniform degree ni . Similarly, Si−1 (ui+1 ), j = 0, 1, 2,
behaves like a polynomial of degree mi−1 and the geometric connection conditions are
the classical polynomial ones (see, e.g. (Hoschek and Lasser, 1993), Chapter 5). We have
therefore the following result.

(i) (i)
Theorem 2. The pseudo-Bézier points b0 , . . . , b3 of the ith piece depend only on the
four de Boor pseudo control points di−1 , di , di+1 , di+2 . They are given by

b(i)
1 = (1 − ξi )di + ξi di+1 , b(i)
2 = ηi di + (1 − ηi )di+1 ,
b(i) (i−1)
0 = b3 = αi b(i−1)
2 + (1 − αi )b(i)
1 ,
where
ρi σi hi /ni
ξi := , ηi := , αi :=
ρi + τi + σi ρi + τi + σi hi−1 /mi−1 + hi /ni
and
hi−1 hi  hi−1 hi hi+1  hi+1  
mi−1 + ni mi−1 −1 mi +ni+1 ni+1 −1 hi hi
ρi := hi−1 hi
, σi := hi hi+1
, τi := hi − − .
mi−1 −1 + ni −1 mi −1 + ni+1 −1
ni mi

Note that the definitions above do not cover the extreme segments d−1 d0 and dN dN+1 ;
for space reasons we prefer not to go into further details on boundary conditions, referring,
for example, to (Farin, 1988) for effective formulas in the case both of open and of closed
430 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

curves. We want only to express the spline in terms of its control points introducing the
following operator, which will be useful in Section 4:
X
N+1
P : R3×(N+3) → VS, P(d) := S = di Ni , (6)
i=−1

where d = (d−1 , . . . , dN+1 ).


Obviously, the degrees play the role of design parameters and it is easy to switch from
the smooth graph of a cubic curve to cuspid or linear appearance. More specifically, when
mi−1 and ni increase the curve is pulled toward di ; when ni and mi increase the central
part of the curve tends to the central part of the segment di di+1 and, as a consequence,
when mi−1 , ni , mi , ni+1 increase the ith piece tends to the segment di di+1 . Some plots
are shown in Figs. 6, where circles and stars denote pseudo de Boor and Bézier points
respectively. Note that end conditions are assigned at the extremes of the curves.

3.3. C 2 interpolation

Let Ii , i = 0, 1, . . . , N , Ii ∈ R3 , be a sequence of points. We want to construct a


parametric curve of the form (3) interpolating at (the simple) knots the above data. Since
the space (5) is isomorphic to and has the same properties as P3 , the construction of the
interpolant can be obtained in the usual way, that is by taking the first derivatives at knots as
unknowns and then equalizing the second derivatives (see also (Kaklis and Sapidis, 1995)),
and we will sketch here the main steps. However, for the sake of simplicity we assume that

(a)

Fig. 6. (a) ni = mi = 3, i = 0, . . . , 13. (b) n8 = m8 = 15, ni = mi = 3 elsewhere. (c) n7 = m7 =


n8 = m8 = 15, ni = mi = 3 elsewhere. (d) n7 = m7 = n8 = m8 = n9 = m9 = 15, ni = mi = 3
elsewhere. (e) ni = mi = 15, i = 0, . . . , 13.
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 431

(b)

(c)

Fig. 6. (Continued.)

ki := mi−1 = ni ; in fact in our experience this choice provides the best performance in
terms of shape control versus an easy use of software for interpolation. An extensive study
of shape-preserving interpolation in R3 for the case mi−1 6= ni = mi 6= ni+1 can be found
in (Kaklis and Karavelas, 1997).
Let Ti , i = 0, 1, . . . , N , be a sequence of unknown tangent vectors at the knots and
(i) (i)
let b0 , . . . , b3 be the control points of Si , the ith piece of the spline. Straightforward
432 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(d)

(e)

Fig. 6. (Continued.)

computations show that Si such that


(1) (1)
Si (ui ) = Ii , Si (ui+1 ) = Ii+1 , Si (ui ) = Ti , Si (ui+1 ) = Ti+1
can be determined by the pseudo Bézier points
(ui , Ii ), (ui + hi /ki , Ii + hi Ti /ki ), (ui+1 − hi /ki+1 , Ii+1 − hi Ti+1 /ki+1 ),
(ui+1 , Ii+1 ),
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 433

and the continuity conditions S(2) (2)


i−1 (ui ) = Si (ui ) lead, for i = 1, . . . , N − 1 to
   
Bi Ai 1 Bi 1
Ti−1 + + + + Ti
hi−1 ki−1 hi ki hi ki hi−1 ki hi−1 ki
(7)
Ai Ii+1 − Ii Ii − Ii−1
+ Ti+1 = Ai + Bi ,
hi ki+1 h2i h2i−1

where
ki+1 ki−1
Ai = , Bi = .
ki ki+1 − ki − ki+1 ki−1 ki − ki−1 − ki
It is immediate to see that the equations above are strictly diagonally dominant, and, if
standard boundary conditions are added (e.g., natural, periodic or assigned end tangent)
we are guaranteed of the existence and uniqueness of such an interpolating spline.
Instead of analytically deriving the tension properties of the spline, we prefer here to
use a simpler geometric approach, using the results of Section 3.2 and viewing the de Boor
control points as variables.
Let di , i = −1, 0, . . ., N + 1, be a sequence of (unknown) de Boor control points, and
let ρi = hi−1 /ki , σi = hi+1 /ki+1 and ξi , ηi , αi be given as in Theorem 2. It is immediate
to see that

lim ρi = lim σi−1 = 0, (8)


ki →∞ ki →∞

and the interpolation conditions are satisfied if b(i)


0 = Ii , that is, in virtue of Theorem 2 if

ai di−1 + (1 − ai − bi )di + bi di+1 = Ii , i = 0, 1, . . . , N,

where ai := αi ηi−1 , bi := (1 − αi )ξi and we have

lim ai = lim bi = 0. (9)


ki →∞ ki →∞

Note that we need two more equations to meet the number (N + 3) of unknowns; again
these can be easily obtained from standard periodic or non-periodic boundary conditions
for cubic spline interpolation. We denote with Ī the extended right hand side vector,
omitting the standard analytic details. Let M ∈ R(N+3)×(N+3) be the matrix whose ith
row, i = 0, . . . , N , is given by

mi,i−1 = ai , mi,i = (1 − ai − bi ), mi,i+1 = bi , mi,j = 0 elsewhere

and whose first and last rows are given by proper end conditions.

Theorem 3. The interpolating variable degree spline curve is uniquely determined by


the control points di , i = −1, 0, . . ., N + 1, which are the solution of the linear system
Md = Ī. The matrix M is nonsingular for any sequence of distinct knots and for any
sequence of degrees ki , i = 0, 1, . . . , N , ki > 3.
434 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

Fig. 7. The proof of Theorem 3.

Proof. Let Ī = (I¯x , I¯y , I¯z ), d = (d x , d y , d z ) and S = (Sx , Sy , Sz ) and consider one of the
scalar system, Md α = I α , α = x, y, z. We note that I = 0 and homogeneous end conditions
give a zero right hand side vector for both the systems (7) and Md = Ī. Let us assume
d α ∈ ker(M), d α 6= 0. Take an index i such that diα > 0 (a symmetric proof can be given
for diα < 0) and consider the geometric construction of the Bézier pseudo control points
for the component of the curve. Then either Sα0 (ti ) 6= 0 or Sα0 (ti ) = 0. In this case, looking
at the Bézier pseudo control points of Sα in the intervals [ti−1 , ti ] and [ti , ti+1 ] (see Fig. 7)
we have from the interpolation at zero that bi−1,2 = bi,0 = bi,1 = 0 and, because of the C 2
condition and the fact that diα > 0, bi−1,1 , bi,2 < 0. Since bi−1,0 = bi,3 = 0 we have that
Sα0 (ti−1 ) < 0, Sα0 (ti+1 ) > 0. Therefore we have a spline which satisfies a homogeneous
system of the form (7) with Tjα = Sα0 (tj ) 6= 0 for some j . This obviously contradicts the
nonsingularity of the matrix of (7). 2

From (9) it follows immediately that for any sequence of knots there is a sequence of
degrees ki > 3 such that M is strictly diagonally dominant. Note also that this holds for
hi = h, all i, and for any sequence of degrees since in this case ai + bi 6 1/3.
Under the assumption of proper boundary conditions, we may write M = I − R, where
the non-zero entries of the ith row, i = 0, . . . , N , are given by ri−1,i = −ai , ri,i = ai + bi ,
ri,i+1 = −bi and it follows from (9) that kRk∞ < 1 for sufficiently large degrees. Since
kdk 6 1−kRk
1
kIk we have that, for any i, di is bounded for any sequence of degrees. This
fact together with (8) allows us to state the following property.

Theorem 4. Let ki → ∞. Then di → Ii .


P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 435

Theorem 4 says the polygonal line connecting the data points can be approximated by
the pseudo de Boor control net in a local way around Ii (increasing ki ), or in a semi-local
way around Ii (increasing ki−1 , ki , ki+1 ) or in a global way (increasing k0 , . . . , kN ). It
follows that, for sufficiently large degrees, the discrete curvature and torsion of the data
can be reproduced by the pseudo de Boor net and also by the pseudo Bézier net, since
the last is obtained from the first using a corner-cutting scheme. For a possible choice of
the increase pattern see the final practical comments at the end of Section 5. We refer to
(Asaturyan et al., 1998) or to (Kaklis and Karavelas, 1997) for the definitions of discrete
curvature and torsion and limit ourselves to say that the segment Ii Ii+1 is said convex if
the orthogonal projections of the data onto both the planes Πi —through Ii−1 , Ii , Ii+1 —and
Πi+1 —through Ii , Ii+1 , Ii+2 —are convex.
From (Goodman, 1996, Example 6), and from the properties of the pseudo Bézier net
given in Section 2, we have that the orthogonal projections of bi onto Πi and Πi+1 have the
same number of inflections of the projections of its pseudo Bézier net if these are strictly
increasing in some direction or strictly rotate in the same direction through an angle less
than π . Similarly, (see (Goodman, 1996), Example 7) the number of sign changes of the
torsion of bi is bounded by the number of sign changes of the pseudo Bézier net if there
exists a plane Π such that the projection (not necessarily orthogonal) of the pseudo Bézier
net onto Π is strictly convex.
Therefore, under these very reasonable hypotheses the Bézier polynomials maintain
the shape of their pseudo Bézier net and so we have, in the end, a shape-preserving,
parametric interpolating scheme. In this connection it is worthwhile to recall that C 2
implies curvature continuity; additionally it follows from (2) that, for ki , ki+1 > 3, any
parametric polynomial curve whose components are taken from the space (1) has zero
torsion for t = 0, 1. For ki > 3 the spline is therefore torsion continuous, even if in this
limited sense. Figs. 8 show some example of 3D curves interpolating the so-called “chair
data” I0 , . . . , I12 , with I0 = I12 = (0, 0, 6) (see (Kaklis and Karavelas, 1997)). Let K(u)
and τ (u) denote the Euclidean norm of curvature and the absolute value of torsion of the
interpolating spline; then, taking the Chebyshev and the L2 norm we have

kKk∞ = 317.17, kKk2 = 660.1, kτ k∞ = 3.2, kτ k2 = 10.18,


kKk∞ = 67.31, kKk2 = 31.97, kτ k∞ = 10.61, kτ k2 = 15.36,
kKk∞ = 30.44, kKk2 = 24.44, kτ k∞ = 22.86, kτ k2 = 18.42,

respectively for the curves of Figs. 8(a)–(c). For comparisons, the reader is referred to
(Kaklis and Karavelas, 1997) and (Asaturyan et al., 1998), where approximately the same
results have been obtained for the same data set. Note how the loop present in Fig. 8(a) has
been eliminated by a more suitable choice of degrees. In this example the sets of degrees
have been determined interactively, since the aim is to show that shape-preserving, fair
interpolating curves can be obtained with a proper selection of the degrees. For a possible
automatic choice see the final comments in section five. We conclude this section observing
that a different kind of variable degree polynomial splines, has recently been proposed and
will be described elsewhere. The polynomial space is isomorphic to and has the same
structure as P5 and provides a more powerful and flexible tool for 3D curve interpolation.
436 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(a)

(b)

Fig. 8. (a) Plot of the interpolating spline for k0 = · · · = k12 = 4. (b) Plot of the interpo-
lating spline for k = (4, 8, 4, 4, 8, 15, 4, 15, 8, 4, 4, 8, 4). (c) Plot of the interpolating spline for
k = (4, 15, 4, 4, 15, 15, 4, 15, 15, 4, 4, 15, 4).

3.4. Variable degree rational splines

As already done for polynomials of VPn,m we can form the rational counterpart of the
polynomial spline curves described in Sections 3.1 and 3.2 in the standard way. Recalling
the previous definitions and assuming again non-vanishing weights βi , i = −1, . . . , K + 1,
we define in the Euclidean space E 4 the control points
Di := [βi , βi di ]T , di ∈ R3 ,
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 437

(c)

Fig. 8. (Continued.)

and form the 4D polynomial spline


X
K+1
X (u) = Di Ni (u),
i=−1

and our rational curve is obtained as the projection of X onto the homogeneous space:
PK+1
βi di Ni (u)
S(u) = Pi=−1 K+1
. (10)
i=−1 βi Ni (u)
As usual, in the case of simple knots the geometric construction of Section 3.2 can be
restated in this case (see, e.g. (Farin, 1988), Chapter 15). Obviously when working with
splines of the form (10) we have the additional design parameters provided by weights.
Figs. 9 show some graphical examples, where the degrees and weights are set to 3 and
1 respectively where not explicitly indicated in the figure. The reader should refer to
Fig. 6(a) for a comparison with the corresponding “standard” plot given by cubics. Note
the great flexibility offered by C 2 rational variable degree splines; large degrees push the
curve towards one or more control points (which is impossible for classical NURBS) and
weights pull away the curve from control points (impossible for variable degree polynomial
splines).

4. Surface construction

The aim of this section is to describe tensor-product and Boolean sum schemes derived
by variable degree polynomials of the form (2). Let u−3 < · · · < uN+3 and v−3 < · · · <
vM+3 sequences of knots in the parameter uv-domain. The knots are assumed to be simple
438 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(a)

(b)

Fig. 9. (a) β2 = 10, m9 = n10 = 15. (b) β2 = β4 = 10, m8 = n9 = m10 = n11 = 15. (c) β2 = β4 =
β9 = β11 = 10, m5 = n6 = m6 = n7 = 15.

(only to avoid notational difficulties) with the exception of u−3 = · · · = u0 , uN = · · · =


(u)
uN+3 and v−3 = · · · = v0 , vM = · · · = vM+3 and we denote with hi , i = 0, 1, . . . , N − 1,
(v) (u) (u)
hj , j = 0, 1, . . . , M − 1, the corresponding spacings. Let ni , mi , i = 0, . . . , N − 1,
(v) (v)
nj , mj , j = 0, . . . , M − 1, be sequences of degrees related respectively to u and v
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 439

(c)

Fig. 9. (Continued.)

directions and let Ni(u) = Ni(u) (· ; n(u) (u) (u) (v)


i−2 , mi−2 , . . . , mi+1 ), i = −1, . . . , N + 1, Nj =
Nj(v) (· ; n(v) (v) (v)
j −2 , mj −2 , . . . , mj +1 ), j = −1, . . . , M + 1, be the 1D normalized B-spline basis,
as defined in Section 3.1. We may form in a straightforward way the tensor-product space
 (u) (v)
VSUV := span Ni Nj ; i = −1, . . . , N + 1; j = −1, . . . , M + 1
and the pseudo Bézier control points of the rectangular patches of any S whose components
are in VSUV ,
X M+1
N+1 X
S(u, v) = di,j Ni(u) Nj(v) ,
i=−1 j =−1

where di,j ∈ R3 are the pseudo de Boor control points, can be constructed applying the
geometric construction of Section 3.2 along the u and v directions as in the cubic case
(see, e.g. (Farin, 1988), Chapter 17). Using the operators P (u) and P (v) , which apply along
the u and v directions and are defined as the 1D operator of (6), we have
(v)  (v) (v) 
S(u, v) = P (u) S (u) = P (u) S−1 (v), . . . , SN+1 (v) (u),
(11)
S(v)
i = P (di ) = P (di,−1 , . . . , di,M+1 )
(v) (v)

or, equivalently
(u)  
S(u, v) = P (v) S (v) = P (v) S(u) (u)
−1 (u), . . . , SM+1 (u) (v),
(12)
(u)
Si = P (u) (dj ) = P (u)(d−1,j , . . . , dN+1,j ).
440 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(i,j )
Note that the Bézier control points bp,q of the surface patch, defined on [ui , ui+1 ] ×
[vj , vj +1 ], correspond to the nodal points (uip , vj q ), p, q = 0, 1, 2, 3, where
(u) (u)
hi hi
ui,0 = ui , ui,1 = ui + , ui,2 = ui+1 − , ui,3 = ui+1 ,
n(u)
i m(u)
i
h(v)
j h(v)
j
vj,0 = vj , vj,1 = vj + (v)
, vj,2 = vj +1 − (v)
, vj,3 = vj +1 .
nj mj
As in the 1D case the degrees can be used to model the shape of the surface. Some graphical
examples are reported in Figs. 10. The de Boor data set {di,j ; i, j = 0, . . . , 10} shown
in Fig. 10(a) has been used to produce a bicubic spline surface and the resulting plot is
(u) (u)
reported in Fig. 10(b). The plot of Fig. 10(c) shows the effect of setting m2 = n3 =
m(u) (u) (v) (v) (v) (v)
6 = n7 = 15 and m2 = n3 = m6 = n7 = 15, that is increasing the degrees along
the lines corresponding to the vertices of the four pyramids. Finally, Fig. 10(d) shows what
(u) (u) (v) (v)
happens when we set m6 = n7 = 15 and m6 = n7 = 15. Note that the top-right part
of the spline is now very close to the corresponding data; note also how the top-left and
bottom right parts are also closer to their own control point. So, if we had only desired to
push the surface towards the top-right data, we would have obtained unwanted sharp shape
elsewhere.
Obviously the rational version of tensor-product surfaces can be obtained; for the sake
of brevity we prefer here to avoid the standard mathematical details and limit ourselves to
say that their construction can exactly follows the scheme of (Hoschek and Lasser, 1993),
Section 6.5.
From the plots shown in Fig. 10(d) we immediately realize the main drawback of tensor-
(u)
product scheme: the change induced by an increase of a degree, ni say, has an effect
around the entire isoparametric line u = ui and we may therefore have unwanted losses in
the pleasantness of shape. A solution would be to obtain a strictly local control around any
point di,j or, equivalently, to control independently any segment connecting two control
points. This can be done using a Boolean sum or transfinite approach. Let us assign to
(u) (u)
any segment di,j di+1,j ; i = −1, . . . , N ; j = −1, . . . , M + 1 the two degrees ni,j , mi,j
and similarly for any segment di,j di,j +1 ; i = −1, . . . , N + 1; j = −1, . . . , M the two
degrees n(v) (v)
i,j , mi,j . This can be restated saying we associate four degrees to any control
points di,j , namely m(u) (u) (v) (v)
i−1,j , ni,j , mi,j −1 , ni,j when 0 6 i 6 N , 0 6 j 6 M, and three or
two to boundary control points. Using the same notation of formulas (11), (12) we first
define a set of independent grid-lines
(u) (u) (u)  (u)
S = S−1 , . . . , SM+1 , Sj := P (u) (dj ) = P (u) (d−1,j , . . . , dN+1,j ),
(v) (v) (v)  (v)
S = S−1 , . . . , SN+1 , Si := P (v)(di ) = P (v)(di,−1 , . . . , di,M+1 ).
(u) (v)
Note that S(u) (v)
j (ui ) = Si (vj ) and therefore (S ∪ S ) can be viewed as the grid
computed at knots lines of a twice differentiable function. Then we take an additional
(u) (v)
degree, k, and denote with Pk , Pk the operators similar to (6) which work with non-
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 441

(a)

(b)
(u) (u)
Fig. 10. (a) Plot of the de Boor control points. (b) Plot of the bicubic surface. (c) m2 = n3 =
(u) (u) (v) (v) (v) (v) (u) (u) (v) (v)
m6 = n7 = m2 = n3 = m6 = n7 = 15. (d) m6 = n7 = 15 and m6 = n7 = 15.

variable degree k (instead of P (u) , P (v) above, which work with variable degrees ni,j , mi,j )
and we finally construct
(v)  (u) 
S(u, v) := Pk(u)S (v) (u) + Pk(v)S (u) (v)
(v) 
(13)
(u) (v) (u)
− Pk Pk S ∪ S (u, v).
442 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(c)

(d)

Fig. 10. (Continued.)

In other words, we first construct a network of spline curves, along the u and v directions,
which are defined using independent sets of degrees and then we perform a transfinite
interpolation using the fixed degree Boolean scheme Pk(u) ⊕Pk(v) = Pk(u) +Pk(v) −Pk(u) Pk(v) .
We have that S ∈ C 2 ([u0 , uN ] × [v0 , vM ]). More complicate Boolean schemes defined
by variable degree interpolation operators could be used; however in our experience
the control provided by degrees along mesh lines is in general sufficient for practical
purposes and additional design parameters could cause difficulties to any user. We have
therefore decided to avoid cumbersome notations at the price of a loss in mathematical
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 443

Fig. 11. The Boolean sum surface for the control points of Fig. 10(a).

generality. Finally, from (13) we can recover the analogous of a B-spline representation for
S = (Sx , Sy , Sz ):
Sα |[ui ,ui+1 ]×[vj ,vj+1 ] ∈ span{Ni,j }, α = x, y, z,
where
(v) (v) 
Ni,j (·) := Ni (· ; k, . . . , k)Nj · ; ni,j −2 , . . . , mi,j +1
(u) 
+ Ni · ; n(u) i−2,j , . . . , mi+1,j Nj (· ; k, . . . , k) − Ni (· ; k, . . . , k)Nj (· ; k, . . . , k).
As usual the degrees are a useful tool to modify the shape of the curve; see the examples
of Figs. 11 and 12. The control points used for Fig. 11 are those of Fig. 10(a). Note how
the difficulties encountered with the tensor product scheme are now overcome by simply
(u) (u) (v)
increasing the degrees around the top of the last hill, that is setting m6,7 = n7,7 = m7,6 =
n(v)
7,7 = 15. In the last figures the control points of Fig. 12(a) have been used for the plots of
Figs. 12(b) and 12(c). The first one has been obtained by setting all the degrees equal to 3
and the surface looks like an Etruscan helmet; the second one setting n(u) (u)
i,j = mi,j = 15, all
i, j (the u direction is the circular one) and then setting, for all i, j , n(v) (v)
i,j = mi,j = 3, with
the exception of m(v) (v) (v) (v) (v) (v)
i,1 = ni,2 = mi,3 = ni,4 = mi,6 = ni,7 = 15 (the isoparametric lines
v = vj , j = 0, . . . , 9, are numbered from top to bottom). This last surface now looks like
the Brunelleschi’s cupola of Florence cathedral.

5. Conclusions and remarks

In this paper we have described some applications of VDPS. We hope to have shown
that they share all the classical properties which make cubics so useful in computer aided
444 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

(a) (b)

(c)

Fig. 12. (a) A set of control points. (b) The cubic Boolean sum surface. (c) The Boolean sum surface
with a local increase of some degrees.

geometric design, having in practice the same computational cost. We recall the only
drawbacks are the absence of B-spline recurrence formulas, of an explicit description
of a cubic like de Casteljau algorithm (its existence is known) and, due to the very
nature of variable degree polynomials, of subdivision schemes. Note, however, the last
two are obviously still obtainable in a polynomial space of larger degree. We also hope
the graphical examples have demonstrated the very efficient shape control obtainable with
proper selection of degrees. In fact, the number of degrees is the same as the number of
shape-parameters in G2 cubic spline curve—note, however, that the effect on the shape is
not the same—(see, e.g., p. 216 in (Hoschek and Lasser, 1993)), and the use of VDPS for
the design of curves and tensor-product or Boolean surfaces presents no more difficulties
than the cubic G2 counterparts. In our experience, a reasonable scheme for curve or surface
design can be the following:
(a) fix the pseudo de Boor control points;
(b) construct the cubic curve or surface;
P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446 445

(c) assume the same degree at each knot (mi−1 = ni for curves, m(u) (u)
i−1 = ni and
m(v)
j −1 = nj
(v)
for tensor product surfaces, m(u) (u) (v) (v)
i−1,j = ni,j and mi,j −1 = ni,j for
Boolean surfaces) and modify the degrees—and possibly the weights;
(d) if necessary, perform a finer tuning around the knots using nonequal degrees—and
possibly the weights (see Figs. 6(d), 10(d) and 11).
For curve interpolation (see Section 3.3) it is possible to obtain a shape-preserving curve
by an automatic selection of the degrees. A simple scheme for spatial curve interpolation
can be described as follows:
(a) set k0 = k1 = · · · = kN = 4 and construct the interpolating spline;
(b) check if discrete convexity of the de Boor pseudo net agrees with that of the data at
the knot ti and possibly increase the degrees ki−1 , ki , ki+1 ;
(c) check if discrete curvature of the de Boor pseudo net agrees with that of the data at
the interval [ti , ti+1 ] and possibly increase the degrees ki−1 , ki , ki+1 , ki+2 ;
(d) if some degrees have been changed go back to step (b);
since we have so far used sections of equal degrees we can optionally improve the fairness
of the curve:
(e) try to reduce the degrees which give large values of curvature and/or torsion (of
course maintaining the shape constraints).
An analysis of other automatic schemes is currently under study.
Since VDPS provide analytical continuity of order two we believe they could be
profitably used in CAD systems.
We conclude this final section by repeating that the basic idea of this paper is to use
a polynomial space equivalent (that is isomorphic to and with the same properties as)
P3 . In a similar way one can think of constructing spaces equivalent to P5 or more,
maintaining of course tension properties. A P5 like space, in particular, permits to construct
C 3 curves. Applications to spatial curve interpolation have recently been analyzed and the
corresponding results will be reported elsewhere.

References

Asaturyan, S., Costantini, P. and Manni, C. (1998), Shape-preserving interpolating curves in R3 :


A local approach, in: Nowacki, H. and Kaklis, P.D. (Eds.), Creating Fair and Shape-Preserving
Curves and Surfaces, B.G. Teubner, Stuttgart, 99–108.
Costantini, P. (1996), Shape-preserving interpolation with variable degree polynomial splines, in:
Hoschek, J. and Kaklis, P.D. (Eds.), Advanced Course on FAIRSHAPE, B.G. Teubner, Stuttgart,
87–114.
Costantini, P. (1997), Variable degree polynomial splines, in: Le Méhauté, A., Rabut, C. and
Schumaker, L.L. (Eds.), Curves and Surfaces with Applications in CAGD, Vanderbilt Univ. Press,
Nashville, 85–94.
Farin, G. (1988), Curves and Surfaces for Computer Aided Geometric Design, Academic Press,
London.
Goodman, T.N.T. (1996), Total positivity and the shape of curves, in: Gasca, M. and Micchelli, C.A.
(Eds.), Total Positivity and its Applications, Kluwer, Dordrecht, 157–186.
Goodman, T.N.T. and Mazure, M.L. (1999), Blossoming beyond extended Chebyshev spaces, RR
1018-M, IMAG, Université Joseph Fourier, Grenoble.
446 P. Costantini / Computer Aided Geometric Design 17 (2000) 419–446

Hoschek, J. and Lasser, D. (1993), Foundamentals of Computer Aided Geometric Design, A K


Peters, Wellesley, MA.
Kaklis, P.D. and Pandelis, D.G. (1990), Convexity preserving Polynomial splines of non-uniform
degree, IMA J. Numer. Anal. 10, 223–234.
Kaklis, P.D. and Sapidis, N.S. (1995), Convexity preserving interpolatory parametric splines of non-
uniform polynomial degree, Comput. Aided Geom. Design 12, 1–26.
Kaklis, P.D. and Karavelas, M.I. (1997), Shape-preserving interpolation in R3 , IMA J. Numer. Anal.
17, 373–419.
Kvasov, B.I. (1996), GB-splines and their properties, Ann. Numer. Math. 3, 139–149.
Kvasov, B.I. and Sattayathan, P. (1997), Generalized tension B-splines, in: Le Méhauté, A., Rabut, C.
and Schumaker, L.L. (Eds.), Curves and Surfaces with Applications in CAGD, Vanderbilt Univ.
Press, Nashville, 247–254.
Mazure, M.L. (1998), Chebyshev–Bernstein bases, RR 1003-M, IMAG, Université Joseph Fourier,
Grenoble.
Messac, A. and Sivanandam, A. (1997), A new family of convex splines for data interpolation,
Computer. Aided Geom. Design 15, 39–59.
Schmidt, J.W. (1996), Staircase algorithm and construction of convex spline interpolants up to the
continuity C 3 , Comput. Math. Appl. 31, 67–79.
Soanes, R.W. (1976), VP-splines, an extension of twice differentiable interpolation, in: Proceedings
of 1976 Army Numerical Analysis and Computer Conf., ARO Report 76-3, US Army Research
Office, Research Triangle Park, NC, 141–152.

You might also like