平面上点到直线的距离公式证明

207 阅读1分钟

平面上点到直线的距离公式证明

点到直线的距离公式 设直线的方程是

l:Ax+By+C=0l: Ax+By+C = 0

那么点P0(x0,y0)P_0(x_0,y_0)到直线ll的距离是

d=Ax0+By0+CA2+B2d = \cfrac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}}

证明 我们这里利用向量工具来证明:

我们假设直线l:Ax+By+C=0l: Ax+By+C=0的法向量为n\mathbf{n}(方向朝上或朝下无所谓),点M, N为直线ll上的任意两点(不重合),点Q为点P到直线ll的垂线段的垂足,如图:

point_line_distance.png

M(x1,y1)M(x_1,y_1)N(x2,y2)N(x_2,y_2),我们可以求得向量MN=(x2x1,y2y1)\overrightarrow{MN} = (x_2-x_1, y_2-y_1),又由于点M和N在直线ll上,所以有方程组

{Ax1+By1+C=0Ax2+By2+C=0\begin{cases} Ax_1+By_1+C=0 \\ Ax_2+By_2+C=0 \end{cases}

成立,我们将两个方程相减,得A(x2x1)+B(y2y1)=0A(x_2-x_1)+B(y_2-y_1)=0,即

(A,B)(x2x1,y2y1)=0(A,B) \cdot (x_2-x_1,y_2-y_1) = 0

这里的\cdot代表向量内积。所以向量(A,B)(A,B)与向量MN\overrightarrow{MN}垂直(即与直线ll垂直), 所以法向量为n\mathbf{n}(A,B)(A,B)平行,这里我们就假设n=(A,B)\mathbf{n} = (A,B), 由于PQ垂直于直线ll,所以向量PQ\overrightarrow{PQ}平行于n\mathbf{n}(同向或反向无所谓),所以PQ=t(A,B)\overrightarrow{PQ} = t(A,B),这里tt为实数,我们设Q的坐标为(x,y)(x,y),所以(xx0,yy0)=t(A,B)(x-x_0, y-y_0) = t(A,B),即

{x=x0+tAy=y0+tB\begin{cases} x = x_0+tA \\ y = y_0+tB \end{cases}

又由点Q在直线ll上(点Q为点P到直线ll的垂线段的垂足),所以有

Ax+By+C=0Ax+By+C=0

把方程组代入直线方程有:

A(x0+At)+B(y0+Bt)+C=0A(x_0+At)+B(y_0+Bt)+C=0

解出t:

t=Ax0+By0+CA2+B2t = -\cfrac{Ax_0+By_0+C}{A^2+B^2}

在根据两点间距离公式,有

2023-04-07 00-17-40屏幕截图.png

最后的式子就是需要证明的点到直线的距离公式。