An Arc Spline Approximation To A Clothoid
An Arc Spline Approximation To A Clothoid
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
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).
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:
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
2.1. Clothoid
• 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
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
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
BD
1 S
kB 2n
wn
w0 1
2w1 2wn-1 S
kn-1
n
1 ...
kA 1
k1
S
A S n
2n
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
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
where h = 1=n.
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
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.
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.
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
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.
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)
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 );
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.
so
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
4 3:232 · 10−4
8 6:383 · 10−5
16 1:406 · 10−5
32 3:322 · 10−6
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
4 4:950 · 10−4
8 1:084 · 10−4
16 2:569 · 10−5
32 6:213 · 10−6
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
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 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.