我正在编写一个游戏,其中玩家可以同时操纵大量物体。我希望玩家能够根据它们之间的距离选择对象。
给定所有对象的位置,起始对象和距离阈值,最快方法是什么,以找到包含任何两个对象之间的距离不超过的起始对象的子集门槛?启发式解决方案是完全可以接受的。
答案 0 :(得分:1)
This library似乎可以解决问题:
“ANN是一个用C ++编程语言编写的库,支持在各种维度的空间中进行精确和近似最近邻搜索。
[...]
在最近邻问题中,给出了d维空间中的数据点集P.这些点被预处理成数据结构,因此给定任何查询点q,可以有效地报告P到q的最近(或通常最近的)点。“
答案 1 :(得分:0)
取决于您的数据结构。主要是,您的对象是否已按距离排序/分区?我无法想到任何距离启发式......但你当然可以并行地做到这一点,这应该有所帮助。