我正在寻找一个算法或(最好)R中的一个包,它可以找到许多半空间的交集,然后绘制它们的交集。
我将以数学方式定义问题。假设你……
您没有给出任何您想要的行的明确示例,也没有给出用于存储行的数据结构,因此我只举几个例子。我把这些行作为函数。您可以选择超出要绘制区域的x值范围,并找到每个x的最大L(x)值。使用这些来绘制显示所需区域的多边形。我制作两个图表,包括和没有边界线,以显示该区域如何适合该线。
L1 = function(x) { -0.25 - 1*x } L2 = function(x) { -0.25 - 0.6*x } L3 = function(x) { -0.25 - 0.3*x } L4 = function(x) { -0.3 - 1.5*x } x=seq(-1,1,0.01) Y = pmax(L1(x), L2(x), L3(x), L4(x)) par(mfrow=c(1,2)) plot(NULL, xlim=c(-0.5,0.5), ylim=c(-0.5,0.5)) polygon(c(-1,x,1),c(2,Y,2), col="blue", density=10) plot(NULL, xlim=c(-0.5,0.5), ylim=c(-0.5,0.5)) polygon(c(-1,x,1),c(2,Y,2), col="blue", density=10) lines(x, L1(x)) lines(x, L2(x)) lines(x, L3(x)) lines(x, L4(x))