点到直线的距离公式可以通过几何分析和代数推导来得到。设直线L的方程为Ax By C = 0,点P的坐标为(x1, y1)。我们要找的是点P到直线L的距离d。
高中课本上的推导,是直接用代数的方法来推导,这里我们不用代数的方法,使用向量的内积方法来推导:
先复习下,什么是向量内积的概念:
设a,b为两个向量,则a.b=|a|.|b|cosα,α为向量a和向量b的夹角.也可以理解为,向量内积的概念是:a.b 表示 向量a在向量b上的投影
在二维平面中: 向量a(x1,y1), 向量b(x2,y2),则
a.b=x1.x2 y1.y2 =|a|.|b|cosα (α为向量a,b之间的夹角),
当α=π/2 时,则,向量a垂直于向量b,
根据向量内积的概念,我们就可以方便来进行点到直线距离公式求导了:
点到直线距离公式:向量推导
证明推导过程:
给定一条直线的方程Ax By C = 0,我们可以直接得到一个法向量(垂直于这条直线)n,其分量是(A, B),而直线的方向向量为(-B,A)。
(法向量的证明可以查看之前的文章: 直线的方向向量和法向量)
法向量n=(A,B)
接下来,我们可以构造一个从点P到直线L上的任意一点的向量v。为了简化计算,我们可以选择直线L上离点P最近的点作为这个任意点,这个点就是点P到直线L的垂线段的终点,我们称之为点H。向量PH可以表示为从点P到点H的向量,即
向量PH= (xh - x1, yh - y1)
向量PH与法向量n同向,且平行,两个向量之间的夹角为0. 根据 向量内积公式:
PH.n=|PH|.|n|cos0 得到|PH|=PH.n/|n|
d=||PH||,所以得到如下: 因为点积可能为负,而距离必须为正
即: d=......(1)
PH.n=(xh-x1).A (yh-y1).B (向量内积等于对应分向量的积和)
PH.n=xh.A yh.B-x1.A-y1.B
又因为(xh,yh)在直线Ax By C=0上,代入H坐标得到
xh.A yh.b C=0, 所以PH.n=-C-Ax1-By1 ,
|n|= (法向量n(A,B)的模定义)
得到:|d|=
归纳总结:
1.向量的模不能代表距离
2.点积是有正负性的,求距离的时候必须加上绝对值