我试图找到两个网格之间的偏差。对于例如在3d空间中定义的两组点之间的差异,我计划使用一些三维可视化工具来显示距离,例如, QT3d或一些基于open gl的库。
我有两组网格,基本上是两个.stl文件。我已经编程将它们作为输入读取。现在我需要计算相应网格之间的偏差。为此,我理解Hausdorff距离是一种可能的数学工具。是否有任何库可以计算两个网格之间的Hausdorff距离?
我设法找到一段代码。但它或多或少是一个程序本身。它被称为M.E.S.H.我不想使用它,因为它是1.它用C,2编写。我想开发自己的应用程序(当然使用库)。
在这个论坛上提出的其他问题都指向数学算法,我不打算自己实现算法。
我使用QT5进行msvc2010(32位)编程。
最好的问候
TDK。
答案 0 :(得分:4)
答案 1 :(得分:4)
您可以在libigl中使用igl::hausdorff
。如果您的第一个网格在矩阵VA
的行中具有顶部,其中面部索引为FA
,而第二个网格具有VB
和FB
,那么
double d;
igl::hausdorff(VA,FA,VB,FB,d);
将计算两个网格之间的Hausdorff距离d
。
答案 2 :(得分:0)
我不确定它是否可以提供帮助,但请查看双二次衡量标准http://www.computingscience.nl/docs/vakken/ddm/slides/papers/garland2.pdf