Calculating the local surface properties of an unstructured point cloud is a non-trivial problem. As demonstrated in [1]}, [2]}, covariance analysis can be an intuitive estimator of the surface normals and curvature. In particular, considering a neighborhood \(\mathcal {N}_i\)  around the point \(\mathbf {p}_i \in \mathcal {R}^3\)  we can define the covariance matrix:
\(C =\begin{bmatrix}\mathbf {p}_{i_1} - \mathbf {p}_i \\\mathbf {p}_{i_2} - \mathbf {p}_i\\\vdots \\\mathbf {p}_{i_k} - \mathbf {p}_i\end{bmatrix}^T \cdot \begin{bmatrix}\mathbf {p}_{i_1} - \mathbf {p}_i \\\mathbf {p}_{i_2} - \mathbf {p}_i\\\vdots \\\mathbf {p}_{i_k} - \mathbf {p}_i\end{bmatrix}\in \mathbb {R}^{\vert \mathcal {N}_i\vert \times \vert \mathcal {N}_i\vert }\) 
