Quick viewing(Text Mode)

A Shape-Preserving Approximation by Weighted Cubic Splines

A Shape-Preserving Approximation by Weighted Cubic Splines

View metadata, citation and similar papers at core.ac.uk brought to you by CORE

provided by Elsevier - Publisher Connector

Journal of Computational and Applied Mathematics 236 (2012) 4383–4397

Contents lists available at SciVerse ScienceDirect Journal of Computational and Applied Mathematics journal homepage: www.elsevier.com/locate/cam

A shape-preserving approximation by weighted cubic splines

Tae-wan Kim a,∗, Boris Kvasov b

a Department of Naval Architecture and Ocean Engineering, Research Institute of Marine Systems Engineering, Seoul National University, Seoul 151-744, Republic of Korea b Department of Mathematical Modeling, Institute of Computational Technologies, Russian Academy of Sciences, Novosibirsk 630090, Russia

article info a b s t r a c t

Article history: This paper addresses new algorithms for constructing weighted cubic splines that are Received 25 August 2011 very effective in and approximation of sharply changing data. Such Received in revised form 3 April 2012 are a useful and efficient tool in computer-aided design when control of tension on intervals connecting interpolation points is needed. The error bounds for Keywords: interpolating weighted splines are obtained. A method for automatic selection of the Shape-preserving interpolation and weights is presented that permits preservation of the monotonicity and convexity of the approximation data. The weighted B-spline basis is also well suited for generation of freeform curves, in Differential multipoint boundary value problem the same way as the usual B-splines. By using recurrence relations we derive weighted Weighted cubic splines B-splines and give a three-point local approximation formula that is exact for first-degree Error bounds . The resulting curves satisfy the convex hull property, they are piecewise Adaptive choice of shape control cubics, and the curves can be locally controlled with interval tension in a computationally parameters efficient manner. Recurrence relations for weighted B-splines © 2012 Elsevier B.V. All rights reserved.

1. Introduction

C 2 cubic splines play a very important role in practical methods of spline approximation. However, such splines do not retain the shape properties of the data, a drawback known as the shape-preserving approximation problem. During the past few decades, different authors have developed various algorithms of spline approximation with both local and global shape control. They include exponential, hyperbolic, computationally more efficient rational splines [1–4], etc. The tension parameters are mainly viewed as an interactive design tool for manipulating the shape of a spline curve. A very detailed literature review of algorithms for passing a curve through data points so as to preserve the shape of the data is given in [5]. In this paper we consider the weighted cubic splines introduced in [6] (see also [7–12]). Such splines are C 1 piecewise cubic splines where weights are shape parameters. They are a natural generalization of cubic splines, describing from a physical point of view, an inhomogeneous elastic beam supported at some points. The idea is that the elastic property of the material is kept piecewise constant, and then it follows by variational arguments that C 2 continuity is lost, but is replaced by known jumps in second derivatives. The theory was steadily developed over years, and now weighted splines are known to possess a B-spline basis [10], optimal in a certain sense, and they are Chebyshev splines with sections in appropriate Extended Complete Chebyshev (ECC)-spaces [13,14]. To treat the weighted splines in a general setting we suggest using the approach of the second author (see [15–17]) in which such splines are defined as solutions of the differential multipoint boundary value problems. We give direct algorithms to construct the weighted cubic splines, prove error bounds, and show how to choose weight (tension) parameters automatically depending on the data monotonicity and convexity. Such algorithms for automatic selection of

∗ Corresponding author. Tel.: +82 10 2739 7364; fax: +82 2888 9298. E-mail addresses: [email protected] (T.-w. Kim), [email protected] (B. Kvasov). URL: http://caditlab.snu.ac.kr/ (T.-w. Kim).

0377-0427/$ – see front matter © 2012 Elsevier B.V. All rights reserved. doi:10.1016/j.cam.2012.04.001 4384 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 the weight parameters are based on the sufficient conditions of monotonicity and convexity for C 2 cubic splines [15]. Due to the simplicity and the reliability of the corresponding algorithms, their use in CAD systems can be considered. Normalized B-bases present optimal shape preserving properties for the representation of curves when control polygons are used [18,19]. Rational cubic B-spline bases with point and interval shape control parameters were suggested in [1,2]. The general approach in [20,15] is an alternative which permits to construct different kinds of tension B-splines, including rational, weighted, etc. This allowed us to give explicit formulas for normalized weighted B-splines in a simpler way than based on the Bernstein–Bézier representation in [10]. Each weighted B-spline is a non-negative cubic spline that is non-zero only on four intervals. The weighted B-splines form a partition of unity; that is, they sum to one. Curves generated by summing control points multiplied by the weighted B-splines have some desirable shape properties, including the local convex hull property. The different weights are built into the basis functions so that the resulting control point curve is a piecewise cubic with local control of interval tension. Recurrence formulas for weighted B-splines offer valuable insight into their geometric behavior. Knot insertion algorithms for weighted B-splines [21,22] produce numerically stable formulas for weighted B-splines. This paper is divided into eight sections. In Section2, we define weighted splines and give algorithms for their construction. Section3 provides error bounds for weighted splines. In Section4 a method for adaptive selection of weights is presented that allows the monotonicity and convexity of the data to be preserved automatically. In Section5 by using recurrence relations we construct weighted B-spline basis with tension properties and give a three-point formula for local approximation. Section6 uses a weighted B-spline basis to form a control point sum that will yield a curve with the convex hull property. We conclude with numerical examples of functional and curve interpolation and final comments in Sections7 and8.

2. Weighted splines

Suppose that we are given the data

(xi, fi), i = 0,..., N + 1, (1) where a = x0 < x1 < ··· < xN+1 = b. Define

f [xi, xi+1] = (fi+1 − fi)/hi, hi = xi+1 − xi, i = 0,..., N. Data (1) are called monotonically increasing if

f [xi, xi+1] ≥ 0, i = 0,..., N, and are called convex if

f [xi−1, xi, xi+1] ≥ 0, i = 1,..., N.

The shape-preserving interpolation problem consists of constructing a sufficiently smooth function S such that S(xi) = fi for i = 0,..., N + 1 and S is monotonic and convex on the intervals of monotonicity and convexity of the input data. The shape-preserving interpolation problem can be very efficiently solved by using weighted splines. Suppose that w is a function on [a, b] satisfying 0 < m ≤ w(x) ≤ M for all x ∈ [a, b]. We will call w the weight function.

Definition 1. The weighted spline S is defined as the solution to the differential multipoint boundary value problem (DMBVP)

2 2 d  d S  k w(x) = 0 for all x ∈ (xi, xi+1), i = 0,..., N, S ∈ C [a, b], k ≥ 1. (2) dx2 dx2

If w(x) ≡ 1 and k = 2, then we obtain a conventional C 2 cubic spline. ′′ In the case when w is piecewise constant on the subdivision (w(x) ≡ wi for x ∈ [xi, xi+1), i = 0,..., N) S is a piecewise linear function and thus S is a piecewise , but since w is discontinuous, the solution is only C 1 (see [6,8,9,7,10, 11]). The second derivative satisfies the conditions ′′ − = ′′ + = wi−1S (xi ) wiS (xi ), i 1,..., N. (3) If we choose w(x) = 1/q(x), where q is a continuous piecewise linear function on a given subdivision, then solution S will be a piecewise function of degree 4 belonging to C 2. This solution is called a q-spline and is investigated in [23]. For a more general form of the weight function w the DMVBP can be solved by using a finite-difference method (see [24, 16,17]). An alternative and perhaps modern view is to refer to weighted cubic splines as to splines with cubic sections [25,26]. In this paper we shall study in detail the case k = 1 with w being a piecewise constant where the solution is a cubic spline belonging to C 1. We assume that cubic spline S satisfies the interpolation conditions

S(xi) = fi, i = 0,..., N + 1. (4) T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4385

To define a spline uniquely we also need boundary conditions. The most common are the following endpoint constraints: ′ = ′ ′ = ′ 1. First derivative endpoint conditions: S (a) f0 and S (b) fN+1. ′′ = ′′ ′′ = ′′ 2. Second derivative endpoint conditions: S (a) f0 and S (b) fN+1. (r) = (r) = ′′ + = ′′ − 3. Periodic endpoint conditions: S (a) S (b), r 0, 1, w0S (x0 ) wN S (xN+1). 4. ‘‘Not-a-knot’’ endpoint conditions where adjacent polynomials nearest to the endpoints of the interval [a, b] coincide: ≡ ≡ ′′′ − = ′′′ + = = S0(x) S1(x) and SN−1(x) SN (x), that is, S (xi ) S (xi ), wi−1 wi, i 1, N. If the derivative values at the endpoints are unknown one can employ cubic Lagrange polynomials by setting (r) = (r) (r) = (r) = f0 L3,0(a) and fN+1 L3,N−2(b), r 1, 2. The derivative values at the endpoint conditions must be adjusted to the behavior of the data. Otherwise, we can obtain an incompatibility with the shape-preserving restrictions [15]. For example, in the case of the second derivative boundary conditions we can use the restrictions ′′ [ ] ≥ ′′ [ ] ≥ f0 f x0, x1, x2 0, fN+1f xN−1, xN , xN+1 0. 2 If we set wi = 1 for all i in (3), then the solution to problem (2)–(4) is a cubic spline of the class C , which gives a smooth curve but does not always preserve the monotonicity and convexity of the input data. When by using the weighted spline, ′′ if wi is large on one interval relative to the other intervals, then S is forced to be small in magnitude on that interval, hence S will be more linear on that interval. Similarly, smaller relative weights allow S′′ to take on larger values. The term relative is used because if all weights are multiplied by a positive constant, then the resulting weighted spline would be the same. Let us consider an algorithm for the construction of the weighted cubic spline S. We will use the notation = ′′ − = ′′ + = Mi wi−1S (xi ) wiS (xi ), i 1,..., N, = ′′ + = ′′ − M0 w0S (x0 ), MN+1 wN S (xN+1).

For x ∈ [xi, xi+1] one has

2 hi   S(x) = fi(1 − t) + fi+1t − t(1 − t) (2 − t)Mi + (1 + t)Mi+1 , (5) 6wi where t = (x − xi)/hi, hi = xi+1 − xi. To find the unknown coefficients Mi, i = 0,..., N + 1, one must use the derivative of (5), which is

′ hi  2 2  S (x) = f [xi, xi+1] − (2 − 6t + 3t )Mi + (1 − 3t )Mi+1 . 6wi ′ − = ′ + = As S (xi ) S (xi ), i 1,..., N, we find   hi−1 hi−1 hi hi Mi−1 + 2 + Mi + Mi+1 = 6δif , i = 1,..., N, (6) wi−1 wi−1 wi wi where δif = f [xi, xi+1] − f [xi−1, xi]. For simplicity, assume that system (6) is completed by second derivative boundary conditions (clearly other end conditions are also appropriate). Then (6) defines a diagonally dominant, tridiagonal linear system. Hence there exists a unique solution which can be easily calculated by use of the tridiagonal LU decomposition algorithm. In some cases, it is more convenient to use a different algorithm for constructing weighted cubic interpolating splines. Such an algorithm is based on the representation of the spline through endpoint values of its first derivative. ′ Let us denote mi = S (xi), i = 0,..., N + 1. On interval [xi, xi+1], one can write the following formula for the cubic interpolating spline:

2 2 2 2 S(x) ≡ Si(x) = fi(1 − t) (1 + 2t) + fi+1t (3 − 2t) + mihit(1 − t) − mi+1hit (1 − t), x ∈ [xi, xi+1]. (7) By differentiating formula (7) twice one finds 2   ′′ = − [ ] − − − − Si (x) 3(1 2t)f xi, xi+1 (2 3t)mi (1 3t)mi+1 . hi Now condition (3) gives us

λimi−1 + 2mi + µimi+1 = 3λif [xi−1, xi] + 3µif [xi, xi+1], i = 1,..., N, (8) where

wi−1hi λi = , µi = 1 − λi. (9) wi−1hi + wihi−1 To complete the system (8) we can use endpoint conditions. The corresponding systems of linear equations again have unique solutions providing the existence and uniqueness of a cubic weighted spline. 4386 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397

3. Error estimates

Let us consider the case when the initial data (1) are obtained from some smooth function f , that is, fi = f (xi), i = 0,..., N + 1. We would like to estimate the approximation error of this function by a cubic weighted spline. We will use weights to obtain shape preserving interpolants. In general this gives us second order of approximation. One can raise the convergence order by a special choice of weights. If they are all equal, one obtains cubic C 2 splines with fourth order of approximation. We point also at weights which give rise to the third order. Because of this reason we compute the error of approximation once the data is second derivative continuous and again when it is C 4 respectively.

∈ 1[ ] ′ = ′ ′ = Theorem 1. Let a cubic weighted spline S C a, b , with the first derivative boundary conditions S (x0) f0 and S (xN+1) ′ = = + ∈ 2[ ] fN+1, interpolate the values fi f (xi), i 0,..., N 1, of some function f C a, b . Then the following error estimates hold:

(r) (r) 2−r ′′ ∥S (x) − f (x)∥C ≤ Cr h ∥f ∥C , r = 0, 1, (10) where C0 = 13/48, C1 = 0.86229, and h = maxi hi.

Proof. Let SH be a cubic Hermite spline that satisfies the interpolation conditions = ′ = ′ = ′ = + SH (xi) fi, SH (xi) fi f (xi), i 0,..., N 1. We have (r) − (r) =  (r) − (r)  +  (r) − (r)  = S (x) f (x) S (x) SH (x) SH (x) f (x) , r 0, 1. (11)

Spline SH on the interval [xi, xi+1] can be written in the form = − 2 + + 2 − + − 2 ′ − 2 − ′ SH (x) (1 t) (1 2t)fi t (3 2t)fi+1 t(1 t) hifi t (1 t)hifi+1, where t = (x − xi)/hi. (r) (r) = ∈ [ ] By using a Taylor series to expand the values fi , fi+1, r 0, 1, at the point x xi, xi+1 , with the remainder in integral form, one obtains

RH (x) = SH (x) − f (x)  t  1 = 2 ′′ + + 2 ′′ + hi ψ1(t, τ)f (xi τ hi)dτ hi ψ2(t, τ)f (xi τ hi)dτ, 0 t where

2 ψ1(t, τ) = (1 − t) [(1 + 2t)τ − t], 2 ψ2(t, τ) = t [(3 − 2t)(1 − τ) − (1 − t)]. Applying the Hölder inequality, we find    t  1 h2 | | ≤ | | + | | 2∥ ′′∥ ≤ i ∥ ′′∥ RH (x) ψ1(t, τ) dτ ψ2(t, τ) dτ hi f C f C . 0 t 16

Analogously, we get the estimate | ′ | ≤ ∥ ′′∥ RH (x) 0.24750hi f C . Taking into account formula (7), we find for the first term on the right side of the equality (11)

|S(x) − SH (x)| ≤ hit(1 − t)q ≤ hiq/4, | ′ − ′ | ≤  − | − | + | − | S (x) SH (x) (1 t) 1 3t t 2 3t q, where q = maxi |qi|, qi = mi − fi. Let us estimate qi, i = 0,..., N + 1. To this end, we rewrite system (8) with the first derivative boundary conditions in the form

q0 = 0,

λiqi−1 + 2qi + µiqi+1 = ci, i = 1,..., N, (12)

qN+1 = 0, = [ ] + [ ] − ′ − ′ − ′ where ci 3λif xi−1, xi 3µif xi, xi+1 λifi−1 2fi µifi+1. By using the Taylor formula with the remainder in integral form one finds  1  1 ′′ ′′ ci = λihi−1 (1 − 3τ)f (xi−1 + τ hi−1)dτ + µihi (2 − 3τ)f (xi + τ hi)dτ. 0 0 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4387

From here one obtains

  1  1  ′′ |ci| ≤ λihi−1 |1 − 3τ|dτ + µihi |2 − 3τ|dτ ∥f ∥C 0 0

5 ′′ 5 ′′ = (λihi−1 + µihi)∥f ∥C ≤ h∥f ∥C . 6 6 Let A q = c be a matrix form of system (12). Matrix A has a diagonal dominance and one can easily show (see, e.g., [27]) −1 that ∥A ∥∞ ≤ 1. This gives us the estimate

−1 5 ′′ q = max |qi| = ∥q∥ ≤ ∥A ∥∞ ∥c∥ ≤ max |ci| ≤ h∥f ∥C . i i 6 Now combining the obtained inequalities and applying them to the right side of equality (11), we come to the error bounds (10). This proves the theorem.  It is worth noting that the estimates (10) are also valid in cases of second derivative, periodic, and ‘‘natural’’ boundary conditions when S′′(a) = S′′(b) = 0. In the case of ‘‘not-a-knot’’ boundary conditions the error bounds (10) are valid with larger values of the constants (see [27]). Let us consider now the case in which the interpolated function f is smoother.

∈ 1[ ] ′ = ′ ′ = Theorem 2. Let a cubic weighted spline S C a, b , with the first derivative boundary conditions S (x0) f0 and S (xN+1) ′ = = + ∈ 4[ ] fN+1, interpolate the values fi f (xi), i 0,..., N 1, of some function f C a, b . Then the following error estimates hold:

− − (r) (r) 2 r ′′ ˜ 4 r IV ∥S (x) − f (x)∥C ≤ Cr h ∥f ∥C + Cr h ∥f ∥C , r = 0, 1, (13) ˜ ˜ where C0 = 1/8, C1 = 1/2, C0 = 5/384, and C1 = 1/24. Proof. For the second term on the right side of equality (11), by a Taylor series expansion we have

RH (x) = SH (x) − f (x) 4  t  1  hi IV IV = ψ1(t, τ)f (xi + τ hi)dτ + ψ2(t, τ)f (xi + τ hi)dτ , 6 0 t where

2 2 ψ1(t, τ) = (1 − t) τ [−3t + (1 + 2t)τ], 2 2 ψ2(t, τ) = t (1 − τ) [−3(1 − t) + (3 − 2t)(1 − τ)]. This gives us 2 − 2 4 t (1 t) 4 IV hi IV |RH (x)| ≤ h ∥f ∥C ≤ ∥f ∥C , t ∈ [0, 1]. 4! i 384 Analogously, we obtain

′ 1 3 IV |R (x)| ≤ h t(1 − t)(1 − 2t)∥f ∥C , t ∈ [0, 1/3], H 12 i   3 − 4 ′ hi (1 3t) IV |R (x)| ≤ (1 − t) t(1 − 2t) + ∥f ∥C , t ∈ [1/3, 1/2]. H 12 8t3

Let us consider again the system (12). By a Taylor series expansion we have

h h w − w = i−1 i ′′ i i−1 + ci fi Ri, (14) 2 wihi−1 + wi−1hi where 1  1 1  1 = 3 2 − IV + − 3 − 2 IV + Ri λihi−1 τ (1 τ)f (xi−1 τ hi−1)dτ µihi τ(1 τ) f (xi τ hi)dτ. 2 0 2 0 By using the Hölder inequality, we get

3 1 3 3 IV h IV |Ri| ≤ (λih − + µih )∥f ∥C ≤ ∥f ∥C 24 i 1 i 24 4388 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 and 3 1 ′′ h ′′ h IV |ci| ≤ (λihi−1 + µihi)∥f ∥C + |Ri| ≤ ∥f ∥C + ∥f ∥C . 2 2 24 Thus, as before, one arrives at the estimate

3 h ′′ h IV q ≤ max |ci| ≤ ∥f ∥C + ∥f ∥C . i 2 24 Now collecting the obtained estimates, we come to the error bounds (13). This proves the theorem.  The remark after Theorem 1 related to different types of the boundary conditions is also valid for Theorem 2. The orders of approximation in the error bounds (13) can be increased by using special choice of the weights wi. If they are all equal, then in (14) one has ci = Ri and the estimates (13) are valid with C0 = C1 = 0. Thus the convergence orders − 4 r = = + 2 −1 = [ ] = + rise to O(h ), r 0, 1. Let wi (1 ∆i ) , ∆i f xi, xi+1 . Then, in (14) we have ci pi Ri, where 2 2 hi−1hi ′′ wi − wi−1 hi−1hi ′′ ∆ − − ∆ p = f = f i 1 i . i i + i + 2 + + 2 2 wihi−1 wi−1hi 2 hi−1(1 ∆i−1) hi(1 ∆i ) ′′ ′ Because ∆i−1 − ∆i = −(hi−1 + hi)f (ξ) and ∆i−1 + ∆i = 2f (η) with ξ, η ∈ (xi−1, xi+1) and

hi−1hi(hi−1 + hi) 2 ≤ h + 2 + + 2 hi−1(1 ∆i−1) hi(1 ∆i ) one obtains | | ≤ | ′′| | ′′ | | ′ | 2 ≤ ∥ ′′∥2 ∥ ′∥ 2 pi fi f (ξ) f (η) h f C f C h . 3−r Thus, the orders of approximation in the estimates (13) are O(h ), r = 0, 1.

4. Adaptive choice of shape-control parameters

In this section, we shall describe the interpolation for points ∆ : a = x0 < x1 ··· < xN+1 = b,

S(xi) = fi = f (xi), by weighted splines S that preserve the shape of the data (xi, fi), i = 0,..., N +1. For example, if the function f is monotonic or convex on some interval [xj, xk], we would like to have a spline S that also has these properties. To achieve this, we take spline S with knots at the points xi, and we select the weights (shape control parameters) to ensure the desired properties of S. The main point, however, is to determine whether the error of approximation ∥S − f ∥ remains small under the proposed algorithms that describe S. For definiteness we will assume that the data f [xi, xi+1] ≥ 0, i = 0,..., N, are monotonically increasing. Eqs. (8) for the slopes of a weighted cubic spline do not differ by form from the corresponding equations for a C 2 conventional cubic spline. This permits us to rewrite the sufficient conditions of monotonicity for a C 2 cubic spline (see [15, p. 112]) for the case of a weighted cubic spline. In particular, the following result holds.

∈ 1[ ] ′ = ′ ′ = Theorem 3. Let a cubic weighted spline S C a, b , with the first derivative boundary conditions S (x0) f0 and S (xN+1) ′ { } = + fN+1, interpolate the monotonic data fi , i 0,..., N 1. If the following inequalities are valid: ≤ ′ ≤ [ ] ≤ ′ ≤ [ ] 0 f0 3f x0, x1 , 0 fN+1 3f xN , xN+1 ,

λif [xi−1, xi] ≤ (1 + λi)f [xi, xi+1],

µif [xi, xi+1] ≤ (1 + µi)f [xi−1, xi], i = 1,..., N, (15) then S′(x) ≥ 0 for all x ∈ [a, b], that is, S is monotonic on [a, b]. Taking into account formulas (9) we can rewrite inequalities (15) in the form

wi−1 hi f [xi, xi+1] wi hi−1 f [xi−1, xi] ≥ − 2, ≥ − 2, i = 1,..., N. (16) wi hi−1 f [xi−1, xi] wi−1 hi f [xi, xi+1]

It follows from here that by choosing a large value of the ratio wi−1/wi one can essentially reduce the restrictions on the 2 data sufficient to obtain monotonicity of the weighted cubic spline. For usual C cubic splines, we have wi−1/wi = 1. First, we note that for each i one of the inequalities (16) is fulfilled. Let, for example, the inequality f [xi, xi+1] > f [xi−1, xi] hold. Then the second inequality in (16) is valid. The first inequality can be satisfied by choosing wi directly from this inequality. We suggest the following recurrence algorithm. T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4389

Let the parameter wi−1 be known. If inequalities (16) are valid for wi = wi−1 then we set wi = wi−1. Otherwise, we calculate wi from inequalities (16), which are violated in case wi = wi−1, by replacing the inequality sign by the equality sign. We begin this algorithm with w0 = 1 and easily find all parameters {wi} providing the monotonicity of the weighted −1 −1 cubic spline for any monotonic data. If on some step wi < ε (wi > ε ) then we assign wi = ε (wi = ε ), where ε is a small enough positive number to avoid underflow (overflow). This algorithm has a couple of important features. On segments where the data are changing slowly the weighted spline will have two continuous derivatives, inheriting all good properties of the C 2 cubic spline. The second derivative will be discontinuous only at knots of the mesh ∆ where sharp changes in the slopes are needed. Let us note that in case of the ‘‘natural’’ boundary conditions, when S′′(a) = S′′(b) = 0, one can use conditions (16) as sufficient conditions of monotonicity (see [15, p. 112]). Let us consider the following choice of the weight parameters:

−  2 αi wi = 1 + Ci(f [xi, xi+1]) , Ci ≥ 1, αi ≥ 0, i = 0,..., N. (17)

2 If αi = 0 for all i then this gives us wi = 1 for all i and we obtain a C cubic spline. We will assume that the mesh is uniform and f [xi, xi+1] > 1. The latter condition can be achieved by scaling in x or y. If f [xi, xi+1] > f [xi−1, xi] then the second inequality in (16) is fulfilled. The first inequality takes the form

2 αi (1 + Ci(f [xi, xi+1]) ) f [xi, xi+1] ≥ − 2. (18) 2 α − (1 + Ci−1(f [xi−1, xi]) ) i 1 f [xi−1, xi]

In the particular case when Ci−1 = Ci = 1 and αi−1 = αi = 1 inequality (18) is equivalent to the condition = + 2 − + 2 + + 2 ≥ g(∆i−1, ∆i) (1 ∆i )∆i−1 (1 ∆i−1)∆i 2∆i−1(1 ∆i−1) 0.

′ ∗ −1 ∗ Function g takes a minimal value with ∆ when g = 0. This gives us ∆ = (∆ − + ∆ )/2 and g(∆ − , ∆ ) = i ∆i i i 1 i−1 i 1 i − −1 + 3 (6∆i−1 ∆i−1 7∆i−1)/4 > 0. Thus, inequality (18) is valid and the cubic weighted spline will preserve the monotonicity of the data. Obviously, this can be done by using the more general formula (17). Let us consider now an algorithm for selecting the weight parameters to preserve convexity of the data. We will assume that the data are convex, that is, f [xi−1, xi, xi+1] ≥ 0, i = 1,..., N. Eqs. (6) together with the second derivative boundary conditions can be rewritten in the form = ′′ M0 w0f0 ,

µiMi−1 + 2Mi + λiMi+1 = di, i = 1,..., N, (19) = ′′ MN+1 wN fN+1, where µi and λi are given in (9) and

6wi−1wi di = δif . (20) wihi−1 + wi−1hi Eqs. (19) differ from the corresponding equations for a conventional C 2 cubic spline by their right sides only. This allows us to write the sufficient conditions of convexity for a weighted cubic spline (see [15, p. 10]).

∈ 1[ ] ′′ = ′′ Theorem 4. Let a cubic weighted spline S C a, b , with the second derivative boundary conditions S (x0) f0 and ′′ = ′′ { } = + S (xN+1) fN+1, interpolate the convex data fi , i 0,..., N 1. If the following inequalities are valid: ′′ ≥ ′′ ≥ − − ≥ = f0 0, fN+1 0, 2di µidi−1 λidi+1 0, i 1,..., N, (21) = ′′ = ′′ ′′ ≥ ∈ [ ] [ ] where d0 2w0f0 and dN+1 2wN fN+1, then S (x) 0 for all x a, b , that is, S is convex on a, b .

Let us suppose that δif > 0, i = 1,..., N. One can strengthen inequalities (21) by splitting them into two parts. We have

2di − µidi−1 − λidi+1 = µi(2di − di−1) + λi(2di − di+1), i = 1,..., N. Hence, it follows that the inequalities in (21) are valid provided that the following conditions hold: ≤ ′′ ≤ ≤ ′′ ≤ 0 w0f0 d1, 0 wN fN+1 dN ,

di−1/2 ≤ di ≤ 2di−1, i = 2,..., N. (22) Taking into account formula (20) one can readily show that inequalities (22) will be satisfied if the following restrictions on the boundary conditions, ′′ ′′ 0 < f0 < 6δ1f /h0, 0 < fN+1 < 6δN f /hN , 4390 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 and on the weight parameters,

w0 h1 6δ1f ≤ ′′ − 1, w1 h0 h0f0

1 δif wi−1 hi δif − 1 ≤ ≤ 2 − 1, i = 2,..., N, (23) 2 δi−1f wi hi−1 δi−1f

wN hN−1 6δN f ≤ ′′ − 1, wN−1 hN hN fN+1 are fulfilled. By using these inequalities, we can suggest an algorithm for automatic selection of the shape control parameters wi to preserve convexity of the data that is just a repetition of the one described above for the case of monotonicity (except that in case of negative values of the weight parameters wi we replace them by ε > 0). However, one can easily see that if δi−1f δif < 0 then inequalities (23) cannot be satisfied for any weights wi > 0. This means that one should consider separately segments of the data convexity and concavity.

5. Construction of basis splines

W Let us construct a basis for the space of weighted cubic splines S4 by using functions that have local supports of minimum length. Since W = + − = + dim(S4 ) 4(N 1) 3N N 4 we extend the grid ∆ by adding the points xj, j = −3, −2, −1, N + 2, N + 3, N + 4, such that x−3 < x−2 < x−1 < a and b < xN+2 < xN+3 < xN+4. We demand that the weighted cubic B-splines Bi, i = −1,..., N + 2, have the following properties:

Bi(x) > 0, x ∈ (xi−2, xi+2),

Bi(x) ≡ 0, x ̸∈ (xi−2, xi+2),

+ N 2 Bj(x) ≡ 1, x ∈ [a, b]. (24) j=−1

The formula for a weighted cubic spline (5) in the interval [xi, xi+1] can be rewritten in the form

S(x) = [S(xi) − Φi(xi)Mi](1 − t) + [S(xi+1) − Ψi(xi+1)Mi+1]t + Φi(x)Mi + Ψi(x)Mi+1, (25) where 3 3 (xi+1 − x) (x − xi) Φi(x) = , Ψi(x) = . 6hiwi 6hiwi The representation (25) allows us to consider weighted cubic splines as generalized tension splines [20,15]. With the notation z r ≡ (r) = (r) − (r) = ; = − j zj zj (xj) Ψj−1(xj) Φj (xj), r 0, 1 yj xj ′ , zj by using the approach of [15], we obtain the formula

Ψ − (x)M − , x ∈ [x − , x − ),  i 2 i 1,Bi i 2 i 1  x − yi−1  + Φ − (x)M − + Ψ − (x)M , x ∈ [x − , x ),  − i 1 i 1,Bi i 1 i,Bi i 1 i  yi yi−1 = y + − x Bi(x) i 1 + + ∈ [ (26) Φi(x)Mi,Bi Ψi(x)Mi+1,Bi , x xi, xi+1),  yi+1 − yi  Φ + (x)M + , x ∈ [x + , x + ),  i 1 i 1,Bi i 1 i 2 0, otherwise, where y − y = i+1 i−1 = − + Mj,Bi ′ ′ , j i 1, i, i 1, zj ωi−1(yj)

ωi−1(x) = (x − yi−1)(x − yi)(x − yi+1). T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4391

Fig. 1. Normalized weighted linear basis spline B1 with weights (a) w0 = w1 = 1 and (b) w0 = 1 and w1 = 2.

One can obtain the formula (26) by using recurrence relations for weighted B-splines. Let us define functions  ′′ Ψ (x), x ≤ x < x + ,  j j j 1 ′′ ≤ Bj,1(x) = Φj+1(x), xj+1 x < xj+2, 0, otherwise, = − − ′′ ′′ − = + = j i 2, i 1, i. Here Ψj and Φj+1 are linear functions in (xj, xj+2) and Bj,1(xj+1) 1/wj, Bj,1(xj+1) 1/wj+1, and Bj,1(xl) = 0 for l ̸= j + 1. Discontinuous splines Bj,1 are the generalization of ‘‘hut functions’’ for polynomial B-splines. They are positive on their supports and have the following property: N    wj Bj−1,1(x) + Bj,1(x) ≡ 1 for all x ∈ [a, b]. j=0

By using Bj,1, let us define recursively the splines  x  x Bj,k−1(τ) Bj+1,k−1(τ) Bj,k(x) = dτ − dτ, (27) xj cj,k−1 xj+1 cj+1,k−1

 xj+k cj,k−1 = Bj,k−1(τ)dτ, j = i − 2, i − k + 1, k = 2, 3. (28) xj Simple calculations provide = ′ = − − ; = − = − − cj,1 zj+1, j i 2, i 1, i cj,2 yj+2 yj+1, j i 2, i 1, clearing the geometric value of these quantities. By differentiating (27) we have also ′ = − = Bj,k(x) Bj,k−1(x)/cj,k−1 Bj+1,k−1(x)/cj+1,k−1, k 2, 3. (29) The splines Bj,k, k = 2, 3, can be written in explicit form. By virtue of (27) and (28) for j = i − 2, i − 1 we obtain  ′ ≤ Ψj (x)/cj,1, xj x < xj+1,  + ′ − ′ ≤ 1 Φj+1(x)/cj,1 Ψj+1(x)/cj+1,1, xj+1 x < xj+2, B (x) = ′ j,2 −Φ (x)/c , x ≤ x < x ,  j+2 j+1,1 j+2 j+3 0, otherwise.

The expressions for Bj,3 differ from Bj in (26) only in the index numeration with respect to the center of the support interval (Bj(x) ≡ Bj−2,3(x)). Figs. 1–3 show the graphs of weighted B-splines Bj,k, k = 1, 2, 3 on a uniform mesh with a step h = 1 and with different k−1 weights. In Figs. 1(a),2(a), and3(a), the weights are all equal one, and thus, Bj,k are simply C B-splines. In Fig. 1(b), the weights are w0 = 1 and w1 = 2. In Fig. 2(b) the weights are w0 = 0.1, w1 = 1, and w2 = 10. In Fig. 3(b), the weights are w0 = 0.1, w1 = w2 = 1, and w3 = 10. The Bézier points are denoted by dots. The functions Bj,k, k = 1, 2, 3, have most of the usual polynomial B-spline characteristics. By using the approach of [20], it is easy to show that functions Bj, j = −1,..., N + 2, have supports of minimal length, are linearly independent, and form W ∈ W a basis in the space S4 . So any weighted cubic spline S S4 can be uniquely represented in the form + N 2 S(x) = bjBj(x) for x ∈ [a, b], (30) j=−1 with some constant coefficients bj. 4392 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397

Fig. 2. Normalized weighted quadratic basis spline B2 with weights (a) wi = 1 for all i and (b) w0 = 0.1, w1 = 1, and w2 = 10.

Fig. 3. Normalized weighted cubic basis spline B3 with weights (a) wi = 1 for all i and (b) w0 = 0.1, w1 = w2 = 1, w3 = 10.

If coefficients bj in (30) are known then by virtue of formula (26) we can write the expression for the weighted cubic spline S on the interval [xi, xi+1], which is convenient for calculations: ˜ S(x) = bi + ∆ib(x − yi) + ciΦi(x) + ci+1Ψi(x), (31) where ˜ − ˜ − ∆jb ∆j−1b ˜ bj+1 bj cj = , j = i, i + 1, ∆jb = . cj−1,1 cj−1,2 Representations (30) and (31) allow us to find a simple and effective way to approximate a given function f from its samples. By setting   1 fj+1 − fj fj − fj−1 bj = fj − Ψj−1(xj) − Φj(xj) cj−1,1 hj hj−1 in (30), we obtain a formula for a three-point local approximation, which is exact for polynomials of the first degree. The proof of this result does not differ from the one given in [15]. It is worth noting that the knot insertion formula in [26] expresses weighted B-splines as a linear combination of polynomial cubic B-splines with positive, explicit coefficients. It is therefore very accurate and computationally inexpensive.

6. Control point approximations

Given control points Pi = (xi, yi), i = 0,..., N + 1, define the parametric curve S(t) = (Sx(t), Sy(t)) for t ∈ [t1, tN ] by

+ N 1 S(t) = PiBi(t). (32) i=0 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4393

Fig. 4. Weighted spline basis approximations in (32) to the control points denoted by dots by using weights (a) wi = 1 for all i (same as by using B-splines) and (b) w8 = 8, w10 = w13 = 40, w15 = 8, and wi = 1 otherwise; (c) same as (b) except that the control point A is counted twice.

Since Bi(t) ≡ 0 outside the support interval [ti−2, ti+2], then for t ∈ [ti, ti+1] one has

S(t) = Pi−1Bi−1(t) + PiBi(t) + Pi+1Bi+1(t) + Pi+2Bi+2(t).

The curve in (32) is locally controlled in that if the point Pi is changed, then the only part of the curve that changes is when t ∈ (ti−2, ti+2). If one weight wi is changed, then only the basis functions Bj, j = i−1,..., i+2, are changed, and the control point curve will change only in the parts where t ∈ (ti−2, ti+3). In our example, we have used Foley’s data [10]. Fig. 4(a) shows the parametric curve (32) with all weights equal to 1, and thus it is a B-spline approximation, and Fig. 4(b) is the parametric curve in (32) with the weights w8 = 8, w10 = w13 = 40, w15 = 8, and wi = 1 otherwise. We have used the accumulated chord length parametrization in Fig. 4(a)–(c). The N = 18 control points Pi, i = 1,..., N, are denoted by dots and are connected by line segments. There is one control point at (2.0, 0.0) that is obscured by a circle symbol, and the first and last points are in the lower left at (0.0, 0.0). The points P0 = (0.0, −1.0) and PN+1 = (−0.5, 0.0), which are the linear extensions of the first and last line segments, are not displayed. The circles represent where one cubic segment of the parametric curve ends and the next begins. More precisely, 4394 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397

2 Fig. 5. The radiochemical data with end conditions M0 = MN+1 = 0. (a) Interpolation by cubic C spline. (b) A magnification of the lower left corner.

Table 1 Radiochemical data.

xi 7.99 8.09 8.19 8.7 9.2 10 12 15 20

fi 0 2.76429E−5 4.37498E−2 0.169183 0.469428 0.943740 0.998636 0.999916 0.999994 they represent points on the curve S(t), where

|Pi − Pi−1| t = t + t − t i = 1 N + 1 i i−1 + ( N+1 0), ,..., , N1 |Pj − Pj−1| j=1 with | · | denoting the usual Euclidean distance. The circle points are also interpolation points, in that the curve S(t) is the parametric weighted spline interpolant to the circle data by using appropriate second derivative end conditions at P1 and PN . Since the functions Bi are non-negative and they sum to one for all t ∈ [t1, tN ], the functions Sx(t) and Sy(t) are convex sums and hence the parametric curve S(t) satisfies the local convex hull property as described in [18]. This is experimentally shown in Fig. 4, where the curve defined on [ti, ti+1] does not exceed the convex hull of the four points Pj, j = i−1,..., i+2. We do not prove theoretically that the curve has the minimum number of inflections consistent with the data. 1 The parametric curve S(t) in (32) has C continuity as long as four consecutive control points Pi are not all equal and the tangent vector is non-zero. Fig. 4(c) exhibits this behavior when there are two control points at A. The weights and control points in Fig. 4(c) are the same as in Fig. 4(b) with the exception that point A is counted twice. The curve comes closer to point A because the convex hull of the neighboring four points is narrower near A because of the repeated point. As with usual B-splines, if three consecutive control points are equal, then the convex hull of the four nearest points is the point itself. In this case, the curve must pass through the control point with C 0 continuity. A common approach in forming the control point curve in (32) is to define the first and last points with a multiplicity of three, and thus the curve will interpolate the first and last points as Bézier curves do. If four consecutive control points are collinear, then the curve in (32) is linear on the middle segment and equal to the line segment joining the two interior control points. This follows from the local convex hull property.

7. Graphical examples

The aim of this section is to illustrate the shape features of weighted cubic interpolation splines with some popular examples. We want to notice that, before, to choose weight parameters we have used our algorithms described in Section4 and the formula

−α   2 i wi = 1 + Ci f [xi, xi+1] , Ci ≥ 1, αi ≥ 0, i = 0,..., N. (33)

In the first example, we have interpolated the radiochemical data reported in Table 1. These data are unequally spaced. The effects of changing the weight values wi are depicted in Figs. 5 and6. We have imposed the end conditions M0 = 0 and 2 MN+1 = 0. Fig. 5 is obtained by setting all weights wi = 1, that is, considering the C cubic spline interpolating the data. In Fig. 6, a new interpolant, obtained by our algorithm described in Section4, is displayed for the same data, and the stretching effect of the weight parameters is evident. By using formula (33) with different values of αi and Ci we could not preserve the data monotonicity in the lower left corner. T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4395

Fig. 6. The same as Fig. 5 with weights by our algorithm described in Section5.

2 Fig. 7. Akima’s data with boundary conditions M0 = MN+1 = 0. (a) Interpolating C cubic spline (wi = 1). (b) Weighted cubic spline with shape parameters chosen by our algorithm.

Table 2 Akima’s data [28].

xi 0 2 3 5 6 8 9 11 12 14 15

fi 10 10 10 10 10 10 10.5 15 50 60 85

In the second example we have taken Akima’s data [28] of Table 2 and constructed weighted interpolants with end conditions M0 = MN+1 = 0. Fig. 7(a) shows the plot produced by a uniform choice of tension factors, namely wi = 1. Fig. 7(b) shows a second solution, which perfectly reproduces the data shape, where we have set weights by our algorithm. The data for the next example were taken from [27]. We consider interpolating the function exp(100x) − 1 f (x) = 1 − , x ∈ [0, 1], exp(100) − 1

2 on the uniform mesh xi = i/10, i = 0, 1,..., 10. In Fig. 8(a) the graph of the C cubic spline is shown (wi = 1 for all i). The spline gives unacceptable oscillations. Decreasing their amplitude is only possible by either introducing a non-uniform mesh that concentrates the knots in the domain having large gradient or choosing an appropriate parametrization. The weighted spline with shape parameters computed by our algorithm, shown in Fig. 8(b), exhibits the same monotonicity and ′ ′ convexity as f . In the first case the end conditions S (x0) = 0 and S (x10) = −100 are used. In the second case, we have assigned M0 = M10 = 0. √ As one more example, we have considered an interpolation of the function f (x) = 2 − x(2 − x), 0 ≤ x ≤ 2, that defines a semicircle. This function is interpolated on a mesh uniform in x (Fig. 9(a)) and along an arc length (Fig. 9(b)). ′ ′ 2 In both cases 11 interpolation points and the boundary conditions S (x0) = −50, S (x10) = 50 (C cubic spline) and 1 m0 = 2f [x0, x1], m10 = 2f [x9, x10] (weighted C spline) were used. The dotted and solid lines show the graphs of the interpolating cubic C 2 spline and weighted cubic spline with weights by our algorithm. We see that the transition to a mesh with constant steps along the arc length enables us to reduce the oscillations of the C 2 spline but it does not remove them. The weighted C 1 spline again retains the monotonicity property of the initial data. The algorithm for automatic selection of weight parameters to preserve the convexity of the data was also tested on this example with the convex data. It gives the same results as shown in Fig. 9. We have used the boundary conditions M0 = 3w0δ1f /h0 and MN+1 = 3wN δN f /hN . 4396 T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397

2 1 Fig. 8. Exponential boundary-layer-type data [27]. (a) Interpolating C cubic spline (wi = 1). (b) Weighted C cubic spline with weights by our algorithm.

Fig. 9. Interpolation of a semicircle’s data on a mesh: (a) uniform in the x coordinate and (b) uniform in the arc length. The dotted and solid lines show 2 1 the graphs of C cubic (wi = 1) and weighted C cubic (our algorithm) splines.

Fig. 10. The parametric C 2 cubic spline (solid curve) and weighted C 1 spline (dashed curve) to the same data: (a) the cord-length parametrization; (b) the unit parametrization.

The purpose of the last example is to observe the effects of the shape parameters wi when different parametrizations are used. The solid curves in Fig. 10 are the C 2 cubic spline interpolants by using the cord-length (a) and the unit ′ ′ = = { } = (b) parametrizations with the boundary conditions (Sx(ti), Sy(ti)) (0, 0), i 1, 6, applied to the data xi 1 {1, 2, 3, 3, 2, 1}, {yi} = {0, 0, 0, 0.1, 0.1, 0.1}. The dashed curves in Fig. 10 are the weighted C cubic spline interpolants to the same data and parametrizations where the weights are chosen by our algorithm from Section4 with ε = 0.0001. Fig. 10 illustrates that the shape of the interpolating curve by using the cord-length parametrization may not be what the user has in mind. However, the weighted spline produces the expected results.

8. Conclusion

Shape preservation is one of the fundamental topics in computer aided geometric design. During the past few decades, different authors have developed various algorithms of shape preserving spline approximation. However the shape T.-w. Kim, B. Kvasov / Journal of Computational and Applied Mathematics 236 (2012) 4383–4397 4397 parameters are mainly viewed as an interactive design tool for manipulating shape of a spline curve [5]. The main challenge of this paper is to present algorithms that select shape control parameters (weights) automatically. We give two such algorithms: one to preserve the data monotonicity and other to retain the data convexity. These algorithms adapt the spline curve to the data geometric behavior. The main point, however, is to determine whether the error of approximation remains small under the proposed algorithms. To this end we prove two theorems to estimate error bounds. We show that by using special choice of shape parameters one can rise the order of approximation. There have been important advances in the study of shape preserving representations of curves and surfaces [19]. The curves inherit shape properties of the control polygon when the basis is totally positive and normalized. We construct such basis of weighted cubic B-splines and show experimentally that it has the local convex hull property.

Acknowledgments

This work was supported by the National Research Foundation of Korea (NSF) (Grant Nos. 2012-0005043 and 2012- 0000176), funded by the Korean government (MEST). The second author was also supported by the Russian Foundation for Basic Research under Grant No. 09-01-00186. We also wish to express our gratitude to the referees for their invaluable remarks and suggestions for improvements.

References

[1] J.A. Gregory, M. Sarfraz, A rational cubic spline with tension, Comput. Aided Geom. Design 7 (1990) 1–13. [2] M. Sarfraz, A C 2 rational cubic spline alternative to the NURBS, Comput. Graph. 16 (1) (1992) 69–77. [3] M. Sarfraz, Interpolatory rational cubic spline with biased, point and interval tension, Comput. Graph. 16 (4) (1992) 427–430. [4] H. Späth, One Dimensional Algorithms, A.K. Peters, Natick, MA, 1995. [5] T.N.T. Goodman, Shape preserving interpolation by curves, in: J. Levesley, I. Anderson, J. Mason (Eds.), Algorithms for Approximation IV, University of Huddersfield, Huddersfield, UK, 2002, pp. 24–35. [6] Ph. Cinquin, Splines unidimensionnelles sous tension et bidimensionnelles paramétrées: deux applications médicales, Thése, Université de Saint- Etienne, 28 October 1981. [7] L. Bos, K. Salkauskas, Limits of weighted splines based on piecewise constant weight functions, Rocky Mountain J. Math. 23 (1993) 483–493. [8] K. Salkauskas, C 1 splines for interpolation of rapidly varying data, Rocky Mountain J. Math. 14 (1984) 239–250. [9] K. Salkauskas, L. Bos, Weighted splines as optimal interpolants, Rocky Mountain J. Math. 22 (1992) 705–717. [10] T.A. Foley, Local control of interval tension using weighted splines, Comput. Aided Geom. Design 3 (1986) 281–294. [11] T.A. Foley, Interpolation with interval and point tension control using cubic weighted v-splines, ACM Trans. Math. Softw. 13 (1987) 68–96. [12] T.A. Foley, A shape preserving interpolant with tension controls, Comput. Aided Geom. Design 5 (1988) 105–118. [13] T. Bosner, M. Rogina, Variable degree polynomial splines are Chebyshev splines, Adv. Comput. Math. (2011) http://dx.doi.org/10.1007/s10444-011- 9242-z. [14] L.L. Schumaker, Spline Functions: Basic Theory, Wiley, New York, 1981. [15] B.I. Kvasov, Methods of Shape-Preserving Spline Approximation, World Scientific, Singapore, 2000. [16] B.I. Kvasov, Hyperbolic spline interpolation algorithms, Comput. Math. Math. Phys. 51 (2011) 722–740. [17] B.I. Kvasov, Parallel mesh methods for tension splines, J. Comput. Appl. Math. 236 (2011) 843–859. [18] G. Farin, Curves and Surfaces for Computer Aided Geometric Design, Academic Press, San Diego, 2002. [19] J.M. Peña (Ed.), Shape Preserving Representations in Computer-Aided Geometric Design, Nova Science Publishers, Inc., New York, 1999. [20] B.I. Kvasov, GB-splines and their properties, Ann. Numer. Math. 3 (1996) 139–149. [21] T. Bosner, Knot insertion algorithms for weighted splines, in: Z. Drmač, et al. (Eds.), Proceedings of the Conference on Applied Mathematics and Scientific Computing, Springer, 2005, pp. 151–160. [22] M. Rogina, A knot insertion algorithm for weighted cubic splines, in: A. Le Méhauté, C. Rabut, L.L. Schumaker (Eds.), Curves and Surfaces with Applications in CAGD, Vanderbilt University Press, Nashville, London, 1997, pp. 387–395. [23] R.P. Kulkarni, P.-J. Laurent, Q -splines, Numer. Algorithms 1 (1991) 45–73. [24] P. Costantini, B.I. Kvasov, C. Manni, On discrete hyperbolic tension splines, Adv. Comput. Math. 11 (1999) 331–354. [25] M.-L. Mazure, P.-J. Laurent, Polynomial Chebyshev splines, Comput. Aided Geom. Design 16 (1999) 317–343. [26] M. Rogina, T. Bosner, On calculating with lower order Chebyshev splines, in: P.-J. Laurent, P. Sablonnière, L.L. Schumaker (Eds.), Curves and Surfaces Design: Saint-Malo 1999, Vanderbilt University Press, Nashville, TN, 2000, pp. 343–352. [27] Yu.S. Zavyalov, B.I. Kvasov, V.L. Miroshnichenko, Methods of Spline Functions, Nauka, Moscow, 1980 (in Russian). [28] H. Akima, A new method of interpolation and smooth curve fitting based on local procedures, J. Assoc. Comput. Mach. 17 (1970) 589–602.