Pursuit curves can be modeled using parametric equations,
vectors, and differential equations, and can be easily plotted using matlab and the numerical solver ode45.

Introduction

A pursuit curve is the path taken by an object while
attempting to overcome another.In real
life it may be a cheetah chasing a rabbit, a linebacker running down a running
back, or a guided missile chasing down a jet.Although the pursuit equation cannot take into consideration every
variable, condition, circumstance, or path to pursue, it is adequate for our
application.In this we will see the
original equation(the
pursued) plotted with the pursuit curve.

Definition

A pursuit curve is the path an object takes when chasing or
“pursuing” another object.The pursuit
curve can be described as a vector whose magnitude is proportional to that of
the pursued, and is always moving directly towards the pursued.

Derivation of the Pursuit Curve

Two distinct parametric equations can be used to simply
define the equations that model the paths of the pursued and the pursuer.We will call these equations O for the original path, or that of the
pursued; and P for the pursuit curve
which is taken by the pursuer.

The equation for that of the pursued is:

O(t)=p(t)(i)
+q(t)(j)

This vector is broken down into (i)
and (j) components, where p(t) and q(t) are the time
dependent equations that model the curves path in the (i)
and (j) directions, respectively.

The equation for that of the pursuer is:

P(t)=x(t)(i)
+q(t)(j)

The pursuit vector is completely dependent on the path of
the pursued, and the constant of proportionality, k, that will be used to
define the magnitude of the P vector
relative to that of the O.(i.e.If k = 1 the pursuer will always be moving at
the same speed as the pursued, but will still follow a different path).

Although the path is easily defined, x(t)
and y(t) are unknown, and must be derived in developing a system of two
non-homogeneous differential equations.

Deriving the Pursuit Curve

In deriving the path taken by the pursuing vector, one must
define two unit vectors.

The first unit vector, the unit tangent vector, will point
towards the pursued curve, and, as is characteristic with any tangent line or
vector, will yield the direction of P
at any given instant in time.The
tangent vector will be represented by T
and will appear as the following.

T=dP(t)/dt = vP

Tu
will be the unit tangent vector, which is:

Tu=
vP/abs(vP)

As was expressed in the definition of the pursuit curve, the
pursuit curve retains a velocity that is proportional to that of the
pursued.To institute this property, a
substitution must be made, where abs(Ov)*k is
substituted for vP.One
should note that k is the afore mentioned constant of
proportionality.

Tu=
vP/abs(vO)*k

The second vector required to develop the system of
differential equations will be the unit vector of vector P.This vector will be in
the direction of O-P, and to make it
a unit vector must then be divided by abs(O-P).U will represent the unit vector.

U= O-P/abs(O-P)

The definition of a pursuit curve states that P always proceeds precisely towards O.This
property causes both U and Tu to be in the
same direction.WhenU
and Tu are
known, their dot product can be taken to illustrate this property.

[O-P/abs(O-P)] (dot) [vP/abs(vO)*k]=1

Since O and P are unit vectors, the two will also
be of equal magnitude.

Therefore: U = Tu

We can now set the two vectors equal to each other, the
resulting equation becomes:

[vP/abs(vO)*k]= [O-P/abs(O-P)]

To solve for vP we will multiply by abs(vO)*k to acquire
the following equation:

vP=abs(vO)*k* [O-P/ abs(O-P)]

The equation may now be broken down into it’s
parts, in order to more easily understand the expansion of the entire thing.

To continue developing our system of non-homogeneous
differential equations, we must now separate the coefficients of the previous
equation into (i) and (j) components, and them relate
them to the equation:

The following equations are identical to the two above, but
appear as they would on in a textbook, and are thus easier to read.

We can now use these equations, and the known equation for
the path of the pursued, we can find the curve using MATLAB and the numerical
solver ode45 in Matlab.

Basic Pursuit Curves

Pursuing a Linear Path

The first step in modeling a pursuit curve is to set up the
parametric equation that is to be pursued.In this case we have chosen a linear path with the (i)
and (j) components of the original equation to be P(t)=t+3 and Q(t)=t-1
respectively.

P(t)=t+3

Q(t)=t-1

We must next take the derivatives of the above equations so
that we can substitute those values into our general equation.

We now use matlab and the
numerical solver ode45 to obtain a graphic representation of the original path
and its pursuit curve.

MATLAB REPRESENTATION

The following commands are shown as they appear in
MATLAB.The m.file
will remain indented and in an alternative font, while the explanation is not
indented and the font will not change.

%Set-up
Linear Pursuit Curve

functionUprime=pstline(t,u,flag,k);

The first step in modeling a pursuit curve is to set up the
function to be modeled, in this case we have called it
“pstline”.We
have chosen to call up a flag for, k, the constant of proportionality, so that
we may change it each time the pursuit is conducted, if we so choose.

Uprime=zeros(2,1);

The Uprime=zeros(2,1)
sets up the column vectors for x’ and y’ from the general equation.

P=t+3;

Q=t-1;

dP=1;

dQ=1;

The function values of P, Q, dP, and dQ are programmed,
so MATLAB can substitute them into the ode45 equation.

In order to set up the pursuit of a three dimensional path,
one must institute a third vector in the (k) direction of both the original and
pursuit curves.The derivation is nearly
identical to the general two dimensional case.The resulting x’ ,y’
and z’ equations are shown below.

A dual pursuit curve plots the graph of the original path,
the plot of its pursuer, and a third curve that pursues the second.Though the derivation was not difficult,
plotting the curves in MATLAB proved difficult, yet possible.

The following shows the general formula for a single pursuit
curve

Original Path

P(t)

Q(t)

1st Pursuit Curve

The derivation of the 2nd pursuit curve is as
follows

We must again use the (i) and (j)
components of the path we are pursuing, and since in this case we are pursuing x(t) and y(t), we will make the correct substitutions.

A=x’

B=y’

Therefore on the left hand side of the equation:x’ or dx/dt is substituted for dP/dt, and y’ or
dy/dt is
substituted for dQ/dt.On the right hand side of the equation, x is substituted
for Q, y for P, A for x, and B for y.For
later references, it is important to realize that that since A=x’, where the
equation says x-A, it could also read x-x’.

The following MATLAB m.file
produces the dual pursuit of a circular path.

functionUprime=pstdualcirc(t,u,flag,k);

Uprime=zeros(4,1);

In order to set up the dual pursuit functions in two
dimensions, one must institute a fourth column vector in the ode45 function
setup.This is because the 1st
pursuit curve needs (i) and (j) components, and so
does the second.

Uprime(3) and Uprime(4) are completely
dependent on Uprime(1) and Uprime(2).Though it is mathematically correct to write u(3) as in u(1)-u(3), MATLAB and ode45 will not produce the
correct 2nd pursuit curve, because the square root on the right hand
side yields imaginary numbers. Although its explanation has eluded me, the
solution did not.Instead of u(1)-u(3), we remember that in our derivation A=x’, and
since in MATLAB A=u(3) and x’=Uprime(1), we make the
substitution inside of the radical and write u(1)-Uprime(1).This avoids the imaginary number problem, and
yields the 2nd pursuit curve.One should note that this substitution is not necessary with the u(1)-u(3) above the radical.

The following MATLAB m.file
produces the dual pursuit of a linear path.The derivation is identical to that of the dual circular pursuit, with
only the initial equation, and (if the mathematician so chooses) the initial
positions differing.

The following MATLAB m.file
produces the dual pursuit of a helical path.One should note that as was the case with a single pursuit helix, a
vector in the (k) direction is needed to yield three dimensions.Such is the reason for the necessity of six
column vectors.

The above pictures show the dual pursuit of a helical
path.The left figure does not have
equally scaled axes, while the right does, but both are of the identical graph.

The above picture shows the dual pursuit of a helix from the
top view.

Bug Problems

“Bug Problems” were an interesting
addition to this projet, although I could not get
MATLAB to represent their paths.Bug
problems involve multiple pursuers that start at given points, where there is
no initial path, but rather each pursuer chases one bug, and is in turn chased
by another.For example: if A B and C were set up in a triangle, then A
would chase B, B would chase C, and C would chase A.

With help, I was able to derive
the equations for these, and though I created an m.file
to model such an equation, I could not make the bugs begin to run.The derivation follows the same principle as
the general form of the pursuit curve, and the dual pursuit curve, but this
loops back onto it self so that there is no initial path.

Click on the hyperlink to view the
derived general equation for a three bug problem.

In a standard pursuit, the pursuit
begins as soon as time begins passing to affect the initial equation, but if
the initial equation never moves, the pursuit curves to not begin to follow
it.When the initial equation stops
moving, the pursuit equation stops as well, and does not then head directly
towards the final stopping point of the initial path.Though each bug is programmed to chase one of
the other two, there is nothing I have found that will begin the pursuit.Each bug is waiting for another to move,
before it moves itself.

Although
I could not get matlab to produce the graph, some do
exist, and I have included them, to illustrate the path taken, and to show how
interesting they can be.

The graph to the left represents a
three bug problem, the bugs follow the spiral paths to
the center where they would meet.The
black and white sections are for design purposes, and also show the bugs tangent vector at given units of time.

The above graphs represent a five
and a four bug problem respectively.One
should note that in these as was with the triangle.The bugs all move at the same relative speed.

Conclusion

As we defined earlier, the pursuit curve is the curve taken
when an object or pursuer attempts to overtake another object.It is not to be confused with an
intersection, which anticipates an objects position at a given time, and
attempts to be there then.The
difference between a pursuit and an intersection would be analogous to a guided
missile and a bullet respectively.

The speed of the pursuer is always proportional to that of
the pursued, and the pursuer will never overtake the pursued unless the value
of the constant of proportionality, k, is greater than one, or the pursued runs
directly into the pursuer.If k is less
than one, the pursuer will never overtake the pursued, but it may remain close
to it.Since the pursuer can cut the
angles of the pursued, even with small k values, and large timespans,
the pursuer may remain close to the pursued, depending on how much turning the
pursued did.Though the distance
traveled by the pursuer may not be nearly that of the pursued, their distance
apart may be minimal.In this case, if
the pursued knows he is faster than the pursuer, the most efficient way to
create distance between them is to run in a straight line.

This equation, though adequate for our purpose, does not
take in all real life parameters.It
does not account for reaction time, agility of either body, momentum of either body, endurance, ability to hide, time constraints,
or special boundaries.

Though the path of the pursued and pursuer can be easily
modeled using differential equations.It
would be exhaustingly time consuming to calculate the paths by hand with any
amount of accuracy, especially in a dual pursuit, where the path of the second
pursuer uses the path of the first pursuer to develop its own path.The use of MATLAB and ode45 allows for an
accurate and relatively quick solution to a complex and intriguing problem.