CloudCompare中常见的点云几何特征计算方法
double Neighbourhood::computeFeature(GeomFeature feature)
{
if (!m_associatedCloud || m_associatedCloud->size() < 3)
{
//not enough points
return std::numeric_limits<double>::quiet_NaN();
}
SquareMatrixd eigVectors;
std::vector<double> eigValues;
if (!Jacobi<double>::ComputeEigenValuesAndVectors(computeCovarianceMatrix(), eigVectors, eigValues, true))
{
//failed to compute the eigen values
return std::numeric_limits<double>::quiet_NaN();
}
Jacobi<d