C# 库从 3D 点云重建水密表面(赞赏体积计算)

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

在我的应用程序中,我有一个由点定义的 3D 不规则对象(从 3D 扫描仪给出的点云)。扫描仪还生成一组物体的三角形面

但是这些面并没有形成封闭的水密实体(这是我的 3D 扫描仪的一个特征):

有了这些坐标,我需要以立方为单位计算物体的体积。但是因为我的对象没有关闭,所以我不能使用类似问题中的大多数基于三角形的解决方案(onetwothreefour,等等)。通常推荐的 geometry3Sharp 库(以及它的 geometry4Sharp 叉子)出于同样的原因不是一个选项(因为它需要三角形来定义一个封闭区域)。

据我所知,我需要从 3D 点云重建水密表面。我找到了 MIConvexHull 库,可以计算 3D 点云的 convexHull。我已经根据我的观点对其进行了测试,但生成的模型尺寸过大(体积比我的原始模型大 ~20%):

看来我需要更精确的算法。但我已经完全搞砸了所有 BPA(球旋转算法)、泊松曲面重建算法、PowerCrust 算法等。还有 PCL(用 C++ 编写的点云库)和 C# wrapper 因为它存在。

是否有经过验证且强大的 C# 库(或一些代码示例)来从点云执行 3D 表面重建(具有高精度和 MIT 或类似许可证)?如果它还可以计算生成的曲面的体积,那就太好了,但这不是必需的(如果我能以某种方式获得该曲面的面,我可以自己计算)。谢谢。

c# 3d geometry point-clouds 3d-reconstruction
© www.soinside.com 2019 - 2024. All rights reserved.