计算两个网格之间的Hausdorff距离

时间:2013-02-28 21:55:45

标签: 3d mesh cgal point-clouds

我试图找到两个网格之间的偏差。对于例如在3d空间中定义的两组点之间的差异,我计划使用一些三维可视化工具来显示距离,例如, QT3d或一些基于open gl的库。

我有两组网格,基本上是两个.stl文件。我已经编程将它们作为输入读取。现在我需要计算相应网格之间的偏差。为此,我理解Hausdorff距离是一种可能的数学工具。是否有任何库可以计算两个网格之间的Hausdorff距离?

我设法找到一段代码。但它或多或少是一个程序本身。它被称为M.E.S.H.我不想使用它,因为它是1.它用C,2编写。我想开发自己的应用程序(当然使用库)。

在这个论坛上提出的其他问题都指向数学算法,我不打算自己实现算法。

我使用QT5进行msvc2010(32位)编程。

最好的问候

TDK。

3 个答案:

答案 0 :(得分:4)

实施起来似乎并不复杂:http://vcg.isti.cnr.it/publications/papers/metro.pdf

答案 1 :(得分:4)

您可以在libigl中使用igl::hausdorff。如果您的第一个网格在矩阵VA的行中具有顶部,其中面部索引为FA,而第二个网格具有VBFB,那么

double d;
igl::hausdorff(VA,FA,VB,FB,d);

将计算两个网格之间的Hausdorff距离d

答案 2 :(得分:0)

我不确定它是否可以提供帮助,但请查看双二次衡量标准http://www.computingscience.nl/docs/vakken/ddm/slides/papers/garland2.pdf