Algorithm 多边形相交面积的算法
我有两个简单的多边形,用顶点列表定义 我需要计算它们相交的面积。我需要一个算法来决定两个多边形是否相交。 假设:多边形是凸的。 (这些适用于凸多边形。) 您可以查看此项以了解更多信息 为了确定两个凸多边形是否相交(彼此接触),我们可以使用分离轴定理。基本上:Algorithm 多边形相交面积的算法,algorithm,polygon,Algorithm,Polygon,我有两个简单的多边形,用顶点列表定义 我需要计算它们相交的面积。我需要一个算法来决定两个多边形是否相交。 假设:多边形是凸的。 (这些适用于凸多边形。) 您可以查看此项以了解更多信息 为了确定两个凸多边形是否相交(彼此接触),我们可以使用分离轴定理。基本上: 如果两个凸多边形不相交,则存在一条穿过它们的线 只有当其中一个多边形的一侧形成这样一条线时,这样一条线才存在 第一句话很简单。因为多边形都是凸的,所以您可以绘制一条线,一个多边形在一边,另一个多边形在另一边,除非它们相交。第二种方法稍微
- 如果两个凸多边形不相交,则存在一条穿过它们的线
- 只有当其中一个多边形的一侧形成这样一条线时,这样一条线才存在
(x1,y1)
,(x2,y2)
,(x3,y3)
<凸多边形的代码>(xn,yn)排列在下面的“行列式”中。坐标必须围绕多边形以逆时针顺序获取,从同一点开始和结束
| x1 y1 |
| x2 y2 |
| x3 y3 |
Area= (1/2)* | .. .. |
| .. .. |
| xn yn |
| x1 y1 |
= (1/2)[(x1*y2+x2*y3+...xn*y1)- (y1*x2+y2*x3+...+yn*x1)]
这些是解决问题必须执行的步骤。希望能有帮助。哈哈哈,吃完后我需要一个巧克力派。。。先生,你方有任何努力……我不明白为什么这件事被关闭,因为不清楚。我看不出任何模棱两可的地方,这是一个自然的问题。除顶点列表外,您还希望如何定义可能的非凸多边形?关于交叉点或多边形区域的区域(可能是断开的)有什么不清楚的?我想添加一个覆盖非凸多边形的答案,但我不能,因为问题是封闭的。不幸的是,为什么mods关闭/删除用简单语言表达的看似简单的问题。很遗憾,我现在无法发布解决方案。你添加了多边形是凸的假设吗?@DouglasZare.:好的,谢谢。我已经加上了。