HeCraneChen / Open3D-curvature-computation

total curvature estimation for point clouds and triangle meshes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Excellent work, could you tell me whether there is considering a python version of the test code

hello-jo opened this issue · comments

Good question. Yes, I am considering working on a python binding to make this more accessible. As such, users can access this method by doing as simple as "pip install", then call this method in any of their python code.

Looking forward to your python version can release as soon as possible, thank you very much

I hope this message finds you well. It is writing to you regarding the c++ version of your project, which I have been testing using a data set.
During my testing, I have noticed that when the low curvature changes, the calculation results in a pattern similar to stripes. Additionally, in areas of high curvature change, I have noticed color changes. I am curious to know whether this is caused by an issue with the algorithm formula or a problem with the normal vector solution.
I have also attached a visualization result for your reference. In this particular instance, I have used neighborhood points of 15 and 5 respectively.
Thank you for your attention to this matter. I appreciate your hard work on this project and I look forward to hearing from you soon.
1694398547357
1694398579874
06TestPly.zip

Thanks for sharing with me these cool results!

You are right that quality of normal matters. But I think that only affected the highly curved regions in your example (imagine if the normal flips at some sharp edges). For the patterns observed in low curvature regions, my guess is, this could be the triangulation pattern of the mesh you sampled from. The edges of triangles result in curvature changes, therefore, they should be there. When I opened your data in Meshlab, and increased the point size, similar patterns can be observed:

snapshot00
snapshot01

If those curvatures caused by triangulation are undesirable in your application, you can consider running some re-meshing/subdivision algorithms to get triangle meshes of higher resolution, and sample from there. That might help a bit. But in general, I think as long as the surface is discrete, these patterns cannot be completely removed.

You are absolutely correct, thanks for your answer, I will consider testing with higher resolution meshes in the future work.