关于点云数据结构的建议

时间:2015-03-19 13:26:17

标签: c# point-clouds

我想在C#中使用数据结构来存储三维点,并使用最近邻搜索,半径搜索和可能的其他操作。 目标是实现细分,三角测量,过滤(中位数和可能的其他),测量,匹配以及其他可能的事情。

我发现k-d树和八叉树是这项工作最常用的数据结构。由于有必要在点云中添加或删除点,因此八叉树似乎是可行的。你知道反对他们的原因吗?

但是,由于需要添加新点,如果一个超出了我的八叉树的边界,我将不得不再次创建整个树,因为我的尺寸已经改变了。有没有解决的办法?这听起来非常昂贵,现在我不能说它是否会经常发生,但是想要做好准备。

是否有关于八角树及其操作的网站/论文,尤其是knn和radius搜索?我发现像PCL这样的库,但对操作的描述而不仅仅是代码将是一个很大的帮助。