Я делаю 2D игру, в которой юниты стреляют друг в друга стрелами. Я знаю позицию стрелка и цели и начальную скорость снаряда. Я хочу знать, какой угол должен иметь снаряд, чтобы приземлиться на цель. Цель может быть на другой высоте, чем стрелок.
Подводя итог, я знаю v0, R и g и мне нужно найти угол (или высоту?).
Я читаю http://en.wikipedia.org/wiki/Projectile_motion , но не могу найти что-то связанное с тем, что мне нужно.
2d
projectile-physics
trajectory
korn3l
источник
источник
Ответы:
Формула для нахождения угла
где v - начальная скорость запуска, g - гравитационная постоянная, x и y - расстояние и высота цели.
Два корня этого уравнения дают вам два возможных угла. Если результаты мнимые, то ваша начальная скорость недостаточно велика, чтобы достичь цели (если вы хотите рассчитать угол досягаемости, прочтите это ). Вам решать, какой угол выбран. Было бы целесообразно выбрать наиболее прямой путь, т.е. меньший угол.
Вы можете увидеть GIF этого уравнения ниже с различными целевыми значениями и постоянной скоростью запуска.
Ресурсы из этой статьи в Википедии
источник
Ранее в этом году я создал простой шутер сверху вниз. Я использовал следующий метод:
Предыдущий ответ: /programming/15364852/move-sprite-diagonally/15365570#15365570
Он рассчитывает траекторию между двумя позициями.
источник