1

我从一个精确的数值解中得到了一些点,这些点构成了一个光滑的 3D 物体的表面。这些点已经满足平滑标准并且不包含噪声(除了双精度舍入误差)。我现在需要为物理模拟软件从这些点生成一个三角形网格。

这个问题的两个方面与已经在 SO 上提出的问题不同:

  • 三角测量应该完全使用规定的输入点并且使用规定的点,没有插值,没有添加或省略任何点,“慢跑”等。似乎这种类型的问题在“点云”的背景下被问过几次,其中输入点表示表面上的近似位置,但我的坐标是准确的。
  • 在 3d 中多次提到了 Delaunay 三角剖分,但也提到了一些注意事项,并且 Delaunay 三角剖分对于 3d 来说不是“最佳”的。

是否有开源库或算法的建议可以生成某种形式的高质量 3d 三角剖分(不需要超严格的最优性保证,但某种形式的质量目标会很好)只保留(和所有)规定的顶点和不要将此视为采样和重建问题?

使用以下一种(或多种)实现:C、OCaml、C++ 或 Python 将不胜感激。我找到了 Qhull:http ://www.qhull.org/ (也用于 SciPy 的 scipy.spatial),但看起来它只生成 Delaunay 三角形并且有一些令人困惑的选项,所以我不确定它可以满足我的第一个约束。

4

1 回答 1

0

点集大小的大小是多少?它们是在凸位置,还是大部分在凸位置?你想重建什么样的表面?

CGAL3D alpha 形状组件看起来像是从您的点重建网格的好工具。它在GPLv3+下获得许可。不过,它确实使用了 3D Delaunay 三角剖分。我想知道你在说什么警告。这取决于您拥有的点云类型。

于 2013-01-29T11:05:55.697 回答