ДОБАВЛЕННАЯ ИНФОРМАЦИЯ:
Я предполагаю, что данный монстр имеет расстояние D до башни, движется по кратчайшему пути к башне, и башня начинает поворачиваться к монстру. Это ситуация на t=0
.
ФИКСИРОВАННЫЕ ТИПЫ:
Если ваша башня поворачивается с угловой скоростью omega
, то есть угол phi
во время t
равен
phi = omega * t
Так что, если вы знаете, что ваша башня должна повернуться на угол phi
, пуля будет выпущена в
t = phi/omega
Отсюда расстояние, которое прошла скорость пули v
, составляет
s(t) = v * (t-phi/omega)
Если ваш монстр движется со скоростью vm
, он будет
на расстоянии d
d(t) = D - vm * t
Пуля попадает в монстра, если
s(t) = d(t)
Это уравнение легко решить: просто подставьте d(t)
и s(t)
и измените условия для получения t
:
t = (D + v * phi/omega) / (phi/omega + vm)
И в этот момент пуля пройдет s(t)
. Если это значение отрицательно, монстр был слишком быстрым и достиг башни до того, как была выпущена пуля