2D空间索引问题:
您所说的数据结构本质上是一个无限*四叉树,其节点既不包含绝对坐标也不包含绝对比例-其中每个节点的坐标系均已标准化为单位平方(0,0)-(1,1 ),并且顶层节点没有绝对固定在其中?
当然是四叉树-但是它是什么类型的四叉树? (有一个通用名称吗?我在文献中已经看到了数十种四叉树的名称和定义,但是没有看到这种特定的四叉树。)
要渲染场景,将为您提供一些起始节点(不一定是根节点),其大小(以像素为单位)及其在屏幕上的位置。然后,您可以使用当前的变换矩阵通过缩放坐标来绘制节点内的所有对象,将其插入堆栈并在沿着树向下移动时减半。因此,节点的绝对坐标仅在渲染期间通过临时工作变量才可用,并且不包含在数据结构本身中。
如果节点内的对象移到该节点之外(例如,在单位正方形之外),则将其传递给父对象,以重新分配给另一个节点。如果某个物体 splinter (例如,一颗小行星被子弹击中),则较小的部分将向下传递到子节点,这些子节点必须适当缩放坐标以维持每个节点内的单位平方归一化。
这里与空间索引中使用的传统四叉树实现的主要区别在于,对象的坐标始终相对于包含它们的节点的坐标系。这种相对主义不仅适用于位置,而且适用于规模。
*无限,因为没有绝对坐标;当用于绝对定位时,甚至 double 浮点坐标也会限制位置和大小。
最佳答案
是的,这是一个呃..“包装网格嵌套的四叉树”吗?如果这是用于网格坐标的值,则只限于int32的最高值和最低值。
关于2d - 无限无标四叉树叫什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2215716/