我发现了许多处理通过给定线分割多边形的实现,但我只需要分割一个四边形(具有 4 个顶点的矩形)。
是否有针对此任务优化的算法?简单比性能更重要。
我缩小了 4 种类型的交叉点:
邻近的
线路从一侧进入并从相邻侧离开的位置。
这将生成 1 个具有3 个点的多边形和 1 个具有5 个点的多边形。
对面的
线路从一侧进入并从另一侧离开的位置。
这将生成 1 个带有4 个点的多边形和 1 个带有4 个点的多边形。
对角线对面
线进入一个角落并通过对角离开的地方。
这将生成 1 个具有3 个点的多边形和 1 个具有3 个点的多边形。
对角相邻
线路进入一个角落并从相邻一侧离开的地方。
这将生成 1 个具有3 个点的多边形和 1 个具有4 个点的多边形。
但到目前为止,我无法想出一个好的简单算法。
谢谢!