python求两条直线的交点_如何计算两条线的交点?

不能袖手旁观

所以我们有线性系统:A1 * x + B1 * y = C1

A2 * x + B2 * y = C2

让我们用克莱默法则来做,这样就可以在行列式中找到解:x = Dx/D

y = Dy/D

其中,D是系统的主要决定因素:A1 B1

A2 B2

并且Dx和Dy可以从母体中找到:C1 B1

C2 B2

以及A1 C1

A2 C2

(注意,因为C列因此取代了coef。x和y列)

所以现在为了清楚起见,为了不把事情搞砸,让我们在math和python之间进行映射。我们将使用数组L来存储线方程的coefsA,B,C,而不是漂亮的x,y我们将拥有[0],[1],但无论如何。因此,我在上面所写的将在代码中有以下形式:

对于DL1[0] L1[1]

L2[0] L2[1]

对于DxL1[2] L1[1]

L2[2] L2[1]

对于DyL1[0] L1[2]

L2[0] L2[2]

现在开始编码:

line-通过两点产生线方程的coefsA,B,C,

intersection-查找coefs提供的两条线的交点(如果有)。from __future__ import division

def line(p1, p2):

A = (p1[1] - p2[1])

B = (p2[0] - p1[0])

C = (p1[0]*p2[1] - p2[0]*p


版权声明:本文为weixin_33800919原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。