我想做以下事情:我在3D空间中有一些面作为多边形。我有一个投影方向和一个投影平面。我在投影平面上有一个凸剪裁多边形。我想得到一个多边形,表示在平面上剪切的所有面的阴影。
到目前为止我做了什么:我将面部的投影计算为投影平面中的多边形。
我可以使用Sutherland-Hodgman算法剪切所有单个投影多边形以剪切到所需区域。
现在我的问题:如何将投影(可能是剪裁的)多边形组合在一起?我是否必须使用像Margalit / Knott这样的算法?
该算法应该非常有效,因为它必须经常运行。那么你认为是什么算法?
是否可以修改Sutherland-Hodgman的算法来解决合并问题?
答案 0 :(得分:0)
我目前正在使用Bentley-Ottmann实现此算法(n个凹多边形的并集)来查找所有边缘交点,同时跟踪边缘线段两侧的多边形嵌套级别(每边多少个重叠多边形)线很感人。边上具有0的嵌套级别的边输出到结果多边形。做得好是相当棘手的。可以在以下位置找到具有不同算法设计的现有解决方案: