Показать сообщение отдельно
Старый 17.06.2012, 22:55   #3
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Обработка пересечений

Все препятствия в списке - в виде отрезков с известными координатами. Как быстрее произвести просчет на пересечение линии (выстрела) с отрезками (препятствиями)?

В голову приходит два варианта:
1. Перебирать все препятствия в цикле методом как писал товарищ Greymem в треде Пересечение линий

2. Тоже перебирать все препятствия, но просчитывать углы. Каждое препятствие имеет две точки - ATan2 от положения стреляющего до каждой точки, получаем сектор попадания в это препятствие, далее сравниваем с углом выстрела...

Вопрос - как будет быстрее?
Кстати в обоих случаях надо будет делать специальную проверку на то препятствие которое ближе всего к стреляющему...
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием