我有一个人体“表面”网格数据。:三角形网格(顶点,面)

我想从中得到的是当前网格的“精确向下采样”版本。 />
这意味着..处理后的输出网格应具有全部属于输入网格的顶点,并且网格数据应为三角形网格形式。.

我知道一些曲面网格简化算法,例如泊松曲面重构算法。但是据我所知,它们并没有保留输入网格的位置。
我只是想对点进行下采样并对其进行三角测量。

评论

只是为了确认,您希望输出顶点是输入顶点的子集?输出顶点位于输入网格所定义的表面上还不够吗?

#1 楼

1.方法:顶点聚类

这或多或少是一种低质量的方法,但是根据您的网格它可能效果很好。
基本思想是将空间划分为规则的空间网格,然后为每个拥有至少一个顶点的单元格选择一个代表。
然后基于原始顶点的连通性计算连通性。



在图像中,您将看到基本的2D聚类。
您将看到,只需选择一个现有的顶点作为代表(最接近均值或最接近中心,或您选择的任何其他构想),您将看到左边的未缩小网格​​,右边的已缩小网格。可以想到)您获得了一个顶点子集。但是,正如已经说过的,它是否起作用取决于您的网格。

2。方法:使用半边折叠进行增量网格抽取



一个顶点折叠到其邻域中。从而再次获得子采样。
这是一种渐进方法。您评估哪个塌陷会降低质量(例如,到原始曲面的总距离,但可能更多)并塌陷。然后,您检查质量是否下降太多,以至于再次崩溃,如果停止,则停止。否则,请再次执行。直到质量下降太多或达到目标大小为止。

方法3:采用顶点抽取的渐进式网格抽取。这次没有塌陷,您只需删除一个顶点并为此创建的孔计算一个新的三角剖分。