How do you plot an intercept course?

Damn, this would involve differential equations. I hate differential equations passionately. I’ve figured out a way to get around them for the case of the pursued having a constant velocity. Here goes:

The method I provided will work for this, with the velocity you find for yourself being your average velocity. If you have a maximum acceleration that you know, you can figure out an average velocity based on the distance travelled. Start by using the current distance between you and your target to find an average velocity for the trip. Use that velocity to plot an intercept course. Use the new distance to figure out a new average velocity. Continue until you’re happy with the estimate.

If the target is accelerating, you can probably use a similar method to approximate, updating his position and your course alternately. Not pretty, but I’d do anything to avoid differential equations.

:bump: Hoping we can make more progress…

In what direction? We’ve got a set of equations that define a reasonable (but probably not optimum) soltuion. Do you need help solving them?

I would do it numerically; use the simpler equations to eliminate variables from the more complex equations, then use a hill climbing method. I can’t find any decent references on hill climbing on the Web, but you might be able to find some in a good technical library.


jrf

I’m really out of my league on the math here. I got through basic algebra in school, but I have no idea how to go about solving 15 simultaneous equations.


Catapultam habeo. Nisi pecuniam omnem mihi dabis, ad caput tuum saxum immane mittam.

Well, in theory, you manipulate one equation until only one variable appears once on one side of the equals sign, then substitute what’s on the other side of the equals sign for that variable in every other equation. Repeat until you have only one equation left, which is in one variable. Solve for that variable, and then back-substitute that value into the second-to-last equation to get another equation in one variable, solve for that variable, and repeat until you have all the variables solved. But that’s unlikeley to be practical in this case, because some of the varaiables appear squared.

Now, I’ve writen programs to do this sort of thing numerically, but that was 25+ years ago and I’ve forgotten a bit … and it’s difficult to present the math without appropriate mathematical notation.

First reduce the number of equations as much as is reasonable. For example, use T1 + T2 = T to replace “T” by “T1 + T2” in each other equation. Then the T1 + T2 = T equation is no longer a part of the system, and you can set it aside (but you’ll need it after you’ve solved the remaining system, to calculate T). You might do the same thing using the Vrx = Vix + Aix*(T1 + T2) equation to get rid of Vrx, the Vry = Viy + Aiy*(T1 + T2) equation to get rid of Vry, and so on. At some point it will be impractical to reduce further, so go on to the next step.

Re-write the remaining equations so that all the terms are on the left side of the equals sign and each equation ends in “= 0”. If you were to plug in particular values for all the variables in these equations, you probably wouldn’t get zeros on the right side (unless you are particularly lucky), Instead, the left side of each equation would evaluate to some non-zero number. These numbers are called “residuals”. The goal is to find a set of values of the variables that reduce all the residuals to zero.

Now create a new function that measures how well a particular choice of values for all the variables makes all the residuals zero. Mathematically, the simplest function is just saying that the vector consisting of all the residuals must be all zeros, but this is often inconvenient for computers. Another possibility is saying that the sum of the squares of all the residuals must be zero; this function is zero if and only if each residual is zero, and it’s easily done in a computer. Also, it is a function that not only has a {i]zero* at the desired point, it also has a minimum at the desired point; and minima are often easier to handle than zeros. And its result is a single number; it’s easier to compare two single numbers than it is to compare two vectors.

Next come up with a set of initial guesses for the value of each variable. These could be just plain guesses.

Now come up with a method of taking a set of choices for each variable and deriving from that a set of choices that is probably closer to the real solution. One way to do this is to make a small change (maybe 10%) in one variable, evaluate all the equations, evaluate your “how good is this solution” function, and see if the change improved things. If it did, save the change. If it did not, try the opposite change. If the opposite change improves things; save it; if it does not, save the original value of the variable. Repeat for all variables.

(There are lots of other ways of going from one set of choices to a better set of choices, but they are real hard to explain in text).

Repeat until no change produces any improvement. If the solution is good enough, you are done. If the solution is not good enough, make the size of your change smaller and repeat the whole process until the solution is good enough.

This kind of procedure is usually guaranteed to converge to a real solution for the minimum of the “how good is this solution” function. Depending on yur initial guesses, it may converge to a non-zero minimum which is not a solution to the real problem; handling that is complex, but you can just try a significantly different set of initial guesses and repeat the whole procedure. There are many methods and tricks for making it converge faster. But maybe this will get you going.


jrf

SingleDad, I don’t know what language you’re programming in. I did find Numerical Recipes Books On-Line, which contains lots of useful information even if you’re not using C or Fortran. See especially Section 9.


jrf

Given X and Y (Persued and Persuer respectively), Solution is :

Ax = [(Vx^2) - (Vy*Vx)] / (z-y)

Will intercept X at Y at some point z/2 distance away from where y is currently located.

Does the equation change if the persued has a 15 year head start?

15 yr head start and 3 BANNED bozos…

OK. Can we hear about the intercourse sept?

Firing Solution for Zombie Thread Laid In Sir… Awaiting Your Orders…

If you have the target speed and direction. You can plot a line on the map. Put tick marks along the line according to it’s position at time intervals. Choose your speed. Mark the edge of a piece of paper with position at the same time intervals. You now have two time and position lines. Angle your time position line, to intersect the target position line at the same time mark. Now steer that course.

Otto, SingleDad, Satan…RIP, fellas. I don’t know why you got banned, but all 3 posters are making intelligent, thoughtful posts in this thread.

Set the controls for the heart of the sun.

(Understandthis is a zombie thread) but in the U. S. navy of old (10-15 ago!) we would use something called a maneuvering board to plot intercept courses for ships. We wouldn’t use it for missiles or high speed aircraft, but we’d use it for ship to ship, ship to slower aircraft, etc. Once you were proficient, you could calculate an intercept course in a matter of 15-20 seconds, once you knew the ships course and speed and relative location.

Bottom line is folks on the bridge aren't getting out formulas and calculators.