直线的距离公式的推导过程
假设点P(x1,y1)到直线L:Ax+By+C=0的距离为d,设该点为M,直线上某点为N。可以得到MN的长度为:
MN = √((x1-x2)^2 + (y1-y2)^2)
设直线L上的某点N坐标为(x2,y2),由于M在直线上,所以MN的方向与直线L在该点的法向量垂直。法向量可以通过直线的一般式方程得到,法向量为(A, B)或(-A, -B),取哪一个都不影响距离的计算,故取(A, B)。
将MN与法向量(A,B)做内积(点乘),可以得到:
MN*(cosθ) = AM
其中,θ为MN与法向量(A,B)的夹角,cos(θ) = (cosθ) = (AM / MN),而sinθ=(sinθ)=(|MN-NP| / MN),可得到:
|MN-NP| = MN*(sinθ) = MN*(|Ax1+By1+C| / √(A^2+B^2))
将MN代入上式,可得到点P(x1,y1)到直线Ax+By+C=0的距离公式为:
d = |Ax1 + By1 + C| / √(A^2 + B^2)