groimp-platform:pointcloudtools
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
groimp-platform:pointcloudtools [2024/11/11 17:46] – gaetan | groimp-platform:pointcloudtools [2024/12/06 12:04] (current) – [Point cloud tools] gaetan | ||
---|---|---|---|
Line 3: | Line 3: | ||
This wiki present the base tools included in the [[https:// | This wiki present the base tools included in the [[https:// | ||
- | Every tools presented here are available both from GUI or from RGG code. The projects used to create the images are available from the example explorer embedded in GroIMP. The tools consider the local/ | + | Every tools presented here are available both from GUI or from RGG code. The projects used to create the images are available from the example explorer embedded in GroIMP. The tools consider the local transformation of the point cloud. The coordinate of the Point are local in relatively to the Point cloud Node. |
See more: | See more: | ||
- | * [[groimp-platform: | + | |
- | * [[tutorials: | + | |
+ | * [[tutorials: | ||
=== Using tools from the GUI === | === Using tools from the GUI === | ||
Line 25: | Line 26: | ||
To use the tools in RGG you should import the following packages: | To use the tools in RGG you should import the following packages: | ||
<code java> | <code java> | ||
- | import de.grogra.pointcloud.groimp.*; | ||
- | import de.grogra.pointcloud.groimp.PointCloud; | ||
import de.grogra.pointcloud.objects.impl.*; | import de.grogra.pointcloud.objects.impl.*; | ||
import de.grogra.pointcloud.tools.Tools; | import de.grogra.pointcloud.tools.Tools; | ||
Line 32: | Line 31: | ||
+ | ===== Local transformation ===== | ||
- | ==== Split by plane ==== | + | It is key to understand that in GroIMP each node have a local transformation, |
+ | |||
+ | For point clouds nodes, it means that two point clouds with points that have the SAME coordinates, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | The first image results from // | ||
+ | |||
+ | It is possible to force a point cloud to have global coordinates by moving it to the root of the graph and transforming it with its globalTransformation with : | ||
+ | |||
+ | <code java> | ||
+ | PointCloud myPC = ...; | ||
+ | Matrix34d transfo = de.grogra.pointcloud.utils.Utils.getGlobalTransform( myPC); | ||
+ | Matrix4d localT = myPC.getLocalTransformation(); | ||
+ | myPC.setTransform( transfo.transform( localT ) ); | ||
+ | [c: | ||
+ | </ | ||
+ | |||
+ | ===== Split by plane ===== | ||
A given point cloud can be split into two point clouds based on a plane object. | A given point cloud can be split into two point clouds based on a plane object. | ||
Line 60: | Line 78: | ||
//Note: The RGG split only works with a plane added through RGG// | //Note: The RGG split only works with a plane added through RGG// | ||
+ | === Output === | ||
+ | {{: | ||
- | ==== Split by leaf ==== | + | ===== Split by leaf ===== |
A selection of leafs (points) of a point cloud can be seperated to become their own point cloud. | A selection of leafs (points) of a point cloud can be seperated to become their own point cloud. | ||
Line 90: | Line 110: | ||
</ | </ | ||
- | ==== Merge ==== | + | === Output === |
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Merge ===== | ||
Turning several point clouds into one. The end result will be of the format (graph/ | Turning several point clouds into one. The end result will be of the format (graph/ | ||
+ | |||
+ | The merge tool is considering the coordinate of the point relatively to the Point cloud Node. For Node added to the root of the project graph, their local transformations are equivalent to a global one. Thus, Point clouds added at the root of the project graph, or having not transforming parent to the root, have " | ||
+ | |||
+ | However, if the point clouds are under other transformations in the graph, the merged Points will be added to the other Point cloud with their local coordinate. | ||
=== GUI === | === GUI === | ||
Line 111: | Line 139: | ||
+ | === Output === | ||
+ | |||
+ | Point clouds added to the Project graph root: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Point clouds with local transformations (as part branch of Nodes with transformations). | ||
+ | In the following example, the two point clouds are added each after a F build by the following code (where //PC1// and //PC2// are the Point cloud nodes: | ||
+ | <code java> | ||
+ | Axiom ==> F PC1 F PC2 ; | ||
+ | </ | ||
+ | |||
+ | In that example, the points of PC1 are translated by the //F// Node, but their local coordinates do not include this translation. Similarly, the points of PC2 are translated twice, once per F. | ||
+ | |||
+ | If we merge the //RED// point cloud (PC2) into the //BLACK// one we have the following result (the points of PC2 are translated only by the first F): | ||
+ | {{: | ||
==== Cluster ==== | ==== Cluster ==== |
groimp-platform/pointcloudtools.1731343619.txt.gz · Last modified: 2024/11/11 17:46 by gaetan