Kd Tree vs. Sorted Morton Codes

时间:2016-04-11 15:59:49

标签: tree particles z-order-curve

我目前正在编写一个opengl 2d粒子系统,但我遇到了更多需要帮助的一般编程问题。

基本上,我需要一种方法来查找粒子是否可能发生碰撞,即。宽相碰撞检测。

我已经完成了很多关于使用Morton代码和kd树进行空间分割的阅读,以便剔除许多不需要进行碰撞测试的点。但是,在我看来,kd树只在进行最近邻搜索时才有用。相反,我希望所有半径内的邻居。关键问题是我想为每一点做到这一点。

所以我的问题是:使用我的Morton代码创建kd树是否有任何优势,或者排序的Morton代码列表是否足够?理论上,如果我有一组排序的Morton代码对应于已排序的粒子id,我可以简单地在Morton数组中查看当前粒子周围的元素并检查距离吗?我想我一直这样做,直到距离大于我定义的半径。

这有意义吗?或者我应该选择某种类型的树形结构?

0 个答案:

没有答案