Working title: Topics in Multivariate Approximation and 101 K. Jetter et al., Editors °c 2005 Elsevier B.V. All rights reserved

Parameterization for curve interpolation Michael S. Floater and Tatiana Surazhsky

Centre of Mathematics for Applications, Department of Informatics, University of Oslo, P.O. Box 1035, 0316 Oslo, Norway

Abstract A common task in geometric modelling is to interpolate a sequence of points or derivatives, sampled from a curve, with a parametric or curve. To do this we must first choose parameter values corresponding to the interpolation points. The important issue of how this choice affects the accuracy of the approxi- mation is the focus of this paper. The underlying principle is that full approximation order can be achieved if the parameterization is an accurate enough approximation to arc length. The theory is illustrated with numerical examples. Key words: interpolation, curves, arc length, approximation order

1. Introduction

One of the most basic tasks in geometric modelling is to fit a smooth curve d through a sequence of points p , . . . pn in , with d 2. The usual approach is 0 ≥ to fit a parametric curve. We choose parameter values t0 < < tn and find a d · · · parametric curve c : [t , tn] such that 0 → c(ti) = pi, i = 0, 1, . . . , n. (1) Popular examples of c are polynomial curves (of degree at most n) for small n, and spline curves for larger n. In this paper we wish to focus on the role of the parameter values t0, . . . , tn. Empirical evidence has shown that the choice of parameterization has a significant effect on the visual appearance of the interpolant c. We will distinguish between two different applications: 102 Michael S. Floater and Tatiana Surazhsky

– Design. If a designer wants to use interpolation to design a curve, then we can simply view parameterization as a design tool. In addition to choosing the points pi, the designer is also free to choose the parameter values ti in order to increase the degrees of freedom at his disposal. – Approximation. If the points pi have been sampled from a smooth curve, e.g. a height contour, · a curve of intersection between two surfaces, · or a physical curve, · then the curve c will be an approximation to the curve the points pi were sam- pled from. The important issue is now the approximation error. An interpolation method with higher approximation order will lead to faster convergence to the sampled curve as the sampling density increases. While a lot of effort has been put into the effect of parameterization from the view point of design, little was known until recently about its effect on approximation order. The purpose of this paper is to summarize the recent results of [7,8] on approximation order and to illustrate the theory with numerical examples. Some comparisons with ‘geometric interpolation’ are made later in the paper.

2. Parameterization methods

In order to discuss different parameterization methods, we will use the example 2 d 2 of C cubic spline interpolation. Suppose σ : [t0, tn] is the C cubic spline curve such that → σ(ti) = pi, i = 0, 1, . . . , n, and 0 σ (ti) = mi, i = 0, n, (2) for some chosen vectors m0, mn. By ‘cubic spline curve’ we understand that σ is 2 a cubic polynomial curve in each interval [ti, ti+1], and that σ has C continuity at the break points t1, . . . , tn−1. As is well-known [1,2,6], σ is unique. The end conditions (2) are sometimes known as ‘clamped’ end conditions, and this kind of spline interpolation is sometimes called ‘complete’ spline interpolation. The first thing to note about parameterization is that applying a linear transfor- mation to t0, . . . , tn does not change the resulting spline curve. Provided we treat the end conditions (2) correctly, we simply get a reparameterization of σ. To be precise, if we define tˆi := λti + µ, i = 0, 1, . . . , n,

d for λ > 0 and we define the curve σˆ : [tˆ , tˆn] by 0 → σˆ(t) := σ((t µ)/λ), − 2 then σˆ is clearly a C cubic spline curve over the partition tˆ0 < tˆ1 < < tˆn, satisfying the conditions · · ·

σˆ(tˆi) = pi, i = 0, 1, . . . , n, Parameterization for curve interpolation 103 and 0 σˆ (tˆi) = mi/λ, i = 0, n.

For this reason, we may as well set t0 = 0 and we typically specify a parameteriza- tion by recursively setting ti+1 := ti + di

for some chosen interval lengths d0, d1, . . . , dn−1 > 0. Multiplying the interval lengths di by a common factor λ will not change the intrinsic geometry of the spline curve σ as long as we divide the vectors m0 and mn by the same factor λ. The simplest choice is the uniform parameterization defined by di = 1, where the values ti are uniformly spaced. But as early as 1967, Ahlberg, Nilson, and Walsh [1] proposed using the chordal parameterization in which

di := pi pi , (3) | +1 − | and denotes the Euclidean norm in d. The motivation behind this was that the distance| · | between two points on a curve is a reasonable approximation to the length of the associated curve segment. Thus the hope was that the ‘speed’ σ0(t) | | of the spline curve might be close to unity at all t [t0, tn]. Epstein [5] showed that when using periodic boundary∈ conditions, a chordal C 2 0 cubic spline interpolant is always regular, i.e., σ (t) = 0 at every t [t0, tn]. Later, it was realized that the uniform and chordal6 parameterizations∈ are the special cases µ = 0 and µ = 1 of the more general parameterization µ di := pi pi , | +1 − | with 0 µ 1 acting as a kind of blending parameter. The choice µ = 1/2 was termed ≤by Lee≤ [11] the centripetal parameterization, and suggested that it sometimes leads to a spline curve which is closer to the polygon passing through the data points pi. Later still, Foley and Nielson [9] observed that the chordal parameterization lacks affine invariance. If a non-uniform scaling is applied to the data points pi and the new chord lengths are computed, then the resulting spline curve will not in general be a scaling of the original. This suggested replacing the Euclidean distance in (3) by a metric which is invariant to affine transformations of the data points. Nielson had earlier found such an affine-invariant metric, and they defined di with the aid of both the affine-invariant distance between pi and pi+1 and the angles of the polygon passing through pi−1, pi, pi+1, pi+2. Thus, unlike the previous methods, every value of di depends on all the data points p0, . . . , pn. Our goal in this paper is to study the effect of parameterization on approximation and with this in mind we have sampled points pi from a fixed smooth curve, and computed the four spline curves σ resulting from the uniform, chordal, centripetal, and Foley-Nielson knot-vectors. Figure 1 shows the fixed curve in black and the four spline curves shown in grey. We chose the end vectors m0, mn to have the same direction as the given curve and to have the magnitude

m := p p /d , mn := pn pn− /dn− , | 0| | 1 − 0| 0 | | | − 1| 1 the motivation being that σ0(t ) (p p )/d . 0 ≈ 1 − 0 0 104 Michael S. Floater and Tatiana Surazhsky

(a) uniform (b) chordal (c) centripetal (d) Foley-Nielson

Fig. 1. Choice of knot-vector for cubic spline interpolation.

f

c

Fig. 2. Distance between two curves.

It is quite evident from the figure that the chordal curve appears to be a par- ticularly good approximation to the original curve. As we will see, this is not coincidence, and due to the fact that the length of a chord is a relatively good approximation to the length of an arc.

3. Approximation error

The example of Figure 1 clearly shows that parameterization affects approxi- mation error. In order to study approximation, we will assume that the points pi d are samples, pi = f(si), from a parametric curve f : [a, b] , d 2, with → ≥ a s0 < < sn b. We will assume that f is parameterized with respect to arc length,≤ by· ·whic· h w≤e mean that it is (at least) continuously differentiable and that f 0(s) = 1 for all s [a, b]. Then the interpolation problem becomes | | ∈

c(ti) = f(si), i = 0, 1, . . . , n, (4)

and the error is the distance between the curve piece f [s0,sn] and the curve c, see Figure 2. One well-known way of measuring the distance| between two such curves is the Hausdorff distance,

distH (f [s0,sn], c) = max max min f(s) c(t) , max min f(s) c(t) . | {t0≤t≤tn s0≤s≤sn | − | s0≤s≤sn t0≤t≤tn | − |} Parameterization for curve interpolation 105

f(s 0 ) f(s ) f(s ) 2 1 f(s 3 )

Fig. 3. Cubic interpolation. 4. Approximation order

It seems difficult to derive bounds on the error between f and σ. We will in- stead study the approximation order. A higher approximation order implies faster convergence of the interpolating curves to the given curve as the sampling density increases. Consider for simplicity , i.e., let c in (4) be the d Lagrange polynomial interpolant p : [t0, tn] of degree at most n, and let h be the length of the curve piece f , i.e., → |[s0,sn] sn 0 h = L(f [s0,sn]) = f (s) ds = sn s0. | Zs0 | | − k The following table gives numerical estimates of k s.t. distH (f [s0,sn], p) = O(h ) as h 0 for smooth curves f: | → Degree 1 2 3 4 5 · · · Uniform 2 2 2 2 2 · · · Chordal 2 3 4 4 4 · · · The table suggests that the uniform parameterization only provides an O(h2) approximation when applied to interpolation of any degree n 1, while the chordal parameterization provides full approximation order O(hn+1≥) for n = 1, 2, 3, and then stays at O(h4) for higher degrees n > 3. Arguably the most interesting of these numerical results is that of cubic interpolation (n = 3) with the chordal parameterization. The following theorem is a special case of a result proved in [7].

Theorem 1. Suppose f C4[a, b] and for each sample s < s < s < s in ∈ 0 1 2 3 [a, b], let t0 = 0 and ti+1 ti = f(si+1) f(si) for i = 0, 1, 2, and let p : d − | − | [t0, t3] be the cubic polynomial such that p(ti) = f(si), for i = 0, 1, 2, 3. → 4 Then distH (f , p) = O(h ) as h 0, where h = s s . |[s0,s3] → 3 − 0 The basic steps in the proof are: (i) Show that 3 (ti+1 ti) (si+1 si) = O (si+1 si) . (5)

− − − − (ii) Use (5) to show that if φ : [t , t ] is the¡ cubic polynomial¢ such that 0 3 → φ(ti) = si, i = 0, 1, 2, 3, then 4 f φ p ∞ = O(h ), k ◦ − k where q ∞ := maxt ≤t≤t q(t) , see Figure 4. k k 0 3 | | 106 Michael S. Floater and Tatiana Surazhsky

s3

s2 φ( t)

s1

s0 t 0 t 1 t 2 t 3

Fig. 4. Reparameterization φ.

Consider now some of the details. Step (i) is to establish (5), that the error between the length of a chord and the length of an arc is of third order. This follows immediately from the following explicit error bound.

Lemma 1. If f C2[a, b] then ∈ 1 3 00 0 (si+1 si) f(si+1) f(si) (si+1 si) max f (s) . ≤ − − | − | ≤ 12 − si≤s≤si+1 | |

The proof follows from the use of Taylor series and the identities f 0(s) f 0(s) = 1 and f 0(s) f 00(s) = 0 [7]. · In Step·(ii) we use the reparameterization φ. If g(t) := f(φ(t)), then

p(ti) = g(ti), i = 0, 1, 2, 3, and so 4 (4) 4 (4) g p ∞ (t t ) g ∞/4! h g ∞/4!. k − k ≤ 3 − 0 k k ≤ k k So it is enough to show that φ0 > 0 for small enough h (so that g is well-defined) and that g(4) is bounded as h 0. By the chain rule, → g(4) = (φ0)4f (4) + 6(φ0)2φ00f 000 + (3(φ00)2 + 4φ0φ000)f 00 + φ(4)f 0, and so g(4) is indeed bounded if φ0, φ00, φ000 are bounded as h 0. To see this, observe that (5) implies →

3 si+1 si (si+1 si) 2 [ti, ti+1]φ 1 = − 1 = O − = O (si+1 si) , i = 0, 1, 2. − ti ti − µ ti ti ¶ − +1 − +1 − ¡ ¢ Therefore,

[ti, ti , ti ]φ = O(si si), i = 0, 1, [t , t , t , t ]φ = O(1). +1 +2 +1 − 0 1 2 3 Thus all divided differences of φ are bounded and by expressing φ in its Newton form and differentiating, it follows that all derivatives of φ are indeed bounded, and that φ0 > 0 for small enough h. Parameterization for curve interpolation 107 f(b)

f(a)

Fig. 5. Spline interpolation to f.

sn

φ( t)

s1

s0 t 0 t 1 ... t n

Fig. 6. Reparameterization φ.

5. Extension to cubic splines

The error analysis of chordal cubic polynomial interpolation extends to complete C2 cubic spline interpolation. Again, chord lengths provide full fourth order approx- imation. The following was proved in [8]. We continue to assume that f 0(s) = 1 for all s [a, b]. | | ∈

4 Theorem 2. Suppose f C [a, b] and for each sample a = s0 < < sn = b, let ∈ · · · d t0 = 0 and ti+1 ti = f(si+1) f(si) , 0 i < n, and let σ : [t0, tn] be the C2 cubic spline −curve suc| h that− | ≤ →

σ(ti) = f(si), i = 0, 1, . . . , n, 0 0 σ (ti) = f (si), i = 0, n.

4 Then distH (f, σ) = O(h ) as h 0, where h = max ≤i

φ(ti) = si, i = 0, 1, . . . , n, 0 φ (ti) = 1, i = 0, n.

4 and use (5) to show that f φ σ ∞ = O(h ), where q ∞ := maxt ≤t≤t q(t) . k ◦ − k k k 0 n | | 108 Michael S. Floater and Tatiana Surazhsky

6. Parameter improvement for higher degree interpolation

Chord lengths do not give full approximation order O(hn+1) for polynomial in- terpolation of degree n > 3. A solution is to use a parameterization which more accurately approximates the arc length of f. A first improvement can be made by d using the length of the cubic polynomial p : [t0, t3] in Theorem 1. It was shown in [7] that if f C4[a, b] and f 0(s) = 1, for s →[a, b], then ∈ | | ∈ 3 L(p [t0,t1]) (s1 s0) = O (s1 s0) (s2 s0)(s3 s0) , | − − ³ − − − ´ 3 L(p [t1,t2]) (s2 s1) = O (s2 s0)(s2 s1) (s3 s1) , | − − ³ − − − ´ 3 L(p [t2,t3]) (s3 s2) = O (s3 s0)(s3 s1)(s3 s2) , | − − ³ − − − ´ Thus, for example, the length of the cubic piece p is a better approximation |[t1,t2] to the length of f [s1,s2] than the length of the chord f(s2) f(s1) . Indeed the order of approximation| has risen by two. Suppose now that| n−= 4 or |n = 5 in (1). We start by letting t0, . . . , tn be chordal parameter values. Then we improve the parameterization as follows. For each i = 0, . . . , n 1, we choose any sequence of − d four points pj , . . . , pj which includes pi and pi and we let p : [tj, tj ] +3 +1 +3 → be the cubic interpolant p(tk) = pk, j k j + 3. Then we set ≤ ≤ tˆi tˆi := L(p ). +1 − |[ti,ti+1] For most i there is a choice of which cubic to use. Nevertheless, it can be shown, d using a similar approach to the proof of Theorem 1, that if q : [tˆ0, tˆn] is the n+1 → interpolant of degree at most n with q(tˆi) = pi, and f is in C , then n+1 distH (f , q) = O(h ), n = 4, 5. |[s0,sn] Continuing this idea, one can write a recursive algorithm which generates a pa- rameterization for any n which supports polynomial interpolation of degree n, see [7]. We can even view the uniform parameterization (or any other parameterization) as the start point for the iteration, because the length of the chord between two points is also the length of the linear interpolant to those points, with respect to any parameterization. Schematically, the parameter improvement looks as follows:

Uniform n = 1 O(h2) → → . Chordal n = 3 O(h4) → → . Improved I n = 5 O(h6) → → . Improved II n = 7 O(h8) → → Parameterization for curve interpolation 109

f(s0)

PSfrag replacements

f(s1)

Fig. 7. Two-point cubic Hermite interpolation. 7. Hermite interpolation

The theory of parameterization for polynomial interpolation extends to Hermite interpolation as long as we match arc length derivatives at every point.

7.1. Cubic two-point Hermite

d Suppose we want to fit the Hermite cubic polynomial p : [t0, t1] to f, i.e., such that → (k) (k) p (ti) = f (si), i = 0, 1, k = 0, 1. (6)

If we use chordal parameter values, i.e., t1 t0 = f(s1) f(s0) , then, noting that 0 4 − | − | f (si) = 1, if f C [a, b] then | | ∈ 4 distH (f , p) = O(h ) as h 0. |[s0,s1] → 7.2. Quintic two-point Hermite

How do we choose a suitable parameterization tˆ0 < tˆ1 when fitting a quintic polynomial q : [tˆ , tˆ ] d such that 0 1 → (k) (k) q (tˆi) = f (si), i = 0, 1, k = 0, 1, 2, (7) 0 0 00 where f (si) = 1, and f (si) f (si) = 0? One way of getting a sixth order approx- imation| is to| use the improved· parameterization 0 0 tˆ tˆ = (t t )( p (ξ−) + p (ξ ) )/2 L(p), (8) 1 − 0 1 − 0 | | | + | ≈ where ξ§ = (t + t )/2 (t t )/(2√3). Here p is the Hermite cubic interpolant 0 1 § 1 − 0 in (6) using chordal values t0, t1, and we have used 2-point Gauss quadrature to estimate the integral t1 L(p) = p0(t) dt. Zt0 | | If f C6[a, b], then ∈ 6 distH (f , q) = O(h ) as h 0. |[s0,s1] → Is the parameter improvement robust? Yes, in the sense that the new parameter intervals are always longer than the initial (chordal) parameter intervals. To see 110 Michael S. Floater and Tatiana Surazhsky

f(s0)

PSfrag replacements

f(s1)

Fig. 8. Two-point quintic Hermite interpolation. this, observe that since 2-point Gauss quadrature has quadratic (cubic) precision and positive weights,

0 0 tˆ tˆ = (t t )( p (ξ−) + p (ξ ) )/2 1 − 0 1 − 0 | | | + | 0 0 (t t )(p (ξ−) + p (ξ ))/2 (9) ≥ | 1 − 0 + | t1 0 = p (t) dt = p(t1) p(t0) = f(s1) f(s0) = t1 t0. ¯Z ¯ | − | | − | − ¯ t0 ¯ ¯ ¯ Thus the new ¯parameter in¯tervals certainly do not shrink to zero. The above in- equality is very natural because we know that since the straight line between two points is the shortest path between them, L(f ) t t . |[s0,s1] ≥ 1 − 0 We could instead use Simpson’s rule to get sixth-order accuracy:

tˆ tˆ = (t t )( p0(t ) + 4 p0((t + t )/2) + p0(t ) )/6 1 − 0 1 − 0 | 0 | | 0 1 | | 1 | = (t t )(1 + 2 p0((t + t )/2) )/3 1 − 0 | 0 1 | L(p). ≈ Again, tˆ1 tˆ0 t1 t0. This same property holds for any quadrature method with positive w−eights≥ and− degree of precision at least two.

7.3. Examples

Figure 9 shows the C1 cubic spline built from cubic 2-point Hermite interpola- tion, based on chordal parameter values. Figures 10 and 11 show the C 2 quintic splines built from quintic 2-point Hermite interpolation, based on chordal parame- ter values, and the improved parameter values. In all these figures, the black curve is the original and the grey one the approximation. Observe that the errors in Fig- ures 10(b) and 11(b) are noticeably smaller than those in Figures 10(a) and 11(a). Recall that from (9), the length tˆ tˆ of the improved parameter interval is 1 − 0 greater or equal to the original chord length t1 t0 and it appears that lengthening the parameter interval has the effect of lengthening− the quintic curve in Figure 10. We decided to explore this behaviour further and scaled the length of the chord by various factors: 1/2, 1, 2, and 5. The resulting curves are shown in Figure 12 which Parameterization for curve interpolation 111

Fig. 9. Chordal Hermite cubic, C1, O(h4).

(a) (b)

Fig. 10. Chordal quintic Hermite, C2, O(h4), (a) and improved quintic Hermite, C2, O(h6), (b). provides a striking illustration of what a dramatic effect parameterization can have on Hermite interpolation when the derivatives are fixed (not scaled as in Section 2). Clearly a shorter parameter interval leads to a tighter curve.

8. Geometric interpolation

An alternative approach to what we have discussed so far in this paper is so-called geometric interpolation as developed by [3,4,10,12–14]. These schemes, mainly Her- mite, aim not only to retain full approximation order, but also to reduce the degree of the interpolant. The potential advantage of these schemes is that both the inter- polant and parameterization are the simultaneous solutions to a set of equations. The disadvantage is that these equations are non-linear and only admit a solution under certain restrictions on the data points, and each scheme is dependent on the dimension d. Since for planar data (d = 2) the quintic Hermite q in (7) matches the tangents and curvatures of f at the two points, it is interesting to compare this quintic scheme 112 Michael S. Floater and Tatiana Surazhsky

(a) (b)

Fig. 11. Chordal cubic, C1, O(h4), (a) and improved quintic, C2, O(h6), (b).

(a) (b) (c) (d)

Fig. 12. Chord lengths multiplied by factors (a) 1/2, (b) 1, (c) 2, and (d) 5. with the scheme proposed for planar data by de Boor, Hollig, Sabin [3], which we will call the BHS scheme. When f is a curve in 2, the BHS scheme tries to fit a cubic to these tangents and curvatures. Thus the scheme attempts to satisfy k (k) Ds p(ti) = f (si), i = 0, 1, k = 0, 1, 2,

2 where p : [t , t ] is a cubic polynomial and Ds denotes differentiation with 0 1 → respect to arc length. The length t1 t0 of the parameter interval is of no importance − 6 in this scheme and they set t0 = 0, t1 = 1. The approximation order is O(h ) around any point where the curvature is non-zero (a solution exists at such a point for small enough h). However there are examples of data sets for which there is no solution. Note that a method has been proposed in [15] for sampling points from a given curve f which supports the BHS scheme, in the sense that there is always a solution. For example, the BHS scheme has a solution for the data in Figure 13, generated by the method of [15], and as we can see in the figure, it is hard to distinguish the BHS (grey) curve from the original (black) curve, similar to the quintic in Figure 10(b). Parameterization for curve interpolation 113

Fig. 13. BHS cubic, G2. Mørken and Scherer [12] view this scheme in a different way, in terms of repa- rameterization and degree reduction. First of all, instead of (7), we could find any quintic q which interpolates a reparameterization g = f φ of the curve f where ◦ φ : [t , t ] [s , s ] is some increasing function with φ(ti) = si, i = 0, 1. Since 0 1 → 0 1

g0 = φ0f 0, g00 = (φ0)2f 00 + φ00f 0,

we can freely choose any values λi, µi , i = 0, 1, and set ∈

q(ti) = f(si), i = 0, 1, 0 0 q (ti) = λif (si), i = 0, 1, 00 2 00 0 q (ti) = λi f (si) + µif (si), i = 0, 1.

The case λi = 1 and µi = 0 reduces to (7), whereas the BHS scheme attempts to find λi and µi to reduce the degree of the quintic q to three. Mørken and Scherer applied this approach to interpolation of other degrees. Grandine and Hogan [10] have recently proposed raising the degree of the BHS scheme to four in order to guarantee a solution in all (planar) cases. Clearly it is an advantage to interpolate with a polynomial with as low a degree as possible. On the other hand the attraction of the quintic scheme (7) is its simplicity: it is constructed in just a few steps without having to solve any non-linear equations. Moreover, unlike the BHS scheme and the scheme of Grandine and Hogan, the quintic scheme (7) applies to curves in any space dimension, including the important case 3. Moreover, the resulting curve has C2 continuity rather than just G2 which can be an advantage for certain post-processes such as surface lofting.

9. Conclusion

We have obtained precise information about how the choice of parameter values affects the approximation order of curve interpolation in any space dimension d 2, based on and piecewise polynomials. Chordal parameter values give≥full approximation order for cubic interpolation, but more accurate approximations to 114 Michael S. Floater and Tatiana Surazhsky

(a) (b) (c)

3

Fig. 14. Curve interpolation through points in .

arc length are required (and can be found) for higher degrees. Figure 14 illustrates an application where points in 3 are sampled from a curve on a glass-shaped surface (a). Two interpolating curves are shown: (b) a chordal C 2 cubic spline curve, and (c) a C2 quintic Hermite spline curve, using the improved parameterization (8).

References

1. J. H. Ahlberg, E. N. Nilson, and J. L. Walsh, The theory of splines and their applications, Academic Press, New York, 1967. 2. C. de Boor, A practical guide to splines, Springer-Verlag, New York, 1978. 3. C. de Boor, K. H. K., and M. Sabin, High accuracy geometric Hermite interpolation, Comp. Aided Geom. Design, 4 (1987), pp. 269–278. 4. W. Degen, High accurate rational approximation of parametric curves, COmp. Aided Geom. Design, 10 (1993), pp. 293–313. 5. M. P. Epstein, On the influence of parametrization in parametric interpolation, SIAM J. Numer. Anal., 13 (1976), pp. 261–268. 6. G. Farin, Curves and surfaces for computer aided geometric design, Academic Press, San Diego, 1988. 7. M. S. Floater, Arc length estimation and the convergence of parametric polynomial interpolation, preprint. 8. , Chordal cubic spline interpolation is fourth order accurate, IMA Journal of Numerical Analysis, to appear. 9. T. A. Foley and G. M. Nielson, Knot selection for parametric spline interpolation, in Mathematical methods in computer aided geometric design, T. Lyche and L. L. Schumaker (eds.), Academic Press, 1989, pp. 261–272. Parameterization for curve interpolation 115

10. T. A. Grandine and T. Hogan, A parametric quartic spline interpolant to position, tangent and curvature, Computing, 72 (2004), pp. 65–78. 11. E. T. Y. Lee, Choosing nodes in parametric curve interpolation, Computer- Aided Design, 21 (1989), pp. 363–370. 12. K. Mørken and K. Scherer, A general framework for high-accuracy parametric interpolation, Math. Comp., 66 (1997), pp. 237–260. 13. R. Schaback, Interpolation with piecewise quadratic visually C 2 Bezier polynomials, Comp. Aided Geom. Design, 6 (1989), pp. 219–233. 14. , Optimal geometric Hermite interpolation of curves, in Mathematical Methods for Curves and Surfaces II, M. Dæhlen, T. Lyche & L. L. Schumaker (eds.), Vanderbilt University Press, Nashville, 1998, pp. 417–428. 15. T. Surazhsky and V. Surazhsky, Sampling planar curves using curvature- based shape analysis, in Mathematical methods for curves and surfaces: Tromsø 2004, M. Dæhlen, K. Mørken, and L. L. Schumaker (eds.), Nashboro Press, Brentwood, 2005, pp. 339–350.