用一条线分割多边形
Posted
技术标签:
【中文标题】用一条线分割多边形【英文标题】:Slice polygon with a line 【发布时间】:2022-01-12 01:05:36 【问题描述】:我有一个预定义的凸多边形 (P)(二维坐标 [x,y] 的数组),我想用两点定义的线将它分割成两个新的多边形 (Pa, Pb) - 我已经可以访问了到直线与多边形的交点。
我知道 Greiner-Hormann 算法可以做类似的事情,但我不确定如何实现它。
我也知道以前有人问过这个问题,但我看到的答案主要包括大部分飞到我脑海中的伪代码。
【问题讨论】:
问题是什么?? 你说你已经有了交点。所以......工作完成了。恭喜。还是有其他问题? 我正在尝试使用线将点数组(多边形)分成两个数组(新多边形) 我添加了一张图片,可以更好地解释我想要实现的目标 是的,我们知道您正在尝试分割多边形。但是你说你已经设法计算出分割点。听起来你已经解决了这个问题。那么您具体面临什么问题呢? 【参考方案1】:如果您知道相交边a, b
和交点pa, pb
的索引,则只需生成两个新多边形。
第一个包括索引为0..a
的顶点、新顶点pa, pb
和顶点b+1..n-1
第二个包含顶点pb, pa, indices a+1...b
当交点与现有顶点重合时处理情况。
【讨论】:
以上是关于用一条线分割多边形的主要内容,如果未能解决你的问题,请参考以下文章