À la recherche d'un moyen léger pour trouver des objets dans un rayon.
Jusqu'à présent, la réponse qui me semble évidente est de parcourir chaque objet, en comparant sa position x et y avec le centre du rayon.
Exemple :
Tourelle
- à la recherche de cibles dans un rayon.
TableauCible
- tableau des cibles potentielles.
TableauDansRayon
- tableau dans lequel nous ajoutons les cibles applicables.
Distance^2 = (TableauCible[n].x - Tourelle.x)^2 + (TableauCible[n].y - Tourelle.y)^2
if( Distance^2 < maxRayon^2 ){
TableauDansRayon.push(TableauCible[n])
}
Éviter la racine carrée devrait me faire économiser un peu de puissance de traitement. Mais j'ai le sentiment qu'il peut y avoir d'autres algorithmes/théories/méthodes qui pourraient être meilleurs (plus légers).
Longueur idéale de TableauCible : moins de 500 cibles à la fois.