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 18:01] – [Merge] 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: | ||
Line 26: | 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 33: | Line 31: | ||
+ | ===== Local transformation ===== | ||
+ | |||
+ | 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 ===== | ===== Split by plane ===== | ||
Line 123: | Line 140: | ||
=== Output === | === 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.1731344468.txt.gz · Last modified: 2024/11/11 18:01 by gaetan