Имеется двумерное пространство и 1 дружественный космический корабль, стоящий на месте, один враг НЕ движется прямо к дружественному кораблю с известными фактическим положением, скоростью и направлением.
Дружелюбный корабль хочет попасть на полигон, чтобы сразиться с противником.
На самом деле я устанавливаю только прямой вектор фактической позиции движущегося корабля и пересчитываю его каждый кадр, в результате чего получается некая «круглая» траектория полета.
Что я хочу, так это установить прямой и прямой путь к тому положению, которое будет (предположительно) у противника при достижении дальности стрельбы, при условии, что противник не изменит курс до тех пор.
В качестве первой и «простой» реализации было бы достаточно, если бы мы предположили, что друг может ускориться от 0 до max за мгновение.
Предпочтительной реализацией будет та, которая учитывает возможности ускорения друга и знает, когда перехват невозможен из-за скорости. Он должен работать на любой стартовой скорости, а не только стоять на месте. Плюсом было бы, если бы он даже рассматривал торможение (сражение на скорости света очень неэффективно в данной вселенной)
источник
Я предлагаю вам взглянуть на рулевое поведение. Особенно погоня . Источник-код можно найти в OpenSteer реализации или посмотреть книгу , как « Программирование игр АИ примером » (ISBN 13: 978-1556220784)
источник