Ответ: Вопрос-Ответ (для новичков BlitzMax)
Очередной трабл.
Пишу мини-ИИ для "баллистического бота" если можно так сказать
Суть в том, что он должен выстрелить снарядом в объект, но в точку в которой объекта ещё нет.
То есть должен просчитать траекторию движения цели, и выстрелить туда, где объект будет через t итераций (обновления объектов)
Вот что известно на входе:
Начальные координаты цели (X1,Y1)
Скорость цели (V1)
Направление движения цели (угол) (a1)
Начальные координаты бота (X2,Y2)
Скорость снаряда бота (V2)
Вот что нужно найти
Угол выстрела (a2)
Через сколько t они встретятся (t)
За одну итерацию координаты цели обновляются следующим образом
X1 = X1+(V1*Cos(a1))
Y1 = Y1+(V1*Sin(a1))
Выпущенный снаряд выходит из точки X2,Y2, и за одну итерацию обновляет свои координаты похожим образом используя скорость V2 и угол направления движения который мы должны найти a2
Снаряд летит только туда, куда его направили, никакие больше силы на снаряд не действует. А Бот стоит на месте.
Вариант решать перебором (начиная от 1 итерации и просчитывать столкнулись или нет - не подходит, так как сейчас именно так и делается и это не дело =))))
В принципе меня устроит только число t в данном случае. Буду знать t, буду знать угол.
В данный момент уже читаю и книгу по физике для комп. игр и краткий курс тригонометрии.
Но пожалуйста, помогите если кто знает.
__________________
Мозги... у них есть метод "Storm"
|