Математика - Как построить курс до точки с ограниченной конечной скоростью?

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

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

Наряду с этим, я предлагаю различные варианты управления ускорением корабля, пока он туда добирается. Все эти опции имеют отношение к скорости цели в пункте назначения.

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

Другой вариант - просто выбрать точку назначения, но позволить игре рассчитать окончательный вектор скорости. Это делается с помощью квадратичной интерполяции (т.е. ускорение является постоянным).

Я хотел бы ввести еще один вариант: позволить игроку выбрать пункт назначения и максимальное абсолютное значение вектора скорости, как в

sqrt( vf_x^2 + vf_y^2 ) <= Vf_max

Я полагаю, что в этом случае я буду использовать полином 3-го порядка, чтобы смоделировать курс, но мне довольно сложно вычислить коэффициенты, поскольку я пропускаю одно уравнение для каждой координаты (то, которое задается скоростью в пункте назначения). Кроме того, я не понимаю, как мне следует использовать Vf_max ограничение, чтобы помочь мне выяснить недостающие коэффициенты.

Я подозреваю, что это может быть проблемой оптимизации, но я совершенно не осведомлен об этой теме.

Кто-нибудь может помочь мне найти решение или указать мне правильное направление, пожалуйста?

0 ответов

Другие вопросы по тегам