我发现许多实现都处理按给定行拆分多边形,但我只需要拆分 Quad (带有4个顶点的矩形)。
是否有针对此任务优化的算法? 简单重视绩效。
我缩小了4种类型的交叉点:
线条从一侧进入并从相邻侧面离开 这将生成1个具有 3个点的多边形和1个具有 5个点的多边形。
线条从一侧进入并从另一侧离开 这将生成1个具有 4个点的多边形和1个具有 4个点的多边形。
线条进入一个角落并穿过对角 这将生成1个具有 3个点的多边形和1个具有 3个点的多边形。
线条进入一个角落并从相邻边缘离开 这将生成1个具有 3个点的多边形和1个具有 4个点的多边形。
但到目前为止我无法提出简单的算法。
谢谢!
答案 0 :(得分:1)
有a lot of effective algorithms通过矩形窗口剪切线条。
我已将Liang-Barski one用于我的目的(查看“外部链接”部分以便有效实施)