Hi all,
I'm using Cloud Compare to calculate the distance (thickness) between two point clouds, but seem it has an issue when these point clouds have an intersection.
For example, the referenced cloud has points R1, R1, R3, R4, R5, R6, R7, R8, R9, R10, I1, I2, I3, I4, I5.
and the computed cloud has points A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, I1, I2, I3, I4, I5.
in which I1, I2, I3, I4, I5 are the points on the intersection of two point clouds.
Base on the principle of Distance Computation at
https://www.cloudcompare.org/doc/wiki/i ... omputation
for example the nearest neighbor point of A1 is I1, A2 is I2, A3 is I3, A4 is I4 and A5 is I5, but I1, I2, I3, I4, I5 are on the same computed cloud.
Is it right? When calculating distance between two point clouds does it eliminate the nearest neighbor points on the intersection?
P/S: Does it have any books, documents, articles explain about DmgOctree (Index, Code, Bit Shift, etc), Hausdorff Distance, Saito Transformation Matrix. Can you share me some books, articles, documents to study about algorithms in Cloud Compare?
I have read source code, but it very difficult to understand why/what it is implementing that.
Thanks & best regards,
[C2C] Distance Computation: Does it have issue when two point clouds have an intersection?
-
- Posts: 2
- Joined: Wed Jul 14, 2021 9:56 am
Re: [C2C] Distance Computation: Does it have issue when two point clouds have an intersection?
Sorry, I'm not sure to understand your 'intersection' points...
The C2C algorithm is simple and it will just look for the nearest point in the reference cloud (I'm not sure why I1 would be the nearest to A1, unless you are referring to a very specific cloud? That's what I'm unsure of).
And mind that there are other ways to compute distances (first, C2C with local models, and then M3C2 for instance).
You can find a lot of information on the wiki: https://www.cloudcompare.org/doc/wiki/i ... =Main_Page
Then the best source (in English) of information about the DgmOctree structure is this article: https://www.danielgm.net/phd/isprs_lase ... 05_dgm.pdf
(and if you speak French, you'll get even more information in my PhD manuscript... https://www.danielgm.net/phd/phd_eng.html)
The C2C algorithm is simple and it will just look for the nearest point in the reference cloud (I'm not sure why I1 would be the nearest to A1, unless you are referring to a very specific cloud? That's what I'm unsure of).
And mind that there are other ways to compute distances (first, C2C with local models, and then M3C2 for instance).
You can find a lot of information on the wiki: https://www.cloudcompare.org/doc/wiki/i ... =Main_Page
Then the best source (in English) of information about the DgmOctree structure is this article: https://www.danielgm.net/phd/isprs_lase ... 05_dgm.pdf
(and if you speak French, you'll get even more information in my PhD manuscript... https://www.danielgm.net/phd/phd_eng.html)
Daniel, CloudCompare admin
-
- Posts: 2
- Joined: Wed Jul 14, 2021 9:56 am
Re: [C2C] Distance Computation: Does it have issue when two point clouds have an intersection?
Thanks for shared articles.
I attach an image to illustrate about this case.
You can see I1, I2, I3, I4, I5 are intersected points (lie on both referenced point cloud and computed point cloud).
In that case does it eliminate the nearest neighbor points that lie on computed point cloud?
(The expected result of nearest neighbor points maybe A1->R2, A2->R2, A3->R2, A4->R3, A5->R3)
I attach an image to illustrate about this case.
You can see I1, I2, I3, I4, I5 are intersected points (lie on both referenced point cloud and computed point cloud).
In that case does it eliminate the nearest neighbor points that lie on computed point cloud?
(The expected result of nearest neighbor points maybe A1->R2, A2->R2, A3->R2, A4->R3, A5->R3)
- Attachments
-
- PointCloudIntersection.png (11.44 KiB) Viewed 1581 times
Re: [C2C] Distance Computation: Does it have issue when two point clouds have an intersection?
Ah no, the 'nearest neighbor distance' is very simple, and each point is processed independently from the others. So in your example, A1 will be probably closer to I1, thus its distance will be A1I1.
Daniel, CloudCompare admin