LuigiGiaccari / Surface-Reconstruction-Toolbox

Offers several algorithms to triangulate 3d scattered points
GNU General Public License v3.0
45 stars 10 forks source link

cannot create mesh from laser point cloud #18

Open CanCanZeng opened 2 years ago

CanCanZeng commented 2 years ago

Hi, thank you for sharing this project. I find the SCBMesher creates very good result in some data. But the algorithm fails in some other data, I don't understant, is there any limitation for this algorithm than BallPivoting method? By the way, the result from BallPivoting is also not very good, but still get meaningful mesh. Bellow is my point cloud data and result from BallPivoting.

Screenshot from 2021-11-23 18-00-47 Screenshot from 2021-11-23 18-00-58

(the up right wall is missing in mesh)

you can download and test my data from here https://www.dropbox.com/s/uzba1p6r7vhguos/small.cgo?dl=0 (the ply version can be found here https://www.dropbox.com/s/eukrjd9b27ola4x/small.ply?dl=0)

Any suggestion is welcom, thanks in advance!

LuigiGiaccari commented 2 years ago

Thanks for the report. The issue is likely the front stopping and not restarting. When the points cloud has different island clusters it may happen.

CanCanZeng commented 2 years ago

Thanks for your reply. @LuigiGiaccari What do you mean

the front stopping and not restarting

is it for BallPivoting algorithm or for SCBMesher? Is it possible for me to revise your code slightly to make SCBMesher work for my data?

LuigiGiaccari commented 2 years ago

This is an advancing front code. it means it starts from a point and create triangles as long as it can find points "close enough". In you case the data is clustered into 2 chuncks. The code likely start growing into one of the chunks but does not make the crossing to the other.

Solution would be to restart the code on unmeshed points. If I get some time will add this. If you want feel free to contribute to the code