Curvature Normal Change Rate

Feel free to ask any question here
Post Reply
orinn
Posts: 31
Joined: Thu Sep 12, 2013 6:44 pm

Curvature Normal Change Rate

Post by orinn »

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.
daniel
Site Admin
Posts: 7332
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Curvature Normal Change Rate

Post by daniel »

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
orinn
Posts: 31
Joined: Thu Sep 12, 2013 6:44 pm

Re: Curvature Normal Change Rate

Post by orinn »

Thank you for the intel.
maxS
Posts: 1
Joined: Tue Sep 22, 2020 3:04 pm

Re: Curvature Normal Change Rate

Post by maxS »

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
daniel
Site Admin
Posts: 7332
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Curvature Normal Change Rate

Post by daniel »

Hi,

The code is here:

Code: Select all

https://github.com/CloudCompare/CCCoreLib/blob/master/src/Neighbourhood.cpp#L992
The comments might help you get some information (the maths at least).
we determine plane normal by computing the smallest eigen value of M = 1/n * S[(p-µ)*(p-µ)']
...
compute curvature as the rate of change of the surface
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).
Daniel, CloudCompare admin
Adfghym
Posts: 1
Joined: Sun Jul 18, 2021 4:58 pm

Re: Curvature Normal Change Rate

Post by Adfghym »

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...
Last edited by Adfghym on Sun Jul 18, 2021 5:29 pm, edited 1 time in total.
Post Reply