1

我正在尝试实现八叉树搜索以将我的数据从粗网格(例如 20 点)映射到精细网格(例如超过 50 点)。我设法构造了八叉树(使用 C++ 中的类),但现在面临查询它的问题。

我想要的是从粗网格到细网格上每个点的最接近的 3 个点,并使用这 3 个点的数据值来查找细网格点的数据值。所以现在在查询时我遍历八叉树直到到达叶节点。假设我的每个叶节点至少有三个点(粗网格),我将找到我的细网格点所在的叶节点并计算相应的数据值。

现在的问题是,在某些情况下,与我为精细网格点获得的叶节点相邻的叶节点可能包含比当前叶节点中更接近它的点(或多个点)。确定这是我无法理解的。

我希望我的描述很清楚,并且一些好的灵魂能够帮助我。此外,如果有人可以指出我在八叉树中查询某个半径内的点,那也会有很大帮助。

我正在添加一张图片以更好地解释我的担忧。红点是八叉树中的点,蓝点是查询后细网格点的位置。现在我将使用叶节点 1 中的点来评估这个精细网格点的数据值,而叶节点 2 的点更接近精细网格点。

四叉树

4

0 回答 0