I have started to develop unit trajectories for a game server and for now I’m trying to retrieve the position of a unit at a given time. It is easy when the trajectory is just a straight line, but it is far more complicated when unit chases another unit.
I’ve done flash app to illustrate the problem. Black trajectory is for unit which travels in a single direction. Blue chases black and red chases blue. What I want is to precalculate whole trajectory for blue and red to be able to retrieve their position in a constant time.
Is it possible? Thanks for any help!!

Here’s a paper A classic chase problem solved from a
physics perspective by Carl E. Mungan that solves a particular version in which the chaser is initially perpendicular to the chased object’s trajectory. I believe this is an inessential element of the solution since that perpendicularity disappears along the rest of the trajectory.
It is an autonomous system of differential equations in the sense that time does not appear explicitly in the coefficients or terms of the equations. This supports the idea that the family of solutions given in the paper is general enough to provide for non-perpendicular initial conditions.
The paper provides further links and references, as well as a useful search term, “curves of pursuit”.
Let’s state a slight different, slightly more general initial condition than Mungan’s. Suppose the chased object (“ship”) is initially located at the origin and travels up the positive y-axis (x=0) with constant speed V. The chasing object (“torpedo”) is initially located at (x0,y0), and although instantaneous reorienting directly at the “ship”, also travels at some constant speed v.
The special case where x0 is zero results in a linear pursuit curve, i.e. a head-on collision or a trailing chase accordingly as y0 is positive or negative. Otherwise by reflection in the y-axis one may assume without loss of generality that x0 > 0. Thus rational powers of x-coordinates will be well-defined.
Assume for our immediate purpose that speeds V,v are unequal, so that ratio r = V/v is not 1. The following is a closed-form solution (1) for the “torpedo” curve similar to Mungan’s equation (10):
in which the constants H,C can be determined by the initial conditions.
Applying the condition that initially the torpedo moves toward the ship’s location at the origin, we take the derivative with respect to x in (1) and cancel a factor 1/H from both sides:
Now equate the curve’s slope dy/dx at initial point (x0,y0) with that of its line passing through the origin:
This amounts to a quadratic equation for positive B = (x0/H)^r:
namely B = [K + sqrt(K^2 + 4)]/2 (but use the alternative form if K < 0 to avoid cancellation error), which allows H to be determined from our knowledge of x0 and r:
Knowing H makes it a simple matter to determine the additive constant C in (1) by substituting the initial point (x0,y0) there.
The tricky part will be to determine which point on the “torpedo” trajectory corresponds to a given time t > 0. The inverse of that problem is solved fairly simply. Given a point on the trajectory, find the tangent line at that point using derivative formula (2) and deduce time t from the y-intercept b of that line (i.e. from the current “ship” position):
Therefore determining (x(t),y(t)) where the “torpedo” is located at a given time t > 0 is essentially a root-finding exercise. One readily brackets the desired x(t) between two x-coordinates x1 and x2 that correspond to times t1 and t2 such that t1 < t < t2. A root-finding method can be used to refine this interval until the desired accuracy is achieved. Once a fairly small interval has been refined, Newton’s method will provide rapid convergence. We can look at the details of such a procedure in a next installment!