【发布时间】:2015-07-31 21:37:56
【问题描述】:
多边形可能是凸面的,也可能不是凸面的。我们可以假设正方形的边缘与 X 和 Y 轴对齐。
计算交叉点 [多边形交叉点的简单算法]1 是多余的,因为我只需要知道它们是否交叉(是或否)。
【问题讨论】:
-
看看 Sutherland-Hodgman 多边形裁剪算法——它可能会给你一些想法……如果你最后没有顶点——这意味着整个多边形在裁剪区域之外,在你的情况下是正方形:youtube.com/watch?v=Euuw72Ymu0M
-
我实际上的意思是说你可以做一个“减少”并将你的问题转换为多边形裁剪问题——我们想要移除裁剪区域之外的多边形部分。因此,在您的情况下,您可以将正方形视为剪切区域,将多边形视为多边形。如果您最终没有顶点 - 您的所有多边形都在剪切区域之外。如果你最终有一组顶点,这意味着多边形的某些部分在剪切区域的内部,所以在你的情况下,这意味着有一个交集
-
intersect 是指正方形的至少一条边与多边形的至少一条边相交吗?如果正方形完全包含多边形(反之亦然)而没有实际的边交叉,你会认为这是一个交叉点吗?
-
对于令人困惑的定义,我深表歉意。我应该提到,我所说的相交实际上是指重叠。如果在多边形和正方形内都存在任何点,则认为它们相交。
标签: algorithm math geometry polygon intersection