简体   繁体   中英

Create an irregular 3D geometry from a cloud of points

I have a large set of 3D points which are equally spaced in each axis. Many of these points are culled based on some criteria, and I'd like to create a 3D geometry to help visualize what's left.

I have looked at some algorithms to create a triangle mesh such as Delaunay Triangulations or a convex hull, but I'm worried that some excluded points might get caught inside the geometry. For example, a 2D slice might look like:

0 0 0 1 1 0 0   
0 0 1 1 1 1 0   
0 1 1 1 1 1 1   
1 1 0 1 0 1 1   
0 1 0 0 0 1 0  

Where "1"s are included and "0"s are excluded. In this case I'm worried that the algorithm will accidentally include the "0"s on the bottom rows because they have "1"s bordering them on both sides. Note that the "0"s will always be on the edge, so we don't have to worry about holes in the geometry.

Afterwards, I will need to be able to rotate the geometry and find its intersection with a plane. I'm pretty sure I can handle the rotation and intersection part, but please keep that in mind.

I could brute force the problem by creating every triangle possible for all points on the surface, and then manually culling out any triangles that contain an excluded point. But the data set can be very large, so I hope there's a more elegant solution to this.

If you are only interested in closed geometries and each are on a plane do you need a mesh/triangualtion or simply a set of polygons?

Converting the 0,1 data into a binary image and running a contour algorithm on would be very simple see OPENCV

我认为您正在寻找点云库

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM