多边形添加算法

时间:2012-02-21 13:08:41

标签: algorithm math geometry 2d computational-geometry

我想做以下事情:我在3D空间中有一些面作为多边形。我有一个投影方向和一个投影平面。我在投影平面上有一个凸剪裁多边形。我想得到一个多边形,表示在平面上剪切的所有面的阴影。

到目前为止我做了什么:我将面部的投影计算为投影平面中的多边形。

我可以使用Sutherland-Hodgman算法剪切所有单个投影多边形以剪切到所需区域。

现在我的问题:如何将投影(可能是剪裁的)多边形组合在一起?我是否必须使用像Margalit / Knott这样的算法?

该算法应该非常有效,因为它必须经常运行。那么你认为是什么算法?

是否可以修改Sutherland-Hodgman的算法来解决合并问题?

1 个答案:

答案 0 :(得分:0)

我目前正在使用Bentley-Ottmann实现此算法(n个凹多边形的并集)来查找所有边缘交点,同时跟踪边缘线段两侧的多边形嵌套级别(每边多少个重叠多边形)线很感人。边上具有0的嵌套级别的边输出到结果多边形。做得好是相当棘手的。可以在以下位置找到具有不同算法设计的现有解决方案:

http://sourceforge.net/projects/polyclipping/