I have a certain XYZ set of points that make up an object. I chose a random point and make the nearest radius analysis and find the neighbors. From these neighbors, I get the green pointcloud curve which can be seen in the figure.
My goal now is to describe the curvature of those points with respect to the random point chosen (now the one on the top). What I found by searching is this:
The point cloud itself can be parameterized into a covariance matrix which will describe the data well. Then I know I need to find the principal components which can be done by taking an evd or svd. However, I have some questions.
The evd and svd will give 3 orthonomal vectors and 3 values each. To describe curvature I need k1,k2. Will these be the first two eigenvalues or the two first singular values? What does the third eigenvalue represent then?
Taking the svd will give only positive singular values and I found online that the evd of a covariance matrix gives only positive values. How can I classify my curvature into surface point classes as specified in the wiki article on principal curvature if these methods return positive values only?
Is this method rotation invariant? When passing the subsample of XYZ it can be saddle formed but if it were rotated 180 degrees it would have a "taco" form? The question could be irrelevant because XYZ is still represented within the local frame.
Or should I take another approach?