我需要在两条或更多条3d轮廓线之间生成一个三角网格。轮廓线只是一组点,并且始终是闭合的。

我试过使用Poly2Tri库来做delaunay三角剖分,但效果不是很好,因为它只适用于2d,虽然我可以让它在3d中工作,但它不能处理垂直堆叠的等高线(即:当3D被丢弃时具有相同的坐标)
有没有人知道哪种算法是最好的,最好是我可以从c#应用程序中使用的现有库?
发布于 2019-04-27 05:26:03
您可以继续使用2D Delaunay算法,但每次在两个相邻的层(z1,z2)之间执行此操作。(z1 < z2)
假设轮廓线被采样并存储为z平面上逆时针顺序的一组(x,y,z)。您需要为三角剖分构建一组边界/孔点:
对(z2,z3)层再次进行三角剖分,以此类推。请注意,z2处的洞/边界点保持不变,但如果发生重叠,它不会向内移动,而是向外移动。最后,将所有三角形合并为一个网格。
https://stackoverflow.com/questions/55820625
复制相似问题