已知两点x1y1x2y2求两点连线与100的距离用x1x2y1y2表示
设点A为(x1,y1),点B为(x2,y2),点C为(10,0)。
首先我们需要求得点A和点B的连线斜率k: k = (y2 - y1) / (x2 - x1)
由于点A和点B连线与点C的连线垂直,则两条连线的斜率之积为-1: k * k1 = -1
其中k1为点A和点B的连线与点C的连线的斜率: k1 = (0 - y1) / (10 - x1)
代入上式,可得: (y2 - y1) / (x2 - x1) * (0 - y1) / (10 - x1) = -1
整理得: (y2 - y1) * (0 - y1) = - (x2 - x1) * (10 - x1)
化简得: y1^2 - y1 * y2 = x1^2 - x1 * x2 - 10 * x1 + x1 * x2
移项可得: y1^2 - x1^2 - 10 * x1 = y1 * y2 - x1 * x2
整理得: y1^2 - 10 * x1 - y1 * y2 = x1^2 - x2 * x1 + y1 * y2
再次移项可得: x1^2 - x2 * x1 + 10 * x1 = y1^2 + y1 * y2 - 10 * x1
整理得: x1 * (x1 - x2 + 10) = y1^2 + y1 * y2 - 10 * x1
最后得到: x1 = (y1^2 + y1 * y2) / (x1 - x2 + 10)
同理可得: x2 = (y1^2 + y1 * y2) / (x1 - x2 + 10)
将x1和x2代入其中一个点的坐标,可得: y1 = (y1^2 + y1 * y2) / (x1 - x2 + 10) - x1
因此,两点连线与(10,0)的距离为: d = sqrt((x1 - 10)^2 + y1^2) 或者 d = sqrt((x2 - 10)^2 + y2^2
原文地址: https://www.cveoy.top/t/topic/ite0 著作权归作者所有。请勿转载和采集!