3d 仅使用精确输入点作为顶点生成三维三角形曲面网格

3d 仅使用精确输入点作为顶点生成三维三角形曲面网格,3d,geometry,point,mesh,delaunay,3d,Geometry,Point,Mesh,Delaunay,我从一个精确的数值解中得到了很多点,这些点构成了一个光滑的3D物体的表面。这些点已经满足平滑度标准,并且除了双精度舍入误差之外不包含任何噪声。我现在需要从这些点为物理模拟软件生成一个三角形网格 本问题的两个方面与之前提出的问题不同: 三角测量应准确使用规定的输入点,且仅使用规定的点,无需插值,无需添加或省略任何点、啮合等。在点云的情况下,似乎已多次提出此类问题,其中输入点表示曲面上的近似位置,但我的坐标是准确的。 有很多人提到了三维中的Delaunay三角剖分,但也提到了注意事项,并且Delau

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

本问题的两个方面与之前提出的问题不同:

三角测量应准确使用规定的输入点,且仅使用规定的点,无需插值,无需添加或省略任何点、啮合等。在点云的情况下,似乎已多次提出此类问题,其中输入点表示曲面上的近似位置,但我的坐标是准确的。 有很多人提到了三维中的Delaunay三角剖分,但也提到了注意事项,并且Delaunay三角剖分被认为不是三维的最佳方法。 是否有针对开源库或算法的建议,可以生成某种形式的高质量三维三角测量超严格的优化保证(不需要),但某种形式的质量目标最好只保留指定的所有顶点,而不将其视为采样和重建问题


在C、OcAML、C++或Python中的一个或多个实现将被赏识。我发现Qhull:也用于SciPy的SciPy.spatial,但它似乎只生成Delaunay三角形,而且有一些令人困惑的选项,因此我不确定它是否能满足我的第一个约束条件。

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


的组件看起来是从点重建网格的好工具。它是根据法律许可的。不过,它确实使用了3D Delaunay三角剖分。我不知道你在说什么警告。这取决于您拥有的点云类型。

可能的重复我认为这是一个类似的问题,但我不限于vtk。“亚历杭德罗”似乎对我也有类似的目标。然而,我对一种重建方法的观点很严格,认为重建点是近似的,而不是我所追求的,而亚历杭德罗愿意考虑点云库,而我不是。你的3D体是凸的吗?点集的凸包将是一个多面体,该多面体的每个面都可以使用Delaunay三角剖分进行三角剖分。但是如果你的身体不是凸面的,就会有一些内部的点根本不用。如果您有这样的内部点,那么这个解决方案将不起作用,并且通常身体不会被这些点明确地描述。也许可以为这种情况提供一些有用的指导。我强烈建议您找出Qhull,因为编写自己的三角剖分是一场噩梦。此外,Qhull有一个C++接口,而且非常快,它是由一组计算科学家建立的,并且经过了几年的优化。这是一个你不需要重新发明的轮子!是的,您可以将Qhull设置为仅使用输入点,而不添加或省略点,事实上,这是我使用的版本的默认值。@MvG:3D实体始终至少为星形凸面。实际上,假设身体本质上是一种管子;管的每个横截面保证为简单的多边形,星形凸面。管子的轴线——通过连接每个横截面的质心而形成的线,形成一条非常柔和的曲线,它从不打结、陡峭地弯曲或向后弯曲,等等。其大小在15000-25000点之间。我希望我在上面对MvG的评论中已经澄清了凸性问题。我认为从点到面的构造应该是明确的。我在3D中看到一些关于Delaunay的评论,如:和。谢谢你提到3D alpha形状,我以前没听说过。好吧,我不同意关于另一条线的评论。在我的公司GeometryFactory中,我们使用使用3D Delaunay三角剖分的工具解决了很多3D问题。