关于点云数据结构的建议
Advice on data structure for point clouds
我想使用 C# 中的数据结构来存储三维点并使用最近邻搜索、半径搜索和可能的其他操作。
目标是实现分割、三角测量、过滤(中值和可能的其他)、测量、匹配和其他东西。
我发现 k-d 树和八叉树是这项工作最常用的数据结构。由于可以从点云中添加或删除点是必要的,因此八叉树似乎是可行的方法。你知道反对他们的理由吗?
但是,由于有必要添加新的点,如果有一个点在我的八叉树的边界之外,我将不得不重新创建整棵树,因为我的维度已经改变。有没有解决的办法?这听起来很昂贵,而且现在我不能说它是否会经常发生,但我想为此做好准备。
是否有关于八叉树及其操作的 website/paper,尤其是 knn 和半径搜索?我找到了像 PCL 这样的库,但是对操作的描述而不仅仅是代码会有很大帮助。
我想使用 C# 中的数据结构来存储三维点并使用最近邻搜索、半径搜索和可能的其他操作。 目标是实现分割、三角测量、过滤(中值和可能的其他)、测量、匹配和其他东西。
我发现 k-d 树和八叉树是这项工作最常用的数据结构。由于可以从点云中添加或删除点是必要的,因此八叉树似乎是可行的方法。你知道反对他们的理由吗?
但是,由于有必要添加新的点,如果有一个点在我的八叉树的边界之外,我将不得不重新创建整棵树,因为我的维度已经改变。有没有解决的办法?这听起来很昂贵,而且现在我不能说它是否会经常发生,但我想为此做好准备。
是否有关于八叉树及其操作的 website/paper,尤其是 knn 和半径搜索?我找到了像 PCL 这样的库,但是对操作的描述而不仅仅是代码会有很大帮助。