Показать сообщение отдельно
Старый 25.11.2011, 16:23   #110
Greymem
Нуждающийся
 
Регистрация: 31.05.2010
Сообщений: 63
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: Вопрос-Ответ (для новичков 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"
(Offline)
 
Ответить с цитированием