Computation of Shortest Paths On Free-Form Parametric Surfaces
Computation of Shortest Paths On Free-Form Parametric Surfaces
Abstract
Computation of shortest paths on free-form surfaces is an important problem in ship design, robot motion plan-
ning, computation of medial axis transforms of trimmed surface patches, terrain navigation and NC machining.
The objective of this paper is to provide an ecient and reliable method for computing the shortest path be-
tween two points on a free-form parametric surface and the shortest path between a point and a curve on a
free-form parametric surface. These problems can be reduced to solving a two point boundary value problem.
Our approach for solving the two point boundary value problem is based on a relaxation method relying on nite
dierence discretization. Examples illustrate our method.
Keywords: geodesics, boundary value problem, nite dierence method, relaxation method
1 Introduction
The history of geodesic lines begins with the study by Johann Bernoulli, who solved the problem of the shortest
distance between two points on a convex surface in 1697, according to [15]. He showed that the osculating plane
of the geodesic line must always be perpendicular to the tangent plane. The equation of the geodesics was rst
obtained by Euler (1732) for a surface given by F (x; y; z ) = 0. His attention to the problem was due to Johann
Bernoulli, probably through the aid of his nephew Daniel, who was at St. Petersburg with Euler [14]. Bliss [2]
obtained the geodesic lines on the anchor ring, which has a torus shape, analytically. Munchmeyer and Haw
[10] were the rst to introduce the geodesic curve to the CAGD community. They applied the geodesic curve
in ship design, namely to nd out the precise layout of the seams and butts in the ship hull. Beck et al [1]
computed both the initial-value integration and boundary-value integration of geodesic paths, using the fourth
order Runge-Kutta method on a bicubic spline surface. However their paper does not provide any details of the
shooting method for the solution of the boundary value problem. Patrikalakis and Bardis computed geodesic
osets of curves on rational B-spline surfaces using the initial-value integration [11]. One application of such
osets is automated construction of linkage curves for free-form procedural blending surfaces. Sneyd and Peskin
[13] investigated the computation of geodesic paths on a generalized cylinder as initial value problem using a
second order Runge-Kutta method. Their work was motivated by constructing the great vessels of the heart out
of geodesic bers. Very recently, Kimmel et al. [7] presented a new numerical method for nding the shortest
path on surfaces by calculating the propagation of an equal geodesic-distance contour from a point or a source
region on the surface. The algorithm works on a rectangular grid using the nite dierence approximation. The
shortest path problem is also very active among the robot motion planning and terrain navigation communities,
1
however they usually represent the surface as a polyhedral surface and solve the problem in the eld of linear
computational geometry [9].
In this work a new approach for nding the shortest path between two points on a free-form parametric surface
is introduced. Also a method for computing the shortest path between a point and a curve on a free-form surface
is described. The geodesic path between two points is obtained by rst discretizing the governing equations
by nite dierence on a mesh with m points. Secondly we start with an initial guess and improve the solution
iteratively or in other words relax to the true solution. The shortest path between a point and a curve is obtained
in a similar way but with nested iterations, since we do not know the point on the curve which forms the shortest
path beforehand.
This paper is structured as follows. Section 2 begins with a brief review of relevant dierential geometry properties
of geodesics on a parametric surface. Section 3 describes the nite dierence approach to the two point boundary
value problem. Section 4 explains how to obtain a good initial approximation for the two point boundary value
problem and provides a robust algorithm to nd all the geodesic paths between two points on a surface. Section 5
discusses an algorithm to obtain a geodesic path from a point to a curve on a surface. Finally, section 6 illustrates
our method with examples and concludes the paper.
P
S u
t kg
n C
kn
2
Here n and g are the normal and geodesic curvatures, respectively and dened as follows:
n = ;k N (4)
g = k u (5)
The minus sign in equation (4) ensures that if n is positive, the center of curvature lies opposite to the direction
of the surface normal. Consequently,
dt (N t)
g = ds (6)
The unit tangent vector of the curve C can be obtained by dierentiating equation (2) with respect to the arc
length.
t = dr(u(s); v(s)) = r du + r dv
ds u ds v ds (7)
where the chain rule is used and the subscripts u and v denote the rst partial derivatives with respect to u and
v parameter respectively. Hence
dt = r du 2 + 2r du dv + r dv 2 + r d2 u + r d2 v
ds uu ds uv ds ds vv ds u ds2 v ds2 (8)
so that
3 du 2 dv
du dv 2
g = [(ru ruu ) du
ds + (2 r r
u uv + r r )
v uu ds ds + (r r
u vv + 2 r r )
v uv ds ds
dv 3 du d2 v d2 u dv
+ (rv rvv ) ds ] N + (ru rv ) N ds ds2 ; ds2 ds (9)
; 3 , ; du 2 dv , du ; dv 2 , ; dv 3, du d v ; d u dv are all functions
We can easily notice that the coecients of du
2 2
ds ds ds ds ds ds ds ds 2 ds ds2
of the coecients of the rst fundamental form E , F and G and their derivatives, Eu , Fu , Gu , Ev , Fv , Gv . It
is interesting to note that the normal curvature n depends on both the rst and second fundamental forms,
while the geodesic curvature depends only on the rst fundamental form. Using the Christoel symbols ;ijk
(i; j; k = 1; 2) dened as follows
;111 = GEu2(;EG 2FFu + FEv ; ;2 = 2EFu ; EEv + FEu
; F 2) 11 2(EG ; F 2 )
;112 = GE v ; FGu ;212 = EG u ; FEv
2(EG ; F 2 ) ; 2(EG ; F 2 ) (10)
;122 = 2GF2( v ; GGu + FGv ; ; 222 = EGv ; 2FFv + FGu
EG ; F ) 2 2(EG ; F 2 )
geodesic curvature can be reduced to
du 3 du 2 dv du
dv 2
2 2 1
g = [;11 ds + (2;12 ; ;11 ) ds ds + (;22 ; 2;12 ) ds ds 2 1
3 du d2 v d2 u dv p
; ;122 dv ds + ds ds2 ; ds2 ds ] EG ; F
2 (11)
Geodesic paths are sometimes dened as shortest path between points on a surface, however this is not always a
satisfactory denition. In this paper we dene as follows [15]:
Denition 2.1 Geodesics are curves of zero geodesic curvature.
In other words, the osculating planes of a geodesic contain the surface normal. From this denition we can easily
see that the geodesic between two points on a sphere is a great circle. But there are two arcs of a great circle
between two of their points, and only one of them provides the shortest distance, except that the two points are
3
the end points of a diameter. This example indicates that there may exist more than one geodesic between two
points.
According to the denition, we can determine the dierential equation that any geodesic on a surface must satisfy
by simply setting g = 0 in equation (11) and obtain
du d2 v ; d2 u dv = ;;2 du 3 ; (2;2 ; ;1 ) du 2 dv + (2;1 ; ;2 ) du dv 2 + ;1 dv 3 : (12)
ds ds2 ds2 ds 11 ds 12 11 ds ds 12 22 ds ds 22 ds
Alternatively we can derive the dierential equation for geodesics by considering that the surface normal N has
the direction of normal of the geodesic line n
n ru = 0; n rv = 0: (13)
dt , equation (13) can be rewritten as
Since kn = ds
dt dt
ds ru = 0; ds rv = 0 (14)
By substituting equation (8) into equations (14) we obtain
du 2 du dv
dv 2 d2u d2 v
(ruu ru ) ds + 2(ruv ru ) ds ds + (rvv ru ) ds + E ds2 + F ds2 = 0 (15)
2
du dv + (r r ) dv 2 + F d2 u + G d2 v = 0
(ruu rv ) du
ds + 2( r r )
uv v ds ds vv v ds ds2 ds2 (16)
By eliminating ddsv from equation (15) using equation (16), and eliminating ddsu from equation (16) using equation
2 2
2 2
(15) and employing the Christoel symbols, we obtain
d2 u + ;1 du 2 + 2;1 du dv + ;1 dv 2 = 0
ds2 11 ds 12 ds ds 22 ds (17)
d2 v + ;2 du 2 + 2;2 du dv + ;2 dv 2 = 0
ds2 11 ds 12 ds ds 22 ds (18)
Equations (17) and (18) are related by the rst fundamental form ds2 = Edu2 + 2Fdudv + Gdv2 and if we
eliminate ds from both equations, the equations reduce to equation (12) with u taken as parameter. These two
second order dierential equations can be rewritten as a system of four rst order dierential equations [3].
du = p (19)
ds
dv = q (20)
ds
dp = ;;111p2 ; 2;112 pq ; ;122 q2 (21)
ds
dq = ;;211p2 ; 2;212 pq ; ;222 q2 (22)
ds
4
It is convenient to write a system of dierential equations in vector form, since we can describe the equations for
systems as just for a single vector equation. If we set
y = (y1; y2; : : : ; yn)T ; g = (g1 ; g2; : : : ; gn)T (23)
= (1 ; 2 ; : : : ; n )T ; = (1 ; 2 ; : : : ; n )T (24)
s 2 [A; B ] (25)
Then the general rst order dierential equation for a boundary value problem can be written as:
dy = g(s; y); y(A) = ; y(B ) = (26)
ds
(27)
There are two commonly used approaches to the numerical solution of BVP. The idea of the rst technique is
that if all values of y(s) are known at s = A, then the problem can be reduced to an IVP. However, y(A) can
be found only by solving the problem. Therefore an iterative procedure must be used. We assume values at
s = A, which are not given as boundary conditions at s = A and compute the solution of the resulting IVP
to s = B . The computed values of y(B ) will not, in general, agree with the corresponding boundary condition
at s = B . Consequently, we need to adjust the initial values and try again. The process is repeated until the
computed values at the nal point agree with the boundary conditions and referred as shooting method. The
second method is based on a nite dierence approximation to ddsy on a mesh of points in the interval [A; B ].
This method starts with an initial guess and improves the solution iteratively and referred as, direct method,
relaxation method or nite dierence method. We have implemented both methods and found that the nite
dierence method is much more reliable than the shooting method. The shooting method is often very sensitive
to the unknown initial angles at point A and unless a good initial guess is provided, the integrated path will
never reach the other point B , while the nite dierence method starts with two end points xed and relaxes to
the true solution and hence it is much more stable. Therefore we will focus only on the nite dierence method.
Let us consider a mesh of points satisfying A = s1 < s2 < : : : < sm = B . We approximate the n rst order
dierential equations by the trapezoidal rule [5].
Yk ; Yk;1 = 1 [G + G ]; k = 2; 3; : : : ; m (28)
sk ; sk;1 2 k k;1
with boundary conditions
Y1 = ; Ym = (29)
Here the n-vectors Yk , Gk are meant to approximate y(sk ) and g(sk ). Y1 has n1 known components, while
Ym has n2 = n ; n1 known components. This discrete approximation will be accurate to the order of h2
(h = maxk fsk ; sk;1 g). Equation (28) forms a system of (m ; 1)n nonlinear algebraic equations with mn
unknowns Yk = (Y1 ; Y2 ; : : : ; Yn )Tk (k = 1; : : : ; m). The remaining n equations come from boundary conditions
(29). Let us refer to equation (28) as
Fk = (F1;k ; F2;k ; : : : ; Fn;k )T = Ysk ;; sYk;1 ; 12 [Gk + Gk;1 ] = 0; k = 2; 3; : : : ; m (30)
k k;1
and equations (29) as
F1 = (F1;1 ; F2;1; : : : ; Fn ;1)T = Y1 ; = 0; Fm+1 = (F1;m+1; F2;m+1 ; : : : ; Fn ;m+1)T = Ym ; = 0 (31)
1 2
5
where [J(i) ] is the mn by mn Jacobian matrix of F(i) with respect to Y(i) .
If we apply this nite dierence method to the geodesics path problem, we have
y = (y1; y2; y3; y4)T = (u; v; p; q)T (35)
g = (g1; g2; g3; g4)T = (p; q; ;;111p2 ; 2;112pq ; ;122q2 ; ;;211p2 ; 2;212pq ; ;222q2)T (36)
hence
F1;k = uk ; uk;1 ; 12 (sk ; sk;1 )(pk + pk;1 ) = 0 (37)
F2;k = vk ; vk;1 ; 12 (sk ; sk;1 )(qk + qk;1 ) = 0 (38)
F3;k = pk ; pk;1 + 21 (sk ; sk;1 )(;111;k p2k + 2;112;k pk qk + ;122;k qk2
+ ;111;k;1 p2k;1 + 2;112;k;1 pk;1 qk;1 + ;122;k;1 qk2;1 ) = 0 (39)
1
F4;k = qk ; qk;1 + 2 (sk ; sk;1 )(;211;k p2k + 2;212;k pk qk + ;222;k qk2
+ ;211;k;1 p2k;1 + 2;212;k;1 pk;1 qk;1 + ;222;k;1 qk2;1 ) = 0 (40)
for k = 2; 3; : : :; m. Note that the mesh points are dened in 3D space and not on the parameter domain. In
this paper we assume that the coordinates of the two end points A and B in the parameter domain are given as
follows:
F1;1 = u1 ; uA = 0 (41)
F2;1 = v1 ; vA = 0 (42)
F1;m+1 = um ; uB = 0 (43)
F2;m+1 = vm ; vB = 0 (44)
Now we can evaluate the Jacobian Matrix [J]. Since Fk are evaluated using information from points k and k ; 1,
we only need to evaluate
@Fi;k @Fi;k
@Yj;k;1 ; @Yj;k ; i; j = 1; 2; 3; 4 k = 2; 3; : : : ; m (45)
for non-boundary equations. For the two boundary points A and B , we evaluate
@Fi;1 ; @Fi;m+1 ; i = 1; 2 j = 1; 2; 3; 4 (46)
@Yj;1 @Yj;m
Therefore the Jacobian matrix has a banded structure or more specically it has the following block structure.
0 B1 1
BB A2 B2 CC
BB A3 B3 CC
BB A4 CC
BB CC (47)
BB CC
BB CC
B@ Bm;1 CA
Am Bm
Am+1
where Ak , Bk (k = 2; : : : ; m) are 44 submatrices obtained by evaluating equations (45) and B1 , Am+1 are
24 submatrices obtained by evaluating equations (46). The columns correspond to mesh points, while the rows
correspond to equations. If we set
hk = sk ; sk;1 (48)
!kj ;1 = ;j11;k;1 pk;1 + ;j12;k;1 qk;1 ; j = 1; 2 (49)
6
!kj = ;j11;k pk + ;j12;k qk ; j = 1; 2 (50)
kj ;1 = ;j12;k;1 pk;1 + ;j22;k;1 qk;1 ; j = 1; 2 (51)
kj = ;j12;k pk + ;j22;k qk ; j = 1; 2 (52)
(53)
then Ak , Bk , B1 and Am+1 can be written as follows:
0 ;1 0 [; h2k ] 0
1
Ak = B
B 0 ;1 0 [; h2k ] CC
@ 0 0 hk !k1;1 ; 1 hk k1;1 A ; k = 2; : : : ; m (54)
0 10 00 hk !k2;1 hk k2;1 ;11
;2 h k 0
Bk = B
B 0 1 0 ; hk
2
CC
@ [0] 0 hk !k1 + 1 hk k1 A ; k = 2; : : : ; m (55)
[1]0 [0] hk !k2 hk k2 + 1
B1 = 0 0 0 (56)
0 [1] 0 0
1 0 [0] 0
Am+1 = 0 1 0 [0] (57)
Here the arc length hk is approximated by the chord length. The elements surrounded by the brackets [ ] in
the submatricies correspond to diagonal elements in the global matrix. The linear system (34) can be solved by
a special form of Gaussian elimination technique to minimize the total number of operations [12]. Since there
are zero pivot elements in the submatrices Bk and Am+1 , we need to interchange columns so that there will be
only nonzero elements on the diagonal to ensure numerical stability. The columns which include the zero pivot
elements are columns (4k ; 3), (4k ; 2) (k = 2; : : : ; m), (4m ; 1) and 4m. If we interchange the columns (4k ; 3)
by (4k ; 1) and (4k ; 2) by (4k) for (k = 2; : : : ; m), we obtain
0 ; h2k 0 [;1] 0
1
Ak = B
B 0 ; h2k 0 [;1] C C
@ hk !k1;1 ; 1 1
hk k;1 0 0 A ; k = 3; : : : ; m (58)
2 hk k2;1 ; 1
0 h;k !hkk;1 0 1
0
0
10
2
B
B
Bk = @ [h !1 + 1] 0 ; h2k 0 1 C C
k k h
k k 1 0 0 A ; k = 2; : : : ; m (59)
2 2
0 hk !0k [1] [hk 0k + 1] 0 0
Am+1 = 0 0 0 [1] : (60)
Consequently the correction vector Y becomes as follows:
Y = (u1 ; v1 ; p1 ; q1 ; p2 ; q2 ; u2; v2 ; : : : ; pm ; qm ; um; vm )T (61)
Since the corrections are based on a rst-order Taylor approximation, a regular Newton method may not be
sucient for a very complex nonlinear surface unless a good initial approximation is provided. If the vector norm
of the correction vector is large, then it is an indication that the problem is highly nonlinear and may produce a
divergent iteration. We shall say that the iteration is converging if k Y(i+1) k1 < k Y(i) k1 , where k Y k1
is a scaled vector norm and dened as
Xm ju j jv j jp j jq j
k Y k 1 = i + i + i + i (62)
i=1 M u M v M p M q
where Mu , Mv , Mp and Mq are the scale factors for each variable. In this work we set Mu = Mv = 1 and
Mp = Mq = 10, since we nd that the magnitude of pi and qi are roughly ten times larger than that of ui
and vi through the numerical experiments. To achieve more stability our method employs a step correction
procedure
Y(i+1) = Y(i) + Y(i) (63)
7
where 0 < 1. If = 1 the equation reduces to a regular Newton's method, while if < 1 the rate of
convergence will be less than quadratic. When the problem is not highly nonlinear, we set
= 0:2 if 0:05 < k 4Y m
k1
tolerance N . The order of N should be proportional to h2 , since we are using the trapezoidal rule (see equation
(28)).
4 Initial Approximation
4.1 Straight Line Approximation
Straight line approximation is the simplest and most often provides a good initial approximation, since it is a
solution to equations (19) to (22) when we neglect all the nonlinear terms in the right hand sides. We connect the
two end points in the parameter space by straight line and dene a uniform mesh or grid by a set of k = 1; 2; : : :; m
points as shown in Figure 2 (a). Therefore we have
uk = uA + umB ; uA (k ; 1) (66)
;1
v B ;
vk = vA + m ; v1A (k ; 1): (67)
If we assume that uA 6= uB then
v (uB,vB)B v B
(uD,vD)
k=m k=m
D (uB,vB)
C
k=1 (uC,vC)
A
A (uA,vA)
u u
k=1
(uA,vA)
(a) (b)
Figure 2: Initial approximations, (a) straight line approximation, (b) circular arc approximation
dv vB ; vA
du = uB ; uA (68)
8
hence
dv = du (69)
ds ds
If we substitute this relation into the rst fundamental form we obtain
du 2 du 2 du 2
E ds + 2F ds + G ds = 1 2 (70)
Thus
pk = du 1
ds = pEk + 2Fk + Gk 2 (71)
qk = dv
ds = p (72)
Ek + 2Fk + Gk 2
When uA = uB , it is easy to nd that pk = 0 and qk = pG1 k . It is well known that conjugate points do not exist
on regions of a surface where Gaussian curvature is negative [15]. Therefore the straight line approximation will
provide good initial approximation to the geodesic path in those regions.
9
Start with two circular arc approximations (YL, YR) as initial vectors
Yes
|L − R|<ε
Add L to the solution list End
No
Add L and R to the solution list and push (L,R) into stack S
Yes
|L − R|<ε
Add L to the solution list
No
Compute a new approximation vector YM by taking the mid points
of L and R, i.e. YM=(L+R)/2
|L − M|<ε Yes
or M moves further left to L
|R − M|<ε Yes
or M moves further right to R
No
Stack S is empty
Yes
Find the shortest path from the list of solution vectors
End
Figure 3: Flow chart of Algorithm A for computing the geodesic path between given two points.
10
as tc and tg , then they can be expressed as follows:
drc (t) ru dudt + rv dvdt
t = drdtc(t) = q du
c (73)
dt ( dt xu + dvdt xv )2 + ( dudt yu + dvdt yv )2
tg = drds(s) = ru du
g dv
ds + rv ds (74)
Therefore the orthogonality condition can be written as
A rg(s)
.
tc
.
B
C
S
tg
rc(t)
!(t) = tc tg
du du E + ( dv du + dv du )F + dv dv G
= qds dt ds dt dt ds ds dt
du dv 2
( dt xu + dt xv ) + ( dt yu + dv
du
dt yv )
2
= 0 (75)
Consequently we need to nd a parameter value tB such that !(tB ) = 0. Since the relationship described above is
implicit, we use the secant method instead of Newton's nmethod to obtain tB . The secant method can be derived
from Newton's method by replacing the derivative d!dt by the quotient (!(n) ; !(n;1) )=(t(n) ; t(n;1) ). This
( )
11
Points Tolerance Correction Factor Iterations Geodesic Distance
m N L M R L M R
101 1.0E-3 eqn. (64) 10 1 10 1.661 1.865 1.661
eqn. (65) 22 1 22
Table 1: Numerical conditions and results for the computation of the geodesic path between corner points of the
wave-like surface.
x
z
Figure 5: Geodesic paths on the wave-like bicubic B-spline surface between points of two corners.
The second example is a biquadratic rational B-spline surface, whose control polyhedron is a lattice of 69
vertices in u, v. This surface was constructed by sweeping a circle of radius 0.5, the generatrix, along a helix
12
y
x
z
Table 2: Numerical conditions and results for the computation of the geodesic path between points on generalized
cylinder
(x = cos t, y = ; sin t, z = t , 0 t 2), the spine, and is approximated by rational B-spline interpolating a
number of generatricies. When we keep u constant, we obtain a curve on the surface which depends only on v.
This curve coincides with the generatrix. Similarly v = constant represents another isoparametric curve which
is parallel to the spine. Two end points are chosen to be (uA; vA )=(0, 0.4) and (uB ; vB )=(1, 0.6) as shown in
Figure 7. In Figure 7 three initial approximations are illustrated by the thin solid lines, while the nal solutions
are illustrated by the thick solid lines. Two circular arcs are determined by setting (uC ; vC ) = (0.578, 0.108),
(uD ; vD ) = (0.422, 0.892). Algorithm A starts with these two circular arcs and converges to the two minimal
geodesic paths which are shown as thick solid lines close to the initial circular arcs. Then the algorithm computes
the mid-points of these solutions, which is shown as a thin straight line connecting the two end points. This
initial approximation converges to a sine wave-like solution. This solution is a geodesic path but it does not
provide the shortest distance. Table 2 shows the list of computational conditions and results as in Table 1. Since
the surface is relatively complex, the constant step correction equation (65) is used.
13
v
Figure 8: Minimal geodesic paths on the generalized cylinder between points of two circular edges.
14
y
z x
Figure 9: Top view of the minimal geodesic paths on the generalized cylinder between points of two circular
edges.
Figure 10: Geodesic path on the generalized cylinder which is not the shortest path.
15
t1 t2 tB m N S Iteration Geodesic Distance
0 0.02 0.2663 101 0.2 0.05 1.0E-3 1.0E-6 16 0.2754
1 0.98 0.7266 101 0.2 0.05 1.0E-3 1.0E-6 14 0.3712
0.4964 0.5164 0.5788 101 0.2 0.05 1.0E-3 1.0E-6 8 0.3874
Table 3: Numerical conditions and results for the computation of the geodesic path between a point and a curve
on wave-like surface
v
A
16
B B’
B"
y
A
Figure 12: Geodesic paths from point A to Bezier curve on the wave-like bicubic B-spline surface.
not necessarily close to the solution vector, which helps to nd all the geodesic paths between two points and a
point to a curve.
Finally, the following topics are recommended for further study.
Adaptive step size: We can achieve greater eciency if we could provide more mesh points where the
variables are changing rapidly to achieve accuracy, while less mesh points should be provided in regions
where the variables are changing slowly. Therefore it is recommended to allocate mesh points during the
relaxation process.
Our algorithms fail once the intermediate path goes outside of the parameter domain. This can be xed
by gluing the surface patches to all the four boundaries.
Acknowledgements
I would like to thank Prof. Patrikalakis for productive discussions. Funding was provided by the Oce of Naval
Research (under grant number N00014-94-1-1001).
f 0 (xi ) = +1
hi + hi+1 (78)
Central Dierence
hi (fi+1 ; fi ) ; hi (fi;1 ; fi )
+1
f 0 (xi ) = hi
+1
h +h
hi (79)
i i+1
17
Backward Dierence
hi+1 f ; hi + hi+1 + 2 + 2 + hi
i+1 fi;1
f (xi ) = hi
0 hi+1 hi
hi + hi+1
hi+1
(80)
References
[1] J. M. Beck, R. T. Farouki, and J. K. Hinds. Surface analysis methods. IEEE Computer Graphics and
Applications, 6(12):18{36, December 1986.
[2] G. A. Bliss. The geodesic lines on the anchor ring. Annals of Mathematics, 4:1{21, October 1902.
[3] G. Dahlquist and A. Bjorck. Numerical Methods. Prentice-Hall, Inc., Englewood Clis, NJ, 1974.
[4] P. M. do Carmo. Dierential Geometry of Curves and Surfaces. Prentice-Hall, Inc., Englewood Clis, New
Jersey, 1976.
[5] J. H. Ferziger. Numerical Methods for Engineering Applications. Wiley, 1981.
[6] H. B. Keller. Numerical Methods for Two-Point Boundary Value Problems. Blaisdell, 1968.
[7] R. Kimmel, A. Amir, and A. M. Bruckstein. Finding shortest paths on surfaces using level sets propagation.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 17(6):635{640, June 1995.
[8] E. Kreyszig. Dierential Geometry. University of Toronto Press, Toronto, 1959.
[9] J. S. B. Mitchell. An algorithmic approach to some problems in terrain navigation. Articial Intelligence,
37:171{201, 1988.
[10] F. C. Munchmeyer and R. Haw. Applications of dierential geometry to ship design. In D. F. Rogers,
B. C. Nehring, and C. Kuo, editors, Proceedings of Computer Applications in the Automation of Shipyard
Operation and Ship Design IV, volume 9, pages 183{196, Annapolis, Maryland, USA, June 1982.
[11] N. M. Patrikalakis and L. Bardis. Osets of curves on rational B-spline surfaces. Engineering with Computers,
5:39{46, 1989.
[12] W. H. Press et al. Numerical Recipes in C. Cambridge University Press, 1988.
[13] J. Sneyd and C. S. Peskin. Computation of geodesic trajectories on tubular surfaces. SAIM Journal of
Scientic Statistical Computing, 11(2):230{241, March 1990.
[14] D. J. Struik. Outline of a history of dierential geometry. Isis, 19:92{120, 1933.
[15] D. J. Struik. Lectures on Classical Dierential Geometry. Addison-Wesley, Cambridge Mass., 1950.
[16] F.-E. Wolter. Cut Loci in Bordered and Unbordered Riemannian Manifolds. PhD thesis, Technical University
of Berlin, Department of Mathematics, December 1985.
18