Tree 关于如何实现具有周期限制的四叉树的任何参考资料?

Tree 关于如何实现具有周期限制的四叉树的任何参考资料?,tree,spatial,neighbours,Tree,Spatial,Neighbours,我有平面上的空间数据-(x,y)点-我使用四叉树进行分区。其思想是找出哪些点与给定(a,b)点相邻。如果两个点之间有一些(比如说L)距离,那么这些点是相邻的。问题是空间是周期性的,也就是说,如果一个点非常靠近边(

我有平面上的空间数据-(x,y)点-我使用四叉树进行分区。其思想是找出哪些点与给定(a,b)点相邻。如果两个点之间有一些(比如说L)距离,那么这些点是相邻的。问题是空间是周期性的,也就是说,如果一个点非常靠近边( 也就是说,(a,b)点和(c,d)点和(h,i)点应该是相邻点。(a,b)的邻域是半径为L且圆心为(a,b)的圆内的点

欢迎报到和指导

谢谢


伙计们:

谢谢你的回答,我已经有一段时间没有检查stackoverflow了,我正在忙另一个项目,我会马上检查你的答案!非常感谢

xdist = min( (x1-x2) % px, (x2-x1) % px )
其中px是x周期

ydist和其余部分留给读者作为练习:-)

其中px是x周期

ydist和其余部分留给读者作为练习:-)

为什么不将“搜索圈”拆分为具有pi/2角度的饼图?让我们看看我是否可以通过文本和一个简单的图像来实现这一点

其思想是将“圆搜索”视为四个“饼图”,因此,当您使用C(a、b、L)进行搜索时,您需要考虑到在四叉树中向下传递时,圆不仅与四叉树的左上角相交,因此在这种情况下,您必须向下分支为四个分支(如果这个区域不是周期性的,那么不仅仅是一个)。

为什么不将你的“搜索圈”分割成具有pi/2角度的饼图呢?让我们看看我是否可以通过文本和简单的图像来实现这一点


其思想是将“圆搜索”视为四个“饼图”,因此,当您使用C(a、b、L)进行搜索时,您需要考虑到在四叉树中向下传递时,圆不仅与四叉树的左上角相交,因此在这种情况下,您必须向下分支为四个分支(如果此区域不是周期性的,则不仅仅是一个)。

保持四叉树的原样似乎更简单,因为只有根级别是周期性复制的。要考虑周期性,请对每个请求执行多个请求
(x+i*dx,y+j*dy,L)
。在i,j上循环,以便查询盘与树的根节点相交。

保持四叉树的原样似乎更简单,因为只有根级别是周期性复制的。为了考虑周期性,对每个请求执行多个请求
(x+i*dx,y+j*dy,L)
。在i,j上循环,使查询盘与树的根节点相交

xdist = min( (x1-x2) % px, (x2-x1) % px )