C++ 联立方程组的求解算法

C++ 联立方程组的求解算法,c++,geometry,linear-algebra,C++,Geometry,Linear Algebra,我正在制作一个mfc应用程序,其中我需要推断两条线是否相交。为此,我有两个方程式: x= [-x1y2 +x2y1 - (x2-x1)y ] / y1-y2 y= [-x3y4 +x4y3 - (y3-y4)x ] / x4-x3 但是我需要一种方法来同时求解这两个方程,我该怎么做呢?好的,假设x1,x2,x3,x4,y1,y2,y3,y4在这个过程中是常数,我们也可以这样写 x=a-b*y y=c-d*x 使用a=(-x1y2+x2y1)/y1-y2等 现在将第一行替换为第二行 y=c-

我正在制作一个mfc应用程序,其中我需要推断两条线是否相交。为此,我有两个方程式:

x= [-x1y2 +x2y1 - (x2-x1)y ] / y1-y2

y= [-x3y4 +x4y3 - (y3-y4)x ] / x4-x3

但是我需要一种方法来同时求解这两个方程,我该怎么做呢?

好的,假设
x1,x2,x3,x4,y1,y2,y3,y4
在这个过程中是常数,我们也可以这样写

x=a-b*y
y=c-d*x
使用
a=(-x1y2+x2y1)/y1-y2

现在将第一行替换为第二行

y=c-d*(a-b*y)
y(1+d*b)=c-d*a
y=(c-d*a)/(1+d*b)

重新代入
x=a-b*y
给出结果的x部分

你想解一个一般方程还是你确定总是有两个变量,只有两个方程?@H2CO3我给出的方程是一般的,即我总是有这两个,但变量值是x1、x2、x3、x4、y1、y2、y3和y4。从这两个方程中,程序每次都必须计算x和y的值。您是在尝试优化大量的方程,还是仅在每次循环迭代中,您对一组坐标[两条线]进行这两次计算?您的问题的答案取决于您试图解决的问题类型。@Mats Peterson我不确定是否理解您的问题,但简单地说,方程式始终保持不变,每次改变的只是x1,y1…x4,y4的值。