
478 Chapter 10 Distance in 3D
to evolve over time. The evolution is based on a model of heat flow and has been
studied extensively in the literature under the topic of Euclidean curve shortening.
The ideas also apply to many other areas, particularly to computer vision and image
processing (ter Haar Romeny 1994). The evolving curve is represented as X(s, t),
where s is the arc length parameter and t is the time of evolution. The end points
of the curve are always the two input points, P and Q. In the plane, the idea is
to allow the curve to evolve according to the linear heat equation
X
t
=
X
ss
,where
X
t
is the first-order partial derivative of X with respect to t and
X
ss
is the second-
order partial derivative of X with respect to s. Although X is a point quantity, the
derivatives are vector quantities; hence the use of vector caps on the derivatives. The
limit of the curve as t becomes infinite will be the line segment connecting P and Q.
Any initial curve X(s,0) = C(s) connecting the two points is viewed as a curve that
is “stretched” from its natural state. As time increases, the curve is allowed to “relax”
into its natural state, in this case the line segment connecting the points.
For a surface, the evolution is slightly more complicated:
X
t
=
X
ss
− (
X
ss
·ˆn) ˆn, t>0
X(s,0) =C(s),
X(0, t) = P , X(L(t), t) = Q
(10.20)
The vector ˆn(s, t) is the surface normal at the associated point X(s, t) on the sur-
face. The evolving curve is required to stay on the surface. Any point X(s, t) can only
be moved tangentially to the surface. The movements are determined by the time
derivative
X
t
,so
X
t
must be a tangent vector to the surface. The right-hand side of
the evolution equation has the diffusion term
X
ss
, but observe that the correction
term involving the normal vector simply projects out any contribution by
X
ss
in the
normal direction, leaving only tangential components, as desired. The initial curve
connecting the points is C(s). The length of X(s, t) is denoted by L(t). The bound-
ary conditions are the two constraints that the end points of the curve X(s, t) must
be the points P and Q. This problem is particularly complicated by the time-varying
boundary condition X(L(t), t) =Q. Standard textbooks on partial differential equa-
tions tend to discuss only those problems for which the boundary conditions are time
invariant.
The numerical method for solving the evolution equation, Equation 10.20, uses
a central difference approximation for the s-derivatives and a forward difference
approximation for the t-derivative. That is,
X
ss
(s, t)
.
=
(X(s +h, t) − X(s, t)) + (X(s − h, t) − X(s, t))
h
2