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

An Arc Spline Approximation To A Clothoid

The document summarizes an arc spline approximation method for approximating a clothoid curve. A clothoid is a spiral curve used in route design where curvature varies linearly with arc length. The document proposes approximating the clothoid with an "arc spline", which is a series of joined circular arcs, with the following properties: 1) the arcs have equal length (except the first and last), 2) the curvatures of the arcs form an arithmetic progression. This "discrete clothoid" approximates the continuous clothoid by making curvature vary linearly with arc length. The document proves the error of this approximation decreases as O(1/n^2) for an n-arc spline. Examples show the approximation accuracy is extremely high

Uploaded by

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

An Arc Spline Approximation To A Clothoid

The document summarizes an arc spline approximation method for approximating a clothoid curve. A clothoid is a spiral curve used in route design where curvature varies linearly with arc length. The document proposes approximating the clothoid with an "arc spline", which is a series of joined circular arcs, with the following properties: 1) the arcs have equal length (except the first and last), 2) the curvatures of the arcs form an arithmetic progression. This "discrete clothoid" approximates the continuous clothoid by making curvature vary linearly with arc length. The document proves the error of this approximation decreases as O(1/n^2) for an n-arc spline. Examples show the approximation accuracy is extremely high

Uploaded by

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

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 170 (2004) 59 – 77


www.elsevier.com/locate/cam

An arc spline approximation to a clothoid


D.S. Meek∗ , D.J. Walton
Department of Computer Science, University of Manitoba, Winnipeg, Canada, R3T 2N2
Received 17 January 2003; received in revised form 3 December 2003

Abstract

The clothoid is a spiral used in highway and railway route design. Clothoids are transcendental functions
and so have been approximated by polynomials, by power series and continued fractions, and by rational
functions. Here the clothoid is approximated by an arc spline. The chief advantage in doing so is that arc
splines are very easy to lay out and to o1set. Examples show that the approximation is of extremely high
accuracy. It is proved that if the arc spline has n arcs, then the error in the approximation is of order O(1=n2 ).
c 2004 Elsevier B.V. All rights reserved.

MSC: 65S05

Keywords: Arc spline approximation; Clothoid

1. Introduction

The clothoid is a spiral used in highway and railway route design [1]. This curve is also called
Euler’s spiral and Cornu’s spiral [3, p. 207]; [7, p. 36]; a diagram of the clothoid appears in
Fig. 1. The clothoid has the property that its curvature varies linearly with its arc length. Clothoids
are transcendental functions and so have been approximated by polynomials, by power series and
continued fractions, and by rational functions. Here the clothoid is approximated by an arc spline.
The chief advantage in doing so is that arc splines are very easy to lay out and to o1set. Examples
show that the approximation is of extremely high accuracy. It is proved that if the arc spline has n
arcs, then the error in the approximation is of order O(h2 ), where h = 1=n. This asymptotic result
means that if the number of arcs is doubled, the error will be about 0.25 of the previous error. Since
it is fairly easy to measure the accuracy of a given arc spline approximation, this result gives the
user an idea of how many (or few) arcs are required for a desired accuracy.

Corresponding author. Tel.: 204-474-8681; fax: 204-474-7609.
E-mail address: dereck [email protected] (D.S. Meek).

c 2004 Elsevier B.V. All rights reserved.


0377-0427/$ - see front matter 
doi:10.1016/j.cam.2003.12.038
60 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

Fig. 1. The clothoid curve.

Recent works that study approximations of clothoids are as follows. Polynomials that interpolate
the clothoid are given in [15,14]. The Erst reference gives a BFezier polynomial that is a Hermite
interpolant of the clothoid, while the second gives an s-power series (polynomial) that is a Hermite
interpolant of part of the clothoid. Power series and continued fraction approximations to the clothoid
are given in [13]. Rational function approximations to the clothoid, which are very convenient in
computer programs, are given in [4]. The last two mentioned approximations are not speciEcally
designed to interpolate the clothoid.
An arc spline is a collection of circular arcs joined with continuous tangent vectors. The new
direction in this paper is to approximate the clothoid by a special arc spline. Some advantages of
the arc spline are:

(i) it is composed of circular arcs, which are familiar curves,


(ii) it is a NURBS (nonuniform rational B-spline), so it can be used in standard graphics packages,
(iii) it is easy to lay out and to o1set, which is important in highway and railway route design, and
(iv) it is fairly easy to End the shortest distance from any point in the plane to an arc spline.

The arc spline has the disadvantage that it is not curvature continuous (G 2 ); it is only tangent
vector continuous (G 1 ). It is anticipated that this low degree of continuity is not a diJculty in
highway route design as the jumps in curvature can be made as small as one desires by taking
enough arcs. In this paper, the special arc spline approximation to a clothoid is called a discrete
clothoid.
The discrete clothoid is an arc spline with several restrictions: the arcs are all equal in length
(except the Erst and last) and the curvatures of the arcs are an arithmetic progression. The Erst and
last arcs are half the length of the others to give a more “balanced” partition into arcs; this is more
fully described in Section 2.2. The above properties mean the discrete clothoid approximates the
clothoid in the sense that the curvature varies linearly with respect to arc length.
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 61

Arc splines have appeared previously in the literature on highway design. For example, Hickerson
used biarcs, triarcs [5, p. 132], and quadarcs [5, p. 139], but did not arrange that the curvatures vary
linearly with arc length. Also of interest are papers by Horn and Mehlum. Horn [6] considered a
multi-arc curve as a curve of least energy. In [6, p. 447], it is reported that the arcs tend to have
equal length and curvature tends to have a linear relation with arc length as the number of arcs is
increased. However, Horn’s goal was not speciEcally to approximate a clothoid. Mehlum [11] also
suggested using curves made of circular arcs to approximate a curve of least energy. Arc splines
have been used to Et discrete data [9] and approximate smooth curves [10,12].
The plan of this paper is to study the use of the discrete clothoid in place of the clothoid in four
of the common situations in highway route design where clothoids are used [1,8].
These four situations will be treated in Sections 3–6, respectively.

2. Common notation

DeEne the two vectors r() and @() as


       
cos  sin   
r() = ; and @() = = 2 sin r :
sin  1 − cos  2 2

2.1. Clothoid

Let 0 6 kA ¡ kB ; S ¿ 0, and deEne sA = SkA =(kB − kA ); sB = SkB =(kB − kA ). The clothoid


 s  
kB − kA 2
E(s; S; kA ; kB ) = r u du; sA 6 s 6 sB (2.1)
0 2S
has the following properties:

• the angle of tangent vector with respect to the X -axis is (kB − kA )s2 =(2S),
• the total rotation of the tangent vector is S(kA + kB )=2,
• the length of tangent vector is 1 , so s is an arc length parameter,
• the total arc length is sB − sA = S,
• the curvature is k(s) = (kB − kA )s=S, so the curvature varies linearly with arc length,
• the curvature is kA at the beginning point A = E(sA ; S; kA ; kB ) and is kB at the ending point
B = E(sB ; S; kA ; kB ).

To make the theory easier, assume the total rotation of the tangent vector over the parameter
range is less than =2, or
S(kA + kB ) 
¡ : (2.2)
2 2

With “scaling factor” a = S=(kB − kA ), clothoid (2.1) can be written in terms of standard Fresnel
integrals as
    
C(s=a) C(t) t   
E(s; S; kA ; kB ) = a ; where = r u2 du: (2.3)
S(s=a) S(t) 0 2
62 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

BC kB = .008

100

0
35
th
le ng
arc
A
kA = .001 100 200 300

Fig. 2. Clothoid with curvatures kA = 0:001; kB = 0:008, and S = 350.

A useful standard position is the above clothoid (2.1) with the point A translated to the origin and
the plane rotated so that the initial tangent vector is along the positive X -axis. Endpoint B in its
new position will be labelled BC (see Fig. 2). Further, the variable of integration u is replaced by
Su=(kB − kA ) in (2.1), which changes the variable of integration from arc length to curvature, and
the variable k = (kB − kA )s=S replaces variable s
   k  
SkA2 S Su2
C(k; S; kA ; kB ) = R − r du; kA 6 k 6 kB
2(kB − kA ) kB − kA kA 2(kB − kA )
 k  
S S(u2 − kA2 )
= r du; kA 6 k 6 kB ; (2.4)
kB − k A k A 2(kB − kA )

where R() is the rotation matrix. To get the Enal form, integrate (2.4) by parts to give
 k    
1 S(u2 − kA2 ) 1 S(k 2 − kA2 )
C(k; S; kA ; kB ) = @ du + @ ; kA 6 k 6 kB : (2.5)
kA u 2(kB − kA ) k 2(kB − kA )
2

Note that if kA = 0, limits must be used to evaluate some expressions. The vector from the starting
point A to the ending point BC of clothoid (2.5) is
 kB    
1 S(u2 − kA2 ) 1 S(kA + kB )
C(kB ; S; kA ; kB ) = @ du + @ : (2.6)
kA u 2(kB − kA ) kB 2
2

The vector from A (now at the origin) to the centre of curvature at BC is


 
1  S(kA + kB )
M(S; kA ; kB ) = C(kB ; S; kA ; kB ) + r +
kB 2 2
 kB    
1 S(u2 − kA2 ) 1 0
= @ du + : (2.7)
kA u 2(kB − kA ) kB 1
2
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 63

If kA ¿ 0, the vector from the centre of curvature at A to the centre of curvature at BC is


 
1 0
M+ (S; kA ; kB ) = M(S; kA ; kB ) −
kA 1
 kB     
1 S(u2 − kA2 ) 1 1 0
= @ du + − : (2.8)
kA u 2(kB − kA ) kB k A
2
1
Notice that
 kB  
@ 1 u2 − kA2 S(u2 − kA2 )
M(S; kA ; kB ) = r du: (2.9)
@S 2(kB − kA ) kA u2 2(kB − kA )
Since both x- and y-components of this partial are positive for kB ¿ kA , both x- and y-components
of M(S; kA ; kB ) are monotone increasing with increasing S.

2.2. Discrete clothoid

With n ¿ 1, the discrete clothoid of arc length S is formed of n + 1 arcs, numbered 0 to n. Arc
0 and arc n have length S=(2n), while arcs 1 to n − 1 have length S=n. The curvatures of the n + 1
arcs are
k B − kA
k0 = kA ; kj = k0 + jh; j = 0; 1; : : : ; n; and kn = kB ; where h = : (2.10)
n
The curvatures can be thought of as acting at the midpoint of each arc so the Erst and last arcs
have been chosen to be half the length of the others. If two discrete clothoids meet at a point with
G 2 continuity, the neighbouring arcs at the join point will be part of the same circle, and each will
contribute a half-length arc to the circular arc at the join.
In standard position, the discrete clothoid starts at the origin A with curvature kA , has its tangent
vector at A along the positive X -axis and extends to point BD where the curvature is kB .
DeEne wj
Skj
wj = ; 0 6 j 6 n; (2.11)
2n
then the angle spanned by arc j is


 w; j = 0;
 0
2wj ; 1 6 j 6 n − 1; (2.12)


w ; j = n:
n

Let j be the angle of the tangent vector with respect to the positive X -axis at the centre of arc
j; 1 6 j 6 n − 1,
j −1
S Sh
j = w0 + 2 wi + w j = (2jk0 + j 2 h) = (2jk0 + j 2 h): (2.13)
i=1
2n 2(kB − kA )
64 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

S
2w1 2n
BD
S
1 w 1 n
kB n kn-1
1 2wn-1
k1 2w2
...
1
k2

S
n
A S S
2n n

Fig. 3. Discrete clothoid with kA = 0.

BD
1 S
kB 2n

wn
w0 1
2w1 2wn-1 S
kn-1
n

1 ...
kA 1
k1

S
A S n
2n

Fig. 4. Discrete clothoid with kA ¿ 0.

Note that the Enal formula of (2.13) gives 0 = 0, the angle of the tangent vector at A, and
Sh S(kA + kB )
n = (2nk0 + n2 h) = ; (2.14)
2(kB − kA ) 2
the angle of the tangent vector at BD .
Figs. 3 and 4 show discrete clothoids when kA = 0 and when kA ¿ 0. Although the total rotation
of the tangent vector is restricted to =2 for the theory, in these Egures a larger rotation is used.
The algebraic formulas cover both kA = 0 and kA ¿ 0, although sometimes the limit as kA tends to
zero must be used rather than substitution of kA by zero.
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 65

It is convenient to express the discrete clothoid in terms of a parameter k, which is proportional


to arc length. This parameter equals the curvature of the circular arc at the centre of that arc for the
interior arcs and equals the curvature at the ends of the Erst and last arc. If k is in arc j;


 0 6  6 0:5 for j = 0;

k = kj + h −0:5 ¡  6 0:5 for 1 6 j 6 n − 1; (2.15)


 −0:5 ¡  6 0 for j = n:

Let the vector from A to the point with parameter k of the discrete clothoid be D(k; S; kA ; kB ; n).
If k is in arc 0; j = 0,
2 sin w0 1
D(k; S; kA ; kB ; n) = r(w0 ) = @(2w0 ): (2.16)
kA kA
If k is in arc j; 1 6 j 6 n,
j −1
 
1 2 sin wi 2 sin(2 + 1)wj =2 (2 − 1)wj
D(k; S; kA ; kB ; n) = @(w0 ) + r(i ) + r j + :
kA i=1
ki kj 2
(2.17)

Eq. (2.17) can be rewritten (cf. with Eq. (2.5) and keep in mind that j−1 + wj−1 = j − wj ) as
j −1
1 1
D(k; S; kA ; kB ; n) = @(w0 ) + (−@(i − wi ) + @(i + wi ))
kA i=1
ki

1
+ (−@(j − wj ) + @(j + 2wj ))
kj
j −1
h 1
= @(i + wi ) + @(j + 2wj ): (2.18)
i=0
ki ki+1 kj

When k = kB = kn ; j = n, and  = 0, Eq. (2.19) gives the vector from point A to point BD and
becomes (cf. with Eq. (2.6))
n− 1
h 1
D(kB ; S; kA ; kB ; n) = @(i + wi ) + @(n ): (2.19)
i=0
ki ki+1 kB

The vector from A to the centre of curvature at BD is (cf. with Eq. (2.7))
1  
N(S; kA ; kB ; n) = D(kB ; S; kA ; kB ; n) + r + n
kB 2

1 0
n− 1
h
= @(i + wi ) + : (2.20)
i=0
ki ki+1 kB 1
66 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

If kA ¿ 0, the vector from the centre of curvature at A to the centre of curvature at BD is (cf. with
Eq. (2.8))
1 0
N+ (S; kA ; kB ; n) = N(S; kA ; kB ; n) −
kA 1
 
1 0
n− 1
h 1
= @(i + wi ) + − : (2.21)
i=0
ki ki+1 kB k A 1

Notice that using (2.13) and (2.11) (cf. with Eq. (2.9))
n− 1
(2i + 1)k0 + i(i + 1)h
@ h2
N(S; kA ; kB ; n) = r(i + wi ): (2.22)
@S 2(kB − kA ) i=0 ki ki+1

Since both x- and y-components of this partial are positive kB ¿ kA , both x- and y-components of
N(S; kA ; kB ; n) are monotone increasing with increasing S.

Theorem 1. If a clothoid and a discrete clothoid of n + 1 arcs both have the same total arc lengths
S, both have the same starting and ending curvatures kA and kB , and both are in the standard
position (A at the origin and the tangent vector at A along the positive X-axis), then the distance
between the two curves at any parameter k is O(h2 ) times a vector for all kA 6 k 6 kB , or

C(k; S; kA ; kB ) − D(k; S; kA ; kB ; n) = O(h2 ); kA 6 k 6 kB ;

where h = 1=n.

Proof. From (2.5) and (2.19) using (2.15),

C(k; S; kA ; kB ) − D(k; S; kA ; kB ; n)
i−1  ki+1     kj +h  
1 S(u2 − kA2 ) h 1 S(u2 − kA2 )
= @ du − @(i + wi ) + @ du
i=0 ki u2 2(kB − kA ) ki ki+1 kj u2 2(kB − kA )
 
1 S((kj + h)2 − kA2 ) 1
+ @ − @(j + 2wj ): (2.23)
kj + h 2(kB − kA ) kj

The midpoint rule [2, p. 170] is a numerical approximation to an integral that has an error of O(h3 ),
 kj+1  
kj + kj+1
f (u) du = hf + O(h3 ): (2.24)
kj 2

The arguments of the sine and cosine at u = kA + (i + 12 )h in the integral are from (2.10), (2.13),
and (2.11),
S([kA + (i + 12 )h]2 − kA2 ) S[(2i + 1)kA + (i2 + i + 14 )h]h
= = i + wi + O(h2 ):
2(kB − kA ) 2(kB − kA )
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 67

Also note that


   2
1
ki ki+1 = kA + i + h + O(h2 ): (2.25)
2
Now continuing from (2.23) and using the midpoint rule for the integral (2.24), the term of the sum
with index i is
h h
1 2
@(i + wi + O(h2 )) + O(h3 ) − @(i + wi )
[kA + (i + 2 )h] ki ki+1
 
h h
= + O(h3 ) (@(i + wi ) + O(h2 )) + O(h3 ) − @(i + wi ) = O(h3 ):
ki ki+1 ki ki+1
The sum gives a factor of j, so the terms included in the sigma sign are bounded by j O(h3 ) 6 n
O(h3 ) = O(h2 ) times a vector.
For the terms of (2.23) not in the sigma sign, the arguments of the sine and cosine can be
expressed in terms of the midpoint argument ! of the Erst (integral) term (using (2.13) and (2.11)),
S[(kj + h=2)2 − kA2 ]
!= = j + 2wj + O(h):
2(kB − kA )
Again using the midpoint rule (2.24), the last three terms of (2.23) are now
h 1 1
@(!) + O(h3 ) + @(! + O(h)) − @(! + O(h))
(kj + h=2)2 kj + h kj
 
h 1 1
= 2 @(!) + O(h2 ) + − (@(!) + O(h));
kj kj + h kj
 
1 1
= h − @(!) + O(h2 ) = O(h2 );
kj2 (kj + h)ki
which means that the terms not included in the sigma sign are O(h2 ) times a vector. This proves
the approximation of the clothoid by the discrete clothoid is O(h2 ) times a vector.

Corollary. From Theorem 1, the endpoints of the clothoid and the discrete clothoid in standard
position, BC and BD , are O(h2 ) apart. From (2.7) and (2.20), the distance between the centres of
curvatures at BC and BD are also O(h2 ) apart.

Note that in the above theorem, the point on a clothoid that corresponds to a point on the discrete
clothoid is not necessarily the closest point on the clothoid to that point on the discrete clothoid.
This means that the measure of distance used here is an upper bound on the distance that one would
obtain by using closest points.

3. Straight line to circle with a single clothoid

In the Erst arrangement [8], a clothoid and a discrete clothoid are used as transition curves from
a straight line to a circle of curvature kB ; here kA = 0 and sA = 0. Without loss of generality, assume
68 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

the straight line is the X -axis and the circle has centre CB . Let the arc length of the clothoid be SC
and let the arc length of the discrete clothoid be SD . The y-components of the centres of curvature
of the clothoid and of the discrete clothoid must equal the y-component of the centre of the given
circle. From (2.7) and (2.20),
M(SC ; 0; kB )y = CBy ; N(SD ; 0; kB ; n)y = CBy : (3.1)
Solutions to these equations exist if M(SC ; 0; kB )y − CBy and N(SD ; 0; kB ; n)y − CBy both change sign
as SC and SD vary from sA to sB . The monotone behaviour of the y-components, (2.9) and (2.22),
shows that if a solution exists, it is unique.

Theorem 2. If a clothoid of arc length SC and a discrete clothoid with n + 1 arcs of total arc
length SD both have the same starting and ending curvatures kA = 0 and kB , are both in standard
position (A at the origin and the tangent vector at A along the positive X-axis), and the centres
of curvatures at respective endpoints BC and BD have the same y component, then SC − SD = O(h2 ),
where h = 1=n.

Proof. Subtracting the Eqs. (3.1) and introducing two terms,


M(SC ; 0; kB )y − N(SD ; 0; kB ; n)y = 0;
or
[M(SC ; 0; kB )y − M(SD ; 0; kB )y ] + [M(SD ; 0; kB )y − N(SD ; 0; kB ; n)y ] = 0: (3.2)
The mean value theorem gives
@
M(SC ; 0; kB )y − M(SD ; 0; kB )y = (SC − SD )M(’; 0; kB )y ;
@S
where ’ is between SC and SD ; the partial of M is independent of h from (2.9). Theorem 1 implies
M(SD ; 0; kB )y − N(SD ; 0; kB ; n)y = O(h2 ); (3.3)
so the di1erence in the lengths of clothoid and discrete clothoid is
SC − SD = O(h2 ):

Corollary. The distance between points on the clothoid and the discrete clothoid in Theorem 2
with the same parameter k is
C(k; SC ; 0; kB ) − D(k; SD ; 0; kB ; n)
= [C(k; SC ; 0; kB ) − C(k; SD ; 0; kB )] + [C(k; SD ; 0; kB ) − D(k; SD ; 0; kB ; n)]
= O(h2 ) + O(h2 ) = O(h2 ): (3.4)
The 8rst di9erence is O(h2 ) using the mean value theorem and Theorem 2, and the second di9erence
is O(h2 ) using Theorem 1.

The Corollary of Theorem 2 and an argument as in the Corollary of Theorem 1 show that the
centres of curvature at the endpoints BC and BD are O(h2 ) apart. Eqs. (3.1) ensure that the centres of
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 69

CB 1
kB

 170 
Fig. 5. Straight line to circle with a single clothoid, n = 4, kA = 0, kB = 0:00833333, CB = 150
, SC = 302:341, SD = 311:810.

curvature at endpoints BC and BD have the same y-component. An O(h2 ) translation of the discrete
clothoid is needed to make the centres of curvature at endpoints BC and BD coincide. With this
translation, points on the clothoid and on the discrete clothoid with the same parameter k still will
be O(h2 ) apart.
Fig. 5 shows a line and a circle between which both a clothoid and a discrete clothoid with 5
arcs form a transition. The clothoid is shown in black and the discrete clothoid in grey. The discrete
clothoid is indistinguishable from the clothoid in that diagram except at the endpoints.
A better comparison between the two curves than comparing points with corresponding k values
would be a comparison of points on the clothoid to the nearest points on the discrete clothoid. For
any point on the clothoid, one can End which sector of the discrete clothoid corresponds to it. The
nearest point on the discrete clothoid can be found from the centre of the sector and its radius. This
gives a perpendicular distance from a point on the clothoid to a point on the discrete clothoid. These
nearest points would not have the same parameter k, but would be closer than points with the same
k. Thus, O(h2 ) is an upper bound on the distance between these nearest points. For Table 1, the

Table 1
Maximum scaled perpendicular distance from clothoid to discrete clothoid
for various n in the straight line to circle case illustrated in Fig. 5

n Maximum distance (scaled)

4 1:039 · 10−3
8 2:066 · 10−4
16 4:568 · 10−5
32 1:078 · 10−5
70 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

data illustrated in Fig. 5 was used and the closest distance from the clothoid to the discrete clothoid
was calculated at 100 k values in the clothoid, kA 6 k 6 kB . The maximum distance divided by the
length of the clothoid is shown.
The numerical results in Table 1 show how surprisingly close the discrete clothoid is to the
clothoid and show that the distance between them behaves as O(h2 ), h = 1=n, as proven in this
section.

4. Circle to circle with a single clothoid

In the second arrangement [8], a single clothoid and a single discrete clothoid are used as transition
curves from one circle of curvature kA ¿ 0 to another circle of curvature kB . Let the distance between
the centres of those circles CA and CB be d. Let the arc length of the clothoid be SC and let the
arc length of the discrete clothoid be SD . The equations to solve are from (2.8) and (2.21)

M+ (SC ; kA ; kB ) = d; N+ (SD ; kA ; kB ; n) = d: (4.1)

A solution exists if the appropriate expressions change sign as SC and SD vary from SA to SB . The
monotone behaviours of M(S; kA ; kB ) and N(S; kA ; kB ; n), (2.9) and (2.22), mean that if a solution
exists, it is unique.
A slight modiEcation of Theorem 1 is needed here. From a standard inequality
 
M+ (S; kA ; kB ) − N+ (S; kA ; kB ; n) ¿ M+ (S; kA ; kB ) − N+ (S; kA ; kB ; n) ;

and from Theorem 1, (2.8) and (2.21), M+ (S; kA ; kB ) − N+ (S; kA ; kB ; n) = O(h2 ). It follows that
 
M+ (S; kA ; kB ) − N+ (S; kA ; kB ; n) = O(h2 );

and the lengths of M+ (S; kA ; kB ) and N+ (S; kA ; kB ; n) are within O(h2 ).

Theorem 3. If a clothoid of arc length SC and a discrete clothoid with n+1 arcs of total arc length
SD both have the same starting and ending curvatures kA and kB , are both in standard position
(A at the origin and the tangent vector at A along the positive X-axis), and both have the same
distance between centres of curvatures at their respective endpoints, then SC − SD = O(h2 ), where
h = 1=n.

Proof. Subtracting the Eqs. (4.1) and introducing two terms,

M+ (SC ; kA ; kB ) − N+ (SD ; kA ; kB ; n) = 0

so

M+ (SC ; kA ; kB ) − M+ (SD ; kA ; kB ) + M+ (SD ; kA ; kB ) − N+ (SD ; kA ; kB ; n) = 0:

The mean value theorem gives the Erst pair of terms as a multiple of SC − SD , while the above
modiEcation of Theorem 1 gives the second pair of terms as O(h2 ). This proves the theorem.
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 71

CA

1
CB kB

1
kA

 99:4882   184:633 
Fig. 6. Circle to circle with a single clothoid, n = 4, kA = 0:00392699, CA = 261:157
, kB = 0:00785398, CB = 175:304
,
SC = 200, SD = 206:387.

Corollary. The distance between points on the clothoid and on the discrete clothoid in Theorem 3
with the same parameter k is

C(k; SC ; kA ; kB ) − D(k; SD ; kA ; kB ; n)
=[C(k; SC ; kA ; kB ) − C(k; SD ; kA ; kB )] + [C(k; SD ; kA ; kB ) − D(k; SD ; kA ; kB ; n)]
=O(h2 ) + O(h2 ) = O(h2 ):

The 8rst di9erence is O(h2 ) using the mean value theorem and Theorem 3, and the second is O(h2 )
using Theorem 1.

The Corollary of Theorem 3 and an argument as in the Corollary of Theorem 1 show that the
respective endpoints BC and BD and the centres of curvature at those endpoints are O(h2 ) apart. If the
discrete clothoid is rotated about the centre of curvature at A (these centres coincide in the standard
position) so that the centres of curvature at the endpoints BC and BD coincide, the rotation will be
O(h2 ). This means that points on the clothoid and the discrete clothoid with the same parameter k
still will be O(h2 ) apart.
Fig. 6 shows two circles between which both a clothoid and a discrete clothoid with 5 arcs form a
transition. The clothoid is shown in black and the discrete clothoid in grey. The clothoid and discrete
clothoid in Fig. 6 are compared as in Section 3 and the results are shown in Table 2. Again, the
results are of extremely high accuracy and exhibit an O(h2 ) asymptotic behaviour.
72 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

Table 2
Maximum scaled perpendicular distance from clothoid to discrete clothoid
for various n in the circle to circle case illustrated in Fig. 6

n Maximum distance (scaled)

4 3:232 · 10−4
8 6:383 · 10−5
16 1:406 · 10−5
32 3:322 · 10−6

5. Circle to circle with two clothoids forming an S-curve

In the third arrangement [8], a pair of clothoids forming an S-shape and a pair of discrete clothoids
forming an S-shape are used as transition curves from one circle of unsigned curvature kA to another
circle of unsigned curvature kB . Let the distance between the centres of the circles CA and CB be
d. Let the total arc length of the pair of clothoids be SC and let the total arc length of the pair of
discrete clothoids be SD . Let the points of contact of the clothoids on the circles be TA and TB and
let the join point of the pair of clothoids, where the curvature is zero, be Z.
Choose the arc lengths of the Erst and second clothoids in the proportion kB : kA so that the
arc length of the Erst clothoid is [kB =(kA + kB )]SC and the arc length of the second clothoid is
[kA =(kA + kB )]SC . This somewhat arbitrary choice simpliEes formulas and results in Z being on the
line joining the centres of the two circles (see Fig. 7). To prove the latter statement, consider the two
triangles TA ZCA and TB ZCB . Since the clothoids are scaled versions of each other, these triangles
are similar, and since the clothoids have a common tangent at Z, the line CA ZCB is straight and
the point Z divides CA CB in the proportion kB : kA .
Now assume the second clothoid of the pair is in standard position and let the endpoints of the
two clothoids be AC and BC . This alignment will cause Z to be at the origin, TA =AC , and TB =BC .
Let MA (SC ) and MB (SC ) be the vectors from the origin to the centres of curvature at AC and BC ,
 
k A SC kB
MB (SC ) = M ; 0; kB ; MA (SC ) = − MB (SC ):
kA + k B kA
The equation to solve for SC is
kB
fC (SC ) = MA (SC ) + MB (SC ) = MB (SC ) + MB (SC )
kA
kA + kB
= MB (SC ) = d:
kA
If the appropriate expression changes sign as [kA =(kA +kB )]SC varies from 0 to sB , there is a solution
to the equation. The function fC is monotone increasing (2.9), so if a solution exists, it is unique.
For each of the pair of discrete clothoids, use n + 1 arcs and arrange to have the two discrete
clothoids in the proportion kB : kA . As above, the join point divides the line joining CA and CB in
proportion kB : kA , so the join point is Z. With the second discrete clothoid in standard position, let
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 73

CB

1
kB

TA Z
TB

1
kA

CA

Fig. 7. Circle to circle with  a pair of clothoids forming an S-curve, n = 4; kA = 0:00833333;
CA = 100
100
; k B = 0:01; C B = 300
300
; SC = 310:829; SD = 313:056.

the endpoints of the two clothoids be AD and BD . The equation for SD is found using analysis
similar to the above and the following theorem results.

Theorem 4. If two S-shaped curves made from a pair of clothoids of total arc length SC and from
a pair of discrete clothoids with n + 1 arcs and of total arc length SD both have the same starting
and ending curvatures, both have join points (points of zero curvature) at the origin and tangent
vectors at those points along the X -axis, and both have the same distance between the centres of
curvatures at their respective endpoints, then SC − SD = O(h2 ), where h = 1=n.

It can be shown that the pair of points AC ; AD and the pair of points BC ; BD , and the centres of
curvature at those pairs of endpoints, are all O(h2 ) apart. If the discrete clothoid pair is translated
so that the centre of curvature at AD coincides with the centre of curvature at AC , and is rotated
about the centre of curvature at AC so that the centre of curvature at BD coincides with the centre
of curvature at BC , both transformations will be O(h2 ). That means points with the same parameter
k on the clothoid pair and the discrete clothoid pair still will be O(h2 ) apart.
Fig. 7 shows two circles between which an S-shaped pair of clothoids and an S-shaped pair of
discrete clothoids, each with 5 arcs, form a transition. The pair of clothoids is shown in black and
the pair of discrete clothoids is shown in grey. The pair of clothoids and pair of discrete clothoids
in Fig. 7 are compared as in Section 3 and the results are shown in Table 3. Again, the results are
of extremely high accuracy and exhibit O(h2 ) asymptotic behaviour.
74 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

Table 3
Maximum scaled perpendicular distance from clothoid to discrete clothoid
for various n in the circle to circle with an S-curve case illustrated in Fig.
7

n Maximum distance (scaled)

4 4:950 · 10−4
8 1:084 · 10−4
16 2:569 · 10−5
32 6:213 · 10−6

6. Circle to circle with two clothoids forming a C -curve

In the fourth arrangement [8], a pair of clothoids forming a C-shape and a pair or discrete clothoids
forming a C-shape are used as transition curves from one circle of unsigned curvature kA to another
circle of unsigned curvature kB . Let the distance between the centres of the circles CA and CB be
d. Let the total arc length of the pair of clothoids be SC and let the total arc length of the pair of
discrete clothoids be SD .
Choose the arc lengths of the Erst and second clothoid in the proportion kB : kA . Now assume the
second clothoid of the pair is in standard position and let the endpoints of the two clothoids be AC
and BC . Let MA (SC ) and MB (SC ) be the vectors from the origin to the centres of curvature at AC
and BC ,
   
k A SC kB −MB (SC )x
MB (SC ) = M ; 0; kB ; MA (SC ) = :
kA + k B kA MB (SC )y
The equation to solve for SC is
   
 MB (SC )x kB −MB (SC )x 

fC (SC ) = MB (SC ) − MA (SC ) =  − 
 MB (SC )y kA MB (SC )y 

1
= ((kA + kB )MB (SC )x )2 + ((kA − kB )MB (SC )y )2 = d:
kA
If the appropriate expression changes sign as [kA =(kA +kB )]SC varies from 0 to sB , there is a solution
to the equation. The function fC is monotone increasing (2.9), so if a solution exists, it is unique.
For the discrete clothoid, use n + 1 arcs in each part of the C-curve and arrange to have the two
discrete clothoids in the proportion kB : kA . With the second discrete clothoid in standard position,
let the endpoints of the two discrete clothoids be AD and BD . The equation for SD is found using
analysis similar to the above and the following theorem results.

Theorem 5. If two C-shaped curves made from a pair of clothoids of total length SC and made
from a pair of discrete clothoids with n + 1 arcs and of total length SD both have their join
points (points of zero curvature) at the origin and the tangent vectors at the those points along
the X-axis, both have the same starting and ending curvatures, and both have the same distance
between centres of curvatures at their respective endpoints, then SC − SD = O(h2 ), where h = 1=n.
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 75

CA CB

1
kB
1
kA

 100 
Fig. 8. Circle to circle with two clothoids forming a C-curve, n = 4; kA = 0:00555556; CA = ; kB = 0:00666667,
  200
CB = 300200
; SC = 399:747, SD = 399:284.

Table 4
Maximum scaled perpendicular distance from clothoid to discrete clothoid
for various n in the circle to circle with a C-curve case illustrated in Fig.
8

n Maximum distance (scaled)

4 1:157 · 10−3
8 3:920 · 10−4
16 9:795 · 10−5
32 2:447 · 10−5

It can be shown that points with the same parameter k on the clothoid pair and the discrete
clothoid pair are O(h2 ) apart. If the C-curve made of a pair of discrete clothoids is translated so
the centre of curvature at AD coincides with the centre of curvature at AC , and is rotated about the
centre of curvature at AC so that the centre of curvature at BD coincides with the centre of curvature
at BC , both transformations are O(h2 ). That means points with the same parameter k on the clothoid
pair and the discrete clothoid pair still will be O(h2 ) apart.
Fig. 8 shows two circles between which both a C-shaped pair of clothoids and a C-shaped pair
of discrete clothoids, each with 5 arcs, form a transition. The pair of clothoids is shown in black
and the pair of discrete clothoids in grey. The pair of clothoids and the pair of discrete clothoids in
Fig. 8 are compared as in Section 3 and the results are shown in Table 4. Again, the results are of
extremely high accuracy and exhibit O(h2 ) asymptotic behaviour.
76 D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77

Fig. 9. An example route using discrete clothoids as transition curves.

7. Example and conclusions

Fig. 9 shows an example of using discrete clothoids as transition curves to form a highway route.
Starting from the left, the route follows a straight line (grey) (along the X -axis),
 59:7613  then a discrete
clothoid (black) joins it to the Erst circle (grey) (curvature 0.008, centre 128:109 ). The route follows
the Erst circle, then a pair of discrete
 clothoids in an S-shape (black) joins it to the second circle
(grey) (curvature 0.012, centre 263:670 ). The route follows the second circle, then a pair of discrete
56:4850  
clothoids in a C-shape (black) joins it to the third circle (grey) (curvature 0.012, centre 312:542 66:3918
).
The route follows the third circle, then a discrete clothoid (black) joins it to the second straight line
 
(grey) (expressed parametrically as 386:049 114:960
+ t cos (−0:7)
sin(−0:7) ). The route in Fig. 9 perhaps overuses
discrete clothoids as many highway routes are mainly straight lines and circular arcs joined by short
transition curves.
In this paper, it is shown that the clothoid can be replaced by a discrete clothoid and a very high
accuracy is achieved even when the discrete clothoid has a small number of arcs. In the examples
presented here with discrete clothoids of 5 arcs, the deviation of the discrete clothoid from the
clothoid it approximated is around 0.001 of the length of the clothoid. The asymptotic result allows
one to estimate how many arcs would be needed for a given required accuracy.

Acknowledgements

The authors appreciate the useful comments from two anonymous referees; their advice helped
improve the presentation of this paper. The authors acknowledge the Enancial support of the Natural
Sciences and Engineering Research Council of Canada for this research.

References

[1] K.G. Baass, The use of clothoid templates in highway design, Transportation Forum 1 (1984) 47–52.
D.S. Meek, D.J. Walton / Journal of Computational and Applied Mathematics 170 (2004) 59 – 77 77

[2] R.L. Burden, J.D. Faires, Numerical Analysis, 4th Edition, PWS-Kent Publishing Company, Boston, 1989.
[3] P.J. Davis, Spirals: from Theodorus to Chaos, A.K. Peters, Wellesley, Maine, 1993.
[4] M.A. Heald, Rational approximations for the Fresnel integrals, Math. Comp. 44 (1985) 459–461; errata 46 (1986)
771.
[5] T.F. Hickerson, Route Location and Design, McGraw-Hill Book Company, New York, 1964.
[6] B.K.P. Horn, The curve of least energy, ACM Trans. Math. Software 9 (1983) 441–460.
[7] E. Jahnke, F. Emde, Tables of Functions with Formulae and Curves, 4th Edition, Dover Publications, New York,
1945.
[8] D.S. Meek, D.J. Walton, The use of Cornu spirals in drawing planar curves of controlled curvature, J. Comput.
Appl. Math. 25 (1989) 69–78.
[9] D.S. Meek, D.J. Walton, Approximation of discrete data by G1 arc splines, Comput. Aided Des. 24 (1992)
301–306.
[10] D.S. Meek, D.J. Walton, Approximating smooth planar curves by arc splines, J. Comput. Appl. Math. 59 (1995)
221–231.
[11] E. Mehlum, Nonlinear splines, in: R.E. Barnhill, R.F. RiesenEeld (Eds.), Computer Aided Geometric Design,
Academic Press, New York, 1974.
[12] L.A. Piegl, W. Tiller, Biarc approximation of NURBS curves, Comput. Aided Des. 34 (2002) 807–814.
[13] W.H. Press, Numerical Recipes in C++: The Art of ScientiEc Computing, 2nd Edition, Cambridge University Press,
Cambridge, 2002.
[14] J. SFanchez-Reyes, J.M. ChacFon, Polynomial approximation to clothoids via s-power series, Comput. Aided Des. 35
(2003) 1305–1313.
[15] L.Z. Wang, K.T. Miura, E. Nakamae, T. Yamamoto, T.J. Wang, An approximation approach of the clothoid curve
deEned in the interval [0; =2] and its o1set by free-form curves, Comput. Aided Des. 33 (2001) 1049–1058.

You might also like