CDT icon indicating copy to clipboard operation
CDT copied to clipboard

3D?

Open cdcseacave opened this issue 5 years ago • 7 comments

Such a cool library, unfortunately only for 2D. Can't be generalized to 3D easily?

cdcseacave avatar Jun 24 '20 19:06 cdcseacave

Hi,

Do you mean creating constrained Delaunay tetrahedralizations? I don’t know how easy/complex such a generalization is, so any input and contributions are welcome. Do you have any good references or algorithm descriptions in mind?

Hypothetically since 3d versions of predicates are available, inserting points should be rather straightforward. Inserting constraints could be more difficult in 3d though.

Thanks for the interest and feedback.

artem-ogre avatar Jun 24 '20 20:06 artem-ogre

I am a simple user, I am not familiarized with the theory behind. I know TetGen implements it in 3D, and there is a paper describing it: http://doi.acm.org/10.1145/2629697

cdcseacave avatar Jun 25 '20 08:06 cdcseacave

Thanks, I will look into it. It definitely looks like it needs some effort. So I can't promise anything anytime soon. Leaving this issue open as any contributions are welcome.

artem-ogre avatar Jun 25 '20 09:06 artem-ogre

hi can I work on this issue

anishsingh935 avatar May 01 '21 07:05 anishsingh935

Thanks, @anishsingh935

Let me know if you need any help. Please be aware that this might be a sizable effort: up to a point that it makes more sense to have constrained tetrahedralization as a stand alone lib based on CDT. Perhaps CDT3D or CDTet :)

artem-ogre avatar May 01 '21 18:05 artem-ogre

Hi @anishsingh935 , may I kindly ask: what is the status, where you able to progress, is there a CDT3D or CDTet now?

GenieTim avatar Aug 22 '22 08:08 GenieTim

@GenieTim To my knowledge nothing happened

artem-ogre avatar Aug 22 '22 09:08 artem-ogre

Hi, can CDT be used for 2D triangulation of points in 3D space, like 3D surface reconstruction of point clouds?

xiaolong7 avatar Oct 04 '22 05:10 xiaolong7

@xiaolong7 It can be used as long as you are reconstructing a TIN (2.5D) surface: when for each x,y there is only one height.

For example:

  • possible: reconstructing terrain from a point cloud (e.g., from UAV photogrammetry)
  • not possible: reconstructing tunnel surface from a laser scan

artem-ogre avatar Oct 04 '22 07:10 artem-ogre

I'm looking for a way to triangulate a pointcloud. Here's an example:

A highway road surface:

https://github.com/artem-ogre/CDT/assets/5262037/55229370-1461-4ff6-827d-386789a994c9

sample data: segments.pcd.zip

For a workaround, I may 1) segmentize pointcloud (colored by segment); 2) call CDT (ignoring z); 3) merge each segment's CDT into one.

It'll be great if CDT supports surface pointcloud.


Maybe just modify spatial query, filter out points on other levels (z value) will solve it. I'll give it a try.


https://jeremybyu.github.io/polylidar/introduction.html sounds promising also.

district10 avatar Aug 11 '23 11:08 district10

Hi, @district10 If I understood you correctly the question is how to reconstruct the surface in the areas where roads overlap at different height levels. Is this right?

artem-ogre avatar Aug 11 '23 12:08 artem-ogre

@artem-ogre Yes. It's like building a CDT along the way, without botherings of overpass/underpass.

district10 avatar Aug 11 '23 16:08 district10

One may either use another algorithm for surface reconstruction or do some hacks. Maybe constrained DT is not a good tool for the job in your case.

artem-ogre avatar Aug 19 '23 09:08 artem-ogre