Вот статья Классическая задача погони, решенная из
физическая перспектива Карла Э. Мангана, которая решает конкретную версию, в которой охотник изначально перпендикулярен траектории преследуемого объекта. Я считаю, что это несущественный элемент решения, так как эта перпендикулярность исчезает вдоль остальной траектории.
Это автономная система дифференциальных уравнений в том смысле, что время не фигурирует явно в коэффициентах или членах уравнений. Это подтверждает идею о том, что семейство решений, приведенных в статье, достаточно общее, чтобы обеспечить неперпендикулярные начальные условия.
В статье приводятся дополнительные ссылки и ссылки, а также полезный поисковый термин "кривые преследования".
Давайте сформулируем немного другое, чуть более общее начальное состояние, чем у Мунгана. Предположим, что преследуемый объект («корабль») изначально находится в начале координат и движется вверх по положительной оси y (x = 0) с постоянной скоростью V. Объект преследования («торпеда») изначально расположен в точке (x0, y0) и, хотя мгновенно переориентируется прямо на «корабль», также движется с некоторой постоянной скоростью v.
Особый случай, когда x0 равен нулю, приводит к линейной кривой преследования, то есть к лобовому столкновению или отстающему преследованию соответственно, когда y0 является положительным или отрицательным. В противном случае при отражении по оси y можно без ограничения общности считать, что x0> 0. Таким образом, рациональные степени x-координат будут четко определены.
Предположим для нашей непосредственной цели, что скорости V, v не равны, так что отношение r = V / v не равно 1. Ниже приведено решение в замкнутой форме (1) для кривой "торпедо", аналогичной уравнению Мунгана ( 10):
(1+r) (1-r)
[ (x/H) (x/H) ]
(y/H) = (1/2) [ ----- - ----- ] + C (1)
[ (1+r) (1-r) ]
, в котором постоянные H, C могут быть определены начальными условиями.
Применяя условие, что первоначально торпеда движется в направлении местоположения корабля в начале координат, мы берем производную по x в (1) и отменяем коэффициент 1 / H с обеих сторон:
r -r
dy/dx = (1/2) [ (x/H) - (x/H) ] (2)
Теперь приравняйте наклон кривой dy / dx в начальной точке (x0, y0) к наклону ее линии, проходящей через начало координат:
r -r
(x0/H) - (x0/H) = 2y0/x0 = K (3)
Это равняется квадратному уравнению для положительных B = (x0 / H) ^ r:
B^2 - K*B - 1 = 0 (4)
, а именно B = [K + sqrt (K ^ 2 + 4)] / 2 (но используйте альтернативную форму , если K <0, чтобы избежать ошибки отмены), что позволяет определить H из нашего знание x0 и r: </p>
H = x0/(B^(1/r)) (5)
Знание H упрощает определение аддитивной постоянной C в (1), подставляя туда начальную точку (x0, y0).
Сложнее будет определить, какая точка на траектории "торпеды" соответствует данному времени t> 0. Обратное решение этой задачи решается довольно просто. Для заданной точки на траектории найдите касательную линию в этой точке, используя производную формулу (2), и выведите время t из y-точки пересечения b этой линии (то есть из текущей позиции "корабля"):
t = b/V (6)
Поэтому определение (x (t), y (t)), где находится «торпеда» в данный момент времени t> 0, по сути является упражнением по поиску корней. Один легко заключает в скобки желаемое значение x (t) между двумя x-координатами x1 и x2, которые соответствуют моментам t1 и t2, так что t1