Page 1 of 1

Vertical surfaces

Posted: Sun Feb 05, 2017 8:48 pm
by aizquierdo021
I am trying to detect vertical surfaces from a cloudpoint . I try to detect it computing a curvature analysis but he result is not as expected. Is there any tool to detect vertical surfaces ?

Re: Vertical surfaces

Posted: Sun Feb 05, 2017 10:08 pm
by daniel
If it's a point cloud, you can compute the normals and then filter the points based on their orientation with the 'Stereogram display' tool of qFacets: http://www.cloudcompare.org/doc/wiki/in ... ive_filter (see the 'Interactive filter' option).

Re: Vertical surfaces

Posted: Mon Feb 06, 2017 8:01 am
by daniel
Oh, a simpler way to do it is also to compute dip/dip direction from the normals and then filter the points with a dip value close to 0 (or 90, I never remember which way it is ;)

Re: Vertical surfaces

Posted: Mon Feb 06, 2017 6:41 pm
by Dimitri
Works also (depending on your point density and noise):
. map elevation as a scalar (tools->projection->export coordinate to SF (Z)
. compute the gradient (scalar->gradient)
. filter by a threshold value (min/max)

I often use Daniel's suggestion, but on large clouds, normal calculation can be long

Re: Vertical surfaces

Posted: Fri Feb 10, 2017 11:13 am
by matknaak
Daniel's suggestions works fine, but is sensitive to the relation between the size of the surfaces you want to detect, the point distance and the search radius of the normal computation. In the unfortunate case that your steep surfaces have very irregular size and some are actually very small it might be tricky. The search radius used for the normal computation is the same for the entire point cloud irrespective of changes in the point cloud. If you do visually recognise such changes in the poincloud it might be usefull to subdivide the cloud into more homogeneous domains. It would be extremely usefull if this could be automated. Anyway, great tool and everyday good fun to use CC.

cheers

mat

Re: Vertical surfaces

Posted: Mon Mar 25, 2019 8:32 am
by parevalosiles
Hello to everyone. I also want to filter vertical surfaces. My idea was to compute normals, export the z component of the normals (Nz) to a scalar field and then keep all the values between let's say (-0.2<Nz<0.2). Is there any way to export only the Nz component of the normals to a scalar field ? I tried but I didn't succeed to do so. Thank you in advance.

Re: Vertical surfaces

Posted: Mon Mar 25, 2019 10:21 am
by daniel
No, but you can convert the normals to 'Dip and dip direction' (2 scalar fields). Then simply keep the points with a 'dip' value close to 0 degrees if I'm not mistaken.

Another solution is to use the Facets plugin and more especially the 'Stereogram tool' that lets you filter the points based on their (normal) orientation: https://www.cloudcompare.org/doc/wiki/i ... ive_filter