Tree Kd树与排序Morton码

Tree Kd树与排序Morton码,tree,particles,z-order-curve,Tree,Particles,Z Order Curve,我目前正在编程一个opengl 2d粒子系统,但我遇到了更多需要帮助的一般编程问题 基本上,我需要一种方法来确定粒子是否可能发生碰撞,即宽相位碰撞检测 我已经读了很多关于使用Morton代码和kd树进行空间分割的书,以便剔除许多不需要测试碰撞的点。然而,在我看来,kd树只有在进行最近邻搜索时才有用。取而代之的是,我想让所有的邻居都在一个半径内。关键的问题是我想对每一点都这样做 所以我的问题是:使用我的Morton代码创建kd树有什么好处,或者一个排序的Morton代码列表就足够了吗?理论上,如果

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

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

我已经读了很多关于使用Morton代码和kd树进行空间分割的书,以便剔除许多不需要测试碰撞的点。然而,在我看来,kd树只有在进行最近邻搜索时才有用。取而代之的是,我想让所有的邻居都在一个半径内。关键的问题是我想对每一点都这样做

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

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