如果我们有两个矢量数据,如多边形或折线(如下图所示)。我们如何找到重叠并为这个新形状创建一个新的x,y矢量数据?(或者简单地获取新形状的面积。
import numpy as np
import matplotlib.pyplot as plt
x1 = [10, 20, 40, 50, 50, 40, 20, 10, 10];
y1 = [20, 10, 10, 20, 40, 50, 50, 40, 20];
x2 = [30, 60, 30, 0, 30];
y2 = [40, 50, 70, 60, 40];
fig, ax = plt.subplots()
ax.plot(x1, y1)
ax.plot(x2, y2)
plt.show()
例如,对于上面的交叉点所在的图形,我们能否获得从重叠创建的这个新形状的x,y坐标/数据?或者获取它的面积?
发布于 2020-09-25 12:23:19
在一般情况下,构造两个多边形的交点是不容易的。https://en.wikipedia.org/wiki/Vatti_clipping_algorithm
当多边形是凸的时,如您的示例所示,可以使用Sutherland-Hodgman算法。https://en.wikipedia.org/wiki/Sutherland%E2%80%93Hodgman_algorithm
https://stackoverflow.com/questions/64063183
复制相似问题