Meshlab中的伪逆二次曲面拟合如何计算主曲率?

How does pseudoinverse quadric fitting in Meshlab compute the principal curvatures?

我试图找到任何关于伪逆二次拟合的参考,但没有找到。我正在尝试获得具有边缘(未闭合)的曲面的曲率。这种方法似乎在边缘分配了一定的负曲率值。我不确定为什么。请帮忙。

这是 MeshLab 中计算曲率的算法,名称为 Pseudoinverse Quadric Fitting:

  • 对于每个点,它选择给定半径内的一组最近的顶点,
  • 通过平均法线和
  • 计算投影平面
  • 在这个平面上拟合这些点的二次曲面。

曲率方向和值是这个拟合二次曲面的方向和值。 为了拟合四边形,代码使用 SVD 分解,因此使用伪逆名称。
代码在这里 https://github.com/cnr-isti-vclab/vcglib/blob/devel/vcg/complex/algorithms/update/curvature_fitting.h