二元空间划分树实现

问题描述 投票:0回答:1

有人知道或知道在哪里可以找到 Python BSP-Tree 实现的示例吗?我正在基于 NN 搜索对 K-d 树和 BSP 树及其运行时间进行比较。 (获得实现后我会将其修改为相同的配置)

我设法找到了一个非常好的研究人员的自平衡 K-D 树实现,他向公众开放了它(我知道 BSP 是一个概括,但我似乎无法修改 K-D 树以使其工作),但是我似乎找不到 BSP 树。

抱歉,如果我说的有些内容不太准确,请纠正我,因为我正在就此写一篇论文;-;

也许我只是瞎了眼,但我似乎找不到合适的Python实现。每次我发现一些东西时,它们都是简单的概念实现或实际树的一部分

python spatial implementation bsp-tree
1个回答
0
投票

要在Python中实现BSP树,请从K-D树开始并修改它以允许任意分割平面而不是轴对齐的平面。你需要:

使用主成分分析(PCA)等方法来找到分割点的最佳平面。 根据点位于平面的哪一侧,将它们分为两组。 通过分割每个节点上的点来递归地构建树。 对于 NN 搜索,采用 K-D 树算法来考虑任意平面。如果您需要一个起点,那么调整 K-D 树实现是您的最佳选择,因为特定于 BSP 的 Python 实现很少见。

© www.soinside.com 2019 - 2024. All rights reserved.