将重叠三角形合并为多​​边形

时间:2010-05-12 08:16:51

标签: algorithm math graphics geometry

我从投影到2D平面的3D模型中得到了一堆重叠的三角形。我需要将触摸三角形的每个岛合并为一个封闭的非凸多边形。

结果多边形不应该有任何洞(因为源数据不是)。

许多源三角形与源数据中的其他三角形共享(浮点相同)边缘。

最简单的方法是什么?性能不是特别重要,因为这将在设计时完成。

3 个答案:

答案 0 :(得分:2)

尝试gpc或General Polygon Clipper Library。

答案 1 :(得分:2)

想象一下投影到平面上作为模型的“视图”(即投影方向是视线,投影就是你所看到的)。在这种情况下,您要计算的多边形的边框对应于模型的轮廓。

反过来,轮廓是模型中的一组边。对于轮廓中的每个边缘,相邻面将具有法线,该法线指向远离平面或朝向平面。您可以通过平面法线检查面法线的点积 - 查找相邻面法线与投影方向具有相反符号的点积的边。

找到所有轮廓边后,您可以将它们连接到所需多边形的边界。

通常,您可以通过Google搜索mesh silouette finding detection等字词找到有关剪影检测和提取的更多信息。也许一个好的开始是here

答案 2 :(得分:1)

我也发现了这种[1]方法,接下来我会尝试。

[1] 2d outline algorithm for projected 3D mesh