两直线交点
【问题】两点确定一条直线。两直线只要不平行,就一定有唯一的交点。
请编程,输入两组两点的坐标,求这两条直线的交点坐标。
两点(x0,y0) (x1,y1) 所确定的直线形式为 ax + by = c
需要用点坐标来确定参数 a, b, c 的值。实际上有效的信息是两个值。因为上面的方程同时放大一定的倍数仍然成立。这样,(a,b,c)是一组解,不是一个。求出任意一个即可。
点坐标代入,解二元一次方程得:
a = y 1 − y 0 b = x 0 − x 1 c = x 0 y 1 − y 0 x 1 \begin{aligned} &a = y_1 - y_0 \\ &b = x_0 - x_1 \\ &c = x_0 y_1 - y_0 x_1 \end{aligned} a=y1−y