forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JAVA Micro Edition (http://forum.boolean.name/forumdisplay.php?f=52)
-   -   Проверка столкновения (http://forum.boolean.name/showthread.php?t=16090)

foldel 25.12.2011 01:07

Проверка столкновения
 
Припустим у меня есть 3 танка. Один из них 3 раза выстрелил. Какой оптимальный вариант проверить попадет ли каждая пуля в один из 2 танков?(P.S. Танки двигаются)

ABTOMAT 25.12.2011 01:15

Ответ: Проверка столкновения
 
Пуля летит мгновенно или её скорость конечна?
Танки существуют в 2D или 3D пространстве?
Танки могут вертеться на какие хочешь углы или только кратные 90° (45°, 30°, и т.д.) ?

FireOwl 25.12.2011 01:44

Ответ: Проверка столкновения
 
Можно придумать несколько способов, какой будет оптимальнее сказать трудно.
Перебрать все пули для каждого танка.
Перебрать все танки для каждой пули.
Делать "карту препятствий" для каждого кадра и проверять пиксель-пулю на цвет (или значение). (Например, красный-танк, черный-стена)
Еще что-то.

SBJoker 25.12.2011 01:51

Ответ: Проверка столкновения
 
Я бы добавил в пулю информацию о танке-производителе. Попав в другой танк всегда можно узнать из кого вылетела.

А проверять, в цикле иначе никак.. Если танков овердофига то можно танки разбить деревом Q-Tree или аналогичным. Тогда худший вариант это перебор всей высоты дерева.

foldel 25.12.2011 02:28

Ответ: Проверка столкновения
 
Вложений: 1
Вот решил проблему... (Метод полного перебора;для каждой пули перебираются все танки). Может ктото знает вариант лучше...


Часовой пояс GMT +4, время: 11:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot