python - 按距离查找附近 xyz 点的最佳数据结构?

标签 python data-structures

我正在研究Python,但我认为这不会影响问题本身。

我正在开发一款游戏,我需要存储实体,每个实体在世界上都有一个 [x,y,z]。我需要能够运行“Y 点 X 欧几里得距离内的所有实体”。

这些实体将经常移动。

存储实体以使其尽可能快的最有效方法是什么?

最佳答案

作为已经建议的替代方案,如果您不需要精确的距离,也可以使用 spatial hashing ,这很容易实现。

总之,您必须将您的世界视为一个网格,其中网格中的每个单元格都对应于哈希表中的一个存储桶。由于您的实体经常移动,因此在每个新帧上,您可以清除并重建整个表,并根据实体的位置将实体放入相应的存储桶中。然后,对于任何给定的实体,您只需检查附近的单元格并获取实体列表。

关于python - 按距离查找附近 xyz 点的最佳数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17230305/

相关文章:

Javascript 递归地排序对象和嵌套对象以及数组

c++ - 迭代器实现——(链表队列)

python - 如何打印嵌套循环的异常?

python - 从绘图屏幕上单击的两点画线,然后删除艺术家

python - 在 Python 中运行外部程序(可执行文件)?

c# - 我应该使用什么数据类型进行版本控制?

algorithm - 为什么在CLRS中Q.head = Q.tail + 1表示队列已满

python - 检索 Python 集合的下一个最小元素

java - 如何从捕获的迷宫图像创建图形

python - 在python中将字符串作为命令执行