Ищите легкий способ поиска объектов в радиусе.поиск объектов в радиусе
До сих пор для меня очевидным является ответ через каждый объект, сравнивающий его положение x и y с центром радиуса.
Пример:
Turret
- ищет цели в радиусе.
TargetArray
- массив возможных целей.
WithinRangeArray
- массив мы помещаем применимую к цели
Distance^2 = (TargetArray[n].x - Turret.x)^2 + (TargetArray[n].y - Turret.y)^2
if(Distance^2 < maxRadius^2){
WithinRangeArray.push(TargetArray[n])
}
Избежанию квадратного корня должен сохранить мне вычислительную мощность. Но у меня есть ощущение, что могут быть другие алгоритмы/теории/методы, которые могут быть лучше (более легкие).
Идеальная длина TargetArray: менее 500 целей одновременно.