我有2个线坐标(x1,y1 x2,y2和x3,y3 x4,y4),如何计算交点坐标而不绘制它们?
答案 0 :(得分:2)
您可以使用函数polyxpoly
来获取交叉点。
有关文档和更多信息,请参阅here。
这是一个简短的例子:
start1 = [1;1];
end1 = [3;3];
line1 = [start1, end1];
start2 = [1;3];
end2 = [2;1];
line2 = [start2,end2];
[xi, yi] = polyxpoly(line1(1,:), line1(2,:), line2(1,:), line2(2,:));
请注意,此功能比处理简单线条(例如方框,交叉线段等)要多得多。
答案 1 :(得分:0)
交点将是(x,y)=((b1-b)/(1-a1),(a1 * b-b1 * a)/(a1-a))
其中a =(y1-y2)/(x1-x2);
a1 =(y3-y4)/(x3-x4);
b = y1-x1 *(y1-y2)/(x1-x2);
b1 = y3 - x3 *(y3-y4)/(x3-x4)
您可以按照以下步骤检查代数:
1)找到通过(x1,y1)和(x2,y2)的线的等式,以及通过其他两点的线的另一个等式;
2)强制相等到两个方程式上,你将得到交点