I'm currently running tests with the tool - curvature- Normal Change Rate
Its working great, but I noticed something odd to me that could be nothing. The computation time with a cloud that has normals already, and one that does not is roughly the same. I would of expected the cloud with normals to calculate faster since it would not need to generate them.
Just curious if this seems right or if the tool is not taking into account if normals already exist.
Curvature Normal Change Rate
Re: Curvature Normal Change Rate
Indeed, the tool doesn't use the normals at all. It simply fits a local surface on the points. And the curvature is always unsigned if I'm not mistaken.
Daniel, CloudCompare admin
Re: Curvature Normal Change Rate
Thank you for the intel.
Re: Curvature Normal Change Rate
Hello,
I am refreshing this old topic.
I am running tests in CloudCompare to classify points, and the curvature normal change rate appears to be the most appropriate discrimation factor.
However, I do not well understand what is computed, in particular the differences with the classical ways to compute curvature.
I saw in another CC topic that this tools is coming from PCL library, but I did not find any documentation. The other topic provides this link https://en.wikipedia.org/wiki/Curvature ... n_surfaces , but it is not clear to me if CC directly compute one the presented parameters, or something else.
I will use this tool for a reseach paper, so I need to explain precisely what is done. Can you provide me more information on this "curvature normal change rate", and/or some additionnal documentation (PCL or else)?
Thank you
I am refreshing this old topic.
I am running tests in CloudCompare to classify points, and the curvature normal change rate appears to be the most appropriate discrimation factor.
However, I do not well understand what is computed, in particular the differences with the classical ways to compute curvature.
I saw in another CC topic that this tools is coming from PCL library, but I did not find any documentation. The other topic provides this link https://en.wikipedia.org/wiki/Curvature ... n_surfaces , but it is not clear to me if CC directly compute one the presented parameters, or something else.
I will use this tool for a reseach paper, so I need to explain precisely what is done. Can you provide me more information on this "curvature normal change rate", and/or some additionnal documentation (PCL or else)?
Thank you
Re: Curvature Normal Change Rate
Hi,
The code is here:
The comments might help you get some information (the maths at least).
The code is here:
Code: Select all
https://github.com/CloudCompare/CCCoreLib/blob/master/src/Neighbourhood.cpp#L992
...we determine plane normal by computing the smallest eigen value of M = 1/n * S[(p-µ)*(p-µ)']
And I found this way of computing the curvature in PCL indeed. It's in the 'NormalEstimation' class I believe (https://pointclouds.org/documentation/c ... ation.html). Normally I implemented more or less the same curvature computation algorithm (but that was a long tiem ago, I can't remember well :D).compute curvature as the rate of change of the surface
Daniel, CloudCompare admin
Re: Curvature Normal Change Rate
Hi!
I looked into the code and it seems that the normal change rate feature is calculated in the same way as surface variation. I think that this is very confusing. Maybe it could be somehow stated that this is the same feature? Or is it possible to rearrange the gui so that the features are not repreated? Espetially with different names...
I looked into the code and it seems that the normal change rate feature is calculated in the same way as surface variation. I think that this is very confusing. Maybe it could be somehow stated that this is the same feature? Or is it possible to rearrange the gui so that the features are not repreated? Espetially with different names...
Last edited by Adfghym on Sun Jul 18, 2021 5:29 pm, edited 1 time in total.