Page 1 of 1

[Done] Geological plane orientation

Posted: Thu May 19, 2011 9:16 am
by ThomasD
People, hi,

Would it be possible to implement some functionality to measure plane attitude? Does it exist already?

A first quick and dirty solution is to fit a plane with the 3 points picking tool and provide it's normal. I can do that easily enough even with Excel. The idea would be to have displayed in the console.

A second more usefull solution is to compute the normal vector to a LS plane defined by these 3 points.

A third, more practical for geosciences it to convert the normal vector into dip (inclination of the plane from the horizontal with respect to XY plane, expressed in degrees) and strike (compass direction of a coplanar horizontal line - angles expressed in decimal degrees counted clockwise with 0° the Y axis)

And icing on the cake, describe the coplanarity and colinearity of a point set segmented automatically around a manual seed point. A good starting point to implement the moment of inertia is the paper by Oscar Fernandez, 2005, Journal of Structural Geology which I can provide offline.

Cheers,
ThomasD

Re: Geological plane orientation

Posted: Sun May 22, 2011 8:31 pm
by daniel
Hello Thomas,

very interesting suggestions:
- you can already pick up 3 points in a interactive way, but it's meant to get the angle between them. We could of course give the normal (but as you say, it's not very interesting)
- the algorithm to fit a LS plane to a set of points already exists in CloudCompare, I could very easily add a function to apply this on a subset of points
- for the conversion to dip and strike, I doesn't sound very much difficult
- but I'm not sure I get all the subtlety of your last remark (the cherry ;). How do you "describe" exactly the coplanarity and colinearity of points? --> therefore I am much interested by this article! On our side, we are currently trying to integrate as a plugin a library from Ruwen Schnabel et al (Efficient RANSAC for Point-Cloud Shape Detection) that is able to automatically segment a point cloud into planes, cylinders, torus, etc.

Daniel

Re: [Done] Geological plane orientation

Posted: Tue Mar 20, 2012 3:58 pm
by Pfalkingham
Very useful feature, but is there a way to use that plane to orient the point cloud? I.e., remove the overall dip from the total point cloud?

Re: [Done] Geological plane orientation

Posted: Tue Mar 20, 2012 8:28 pm
by daniel
No, but we could at least automatically output a transformation matrix that would do the trick in the console. Then you'll just have to copy and paste it in the new 'apply transformation' tool.

Would it be useful?

Re: [Done] Geological plane orientation

Posted: Wed Mar 21, 2012 2:48 pm
by Pfalkingham
I'd certainly find that useful... don't know if others would.

Re: [Done] Geological plane orientation

Posted: Mon Apr 02, 2012 1:27 pm
by daniel
The last online version (Ver 2.4 04/01/2012) implements this solution.

Re: [Done] Geological plane orientation

Posted: Fri Apr 18, 2014 8:08 am
by BrunaGarcia
And what if we got a 3d object and after all we need to orient this point cloud from just one of the surfaces (like a cube)? I don't get it.
Sorry if it wasn't a smart question, I'm a new user.

Re: [Done] Geological plane orientation

Posted: Fri Apr 18, 2014 9:32 am
by daniel
If you have a point cloud, you can either use:
  • the point picking tool (3rd icon in the main toolbar) to create a 3-points label (save it) that defines a triangle on the 'face' of your cube.
    {*]the scissors tool to segment points on the cube face and call the 'Tools > Fit > Plane' method on this subset
If you have a mesh, then you can pick a triangle with SHIFT+click on the right triangle (this will create a 3-points label as above). Otherwise you can also use the vertices as a point cloud (if the mesh is dense) and do as above. Eventually you can 'sample' points on the mesh (with 'Edit > Mesh > Sample').

In all cases, right-click on the resulting object in the DB tree (i.e. the label or the plane) and choose the 'align camera' option to get the right matrix in the console.