Pull to refresh

Comments 11

Интересная тема, люблю такой эффект. Я когда-то подобное в своей игрухе делал (в 2D, правда) примерно так: шум Перлина не использовал, а просто между точками старта и цели генерил N случайных точек, а потом двигал ракеты через них, используя сплайн Катмулла-Рома. Насколько помню, это вычислительно легче оказалось, чем Безье считать.

Писал на юнити что-то подобное. У ракеты была постоянная скорость движения к цели V и скорость поворота (наведения) Vr, без "хаотики" при выборе траектории. Выбор этих двух величин влиял на поведение в полёте. Например, можно было создать быструю, но "тугодумную" ракету, которая просто не успевала отслеживать цель при пуске с определённой дистанции / в неком направлении и летела несколько эллипсов, прежде чем попасть. Или вообще не могла попасть, ложась на круговую орбиту.

А то же самое в движущиеся мишени можно придумать?

Можно просчитывать кривые с шумом для каждого кадра. Тогда смещение конечной точки будет учитываться для движения ракеты. И появится возможность для цели выполнить маневр уклонения :)

Попробовал вспомнить то, что рассказывали в рамках предмета "Теория оптимального управления" на харьковском мехмате, году эдак 95ом - 96ом.

Для наведения ракет на маневрирующую цель может использоваться метод "половинного спрямления траектории"

Модель такая: есть цель, для которой известны скорость, направление движения в данный момент, и известно, что ускорение бокового маневра ограничено некоторым значением.

Тоже самое известно и для ракеты, которую наводим.

Для цели вычисляем примерную точку где она окажется в момент подлета ракеты, если цель не будет маневрировать. Ракету перенацеливаем в точку посередине между текущим положением и спрогнозированным. И так цикл за циклом.

Скорее всего немного наврал, так как по-памяти.

Дальше - отсебятина.

Можно попробовать модифицировать алгоритм наведения, добавив ракете боковой маневр случайной длительности в случайном направлении, случайным ускорением в диапазоне, скажем, до половины максимального.

Имеет смысл, если цель может отстреливаться от ракет.

В реальности алгоритм должен быть заметно сложнее, чтобы обеспечить одновременный подлет всех ракет залпа.

Наверняка периодически возникают пересечения траекторий разных ракет. Добавьте взаимное уничтожение ракет при столкновении. Интересно посмотреть

Я предчувствую минусы за тематику, но не могу удержаться, поскольку для меня маневрирование боевых ракет - это определенная техническая эстетика, выраженное в движении решение технических задач.

Например, "танцующий" запуск МБР с поезда БЖРК - ракета после выхода из установки специальным двигателем отклоняется от вертикальной оси, чтобы не повредить насыпь и состав работой маршевого двигателя: Шакальное видео 1; момент пуска из док. фильма 2; замедленный момент из блогерского ролика 3, полное видео пуска 4 (все лучше без звука).

Похожий по смыслу запуск ракеты "Бастион" со срабатыванием и отстрелом корректирующих двигателей в носовой части: Видео с разных ракурсов (чистый звук без блевотного закадра).

Полет ракеты "земля-воздух" HQ-17: Видео (как и положено шортсу, со всратой музыкой).

Вращающийся полет противотанковых ракет: Корнет, TOW.

Но настоящие ракеты летают совершенно по другим моделям, чем описано в статье – обычно по принципу терминального управления. И ещё может быть важно, с какой стороны к цели подлетать.

Sign up to leave a comment.

Articles