Page 1 of 1

Curvature Normal Change Rate/Command Line Mode

Posted: Mon Jul 02, 2018 1:11 pm
by damagor
Thank you for the great software on point cloud processing. I just learned the software two weeks ago and found it is very helpful. Recently I got into command line mode and all responses in forum helped me to execute it nice.

I have question on the curvature normal change rate. How does the values compute? Curious to understand what's behind the logic. Any reference or reading? Another question is that possible to compute normal change rate in Command Line Mode? As far from the wiki, I only see mean and gaussian. Wonder how may it be done? Willing to contribute to add more support on the command line mode.

Thanks.

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Mon Jul 02, 2018 6:59 pm
by daniel
Hum, I don't remember exactly, but the 'normal change rate' method was taken from PCL (http://pointclouds.org/). I think it's related to the definition of the curvature as "the magnitude of the rate of change of T" (see https://en.wikipedia.org/wiki/Curvature ... ane_curves).

And adding the support for this mode to the command line is easy. Simply add another case to the corresponding command line section (see https://github.com/CloudCompare/CloudCo ... nds.h#L943).

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Tue Jul 03, 2018 9:17 am
by damagor
Thank you for your dedicated effort and explanation. And I found the cpp code on how these curvatures compute at https://github.com/CloudCompare/CloudCo ... urhood.cpp

I think I get your meaning; that would be in following case. Correct me if I am wrong.

else if (curvTypeStr == "NCR")
{
curvType = CCLib::Neighbourhood::NORMAL_CHANGE_RATE;
}

I am new to github. Shall I make a change to the master and pull request for your approval? Just curious how each change of new features is implemented from the software point of view. For example, in this case to add normal change rate in command line, once you approved the change, how would users update their software for new addition feature in their command line? Thinking ways to understand and help in dev of CC.

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Tue Jul 03, 2018 7:22 pm
by daniel
Hum, you are right, that's that easy ;).

Juste these two lines, then a pull request. But then users will have to compile the project themselves, or wait for me to compile an updated 'alpha' version (which can be very fast actually).

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Wed Jul 04, 2018 10:35 am
by damagor
Hi Daniel,

Thank you for your guide. I've added these two lines and committed to master branch. Not sure if I did it correctly. Please feel free correct me if you didn't the pull request.

I am interested in learning how to compile project like CC. Wonder if you could share your experience on how to compile project so I can use it locally. Otherwise, I shall wait for your alpha version.

Thanks a lot!

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Wed Jul 04, 2018 6:46 pm
by daniel
Thanks for the contribution (even small, at least now you know how to do it and it may be easier to do more ;).

To compile the project, you have to follow the BUILD.MD file instructions: https://github.com/CloudCompare/CloudCo ... r/BUILD.md

Compiling the CloudCompare itself is easy. But some I/O filters (to load/save files) and some plugins have dependencies to 3rd party libraries that may be a little bit harder to setup.

Meanwhile, I updated the 2.10.alpha version ;)

Re: Curvature Normal Change Rate/Command Line Mode

Posted: Thu Jul 05, 2018 8:29 am
by damagor
I agree with small contribution is helping to build bigger framework. Thanks for your encouragement.

That's very detailed instruction. I am also currently learning to use point cloud library, however, I struggle with the setup of PCL with VS, CMAKE as well as other dependencies. That needs some time to learn.

Anyway, couldn't thanks enough for your effort on CC.