Question

Quelles sont les bonnes structures de données pour garder la trace des agents dans une simulation en deux dimensions, spatiale?

J'ai vu quelques références à quadtrees (que je comprends) et kd arbres (que je ne comprends pas très bien).

Je cherche quelque chose à travers lequel un agent peut efficacement dire: « Je sais que mon emplacement, et je voudrais savoir quels agents sont près de moi (dans un certain rayon de moi-même). »

Exemples (pseudo-code est très bien) serait grandement apprécié.

Je travaille en Java.

Était-ce utile?

La solution 2

Je l'ai trouvé quelque chose appelé seau PR quadtree .

Autres conseils

Eh bien, je ne sais pas exactement comment il est mis en œuvre, mais la boîte à outils MASON utilise un algorithme de discrétisation que les agents de lieux qui sont proches les uns des autres dans le même « seau » d'une table de hachage. Il est très rapide pour les recherches, car seulement quelques-uns de ces seaux doivent être vérifiés pour chaque requête.

La meilleure chose pour vous est sans doute de jeter un oeil au code source ici: http: / /code.google.com/p/mason/source/browse/trunk/mason/sim/field/continuous/Continuous2D.java?r=529

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top