0

我看到谷歌有一个四叉树实现,可以用来搜索给定点是否有效地接近另一个点。但我不明白如何使用。看看这里我还发现此信息非常有价值

根据定义,四叉树是一棵树,其中每个节点最多有四个孩子

谷歌的例子是使用积分,但我想我可以把它换成 lat long。但是让我们谈谈上面链接中显示的示例。

我看到他们正在添加这样的四点:

// Add 4 points to the tree.
tree.add(QuadTreeItem(point: GQTPoint(x: -1, y: -1)))
tree.add(QuadTreeItem(point: GQTPoint(x: -1, y: 1)))
tree.add(QuadTreeItem(point: GQTPoint(x: 1, y: 1)))
tree.add(QuadTreeItem(point: GQTPoint(x: 1, y: -1)))

然后他们开始在边界中搜索边界,如下所示:

// Search for items within the rectangle with lower corner of (-1.5, -1.5)
// and upper corner of (1.5, 1.5).

这是否意味着,他们只搜索我在上面输入的四个点来查找哪些点在这些范围内?

更新:我是否应该明白,当我向它添加点时,谷歌实现的这个 quadTree 会自动重新排列,这样每个节点最多有 4 个点作为靠近它的子节点?它会自动为我做这个吗?

4

0 回答 0