点线距
Author : zbzhen, Modified : Sat Jul 26 18:30:17 2025
已知点P(x0,y0)在直线l:Ax+By+C=0外, 求P到l的距离d.
设PH⊥l, 垂足为H(x,y). 则d=∣PH∣, 取直线l的一个法向量n=(A,B),则n//PH, 即B(x−x0)=A(y−y0), 联立
{Ax+By+C=0B(x−x0)=A(y−y0)
得
{A(x−x0)+B(y−y0)=−Ax0−By0−CB(x−x0)−A(y−y0)=0
上两式平方相加得
(A2+B2)(∣x−x0∣2+∣y−y0∣2)=∣Ax0+By0+C∣2,
因此
d=PH2=∣x−x0∣2+∣y−y0∣2=A2+B2∣Ax0+By0+C∣
取直线l的一个单位法向量n=A2+B21(A,B), 任取直线l上一点M(x,y), 则
d=∣PM⋅n∣=A2+B2∣A(x−x0)+B(y−y0)∣=A2+B2∣Ax0+By0+C∣
注: 为了更直观, 也可以直接用公式d=∣PH⋅n∣
该方法略微麻烦, 因为需要讨论
取l上两点R(x2,y0), S(x0,y3), 则
- Ax2+By0+C=0
- Ax0+By3+C=0
可得
- ∣A(x0−x2)∣=∣Ax0+By0+C∣
- ∣B(y0−y3)∣=∣Ax0+By0+C∣
根据面积公式, 得
d=∣PH∣=∣RS∣∣PR∣⋅∣PS∣=∣x0−x2∣2+∣y0−y3∣2∣x0−x2∣⋅∣y0−y3∣=A2+B2∣Ax0+By0+C∣
不等式法
假设M(x,y)在直线l:Ax+By+C=0上
令n=(A,B), a=(x−x0,y−y0)
则根据向量乘法定义(θ为两向量夹角)
∣n⋅a∣=∣n∣⋅∣a∣∣cosθ∣≤∣n∣⋅∣a∣
也可以直接用柯西不等式
于是
∣a∣≥∣n∣∣n⋅a∣=A2+B2∣A(x−x0)+B(y−y0)∣
点P(x0,y0)到直线l的距离d满足
d=min∣PM∣=min(x−x0)2+(y−y0)2=min∣a∣=A2+B2∣Ax0+By0+C∣
不等式法
假设M(x0+rcosθ,y0+rsinθ)在直线l:Ax+By+C=0上, 则有
Ax0+Bx0+C=−r(Acosθ+Bsinθ)
点P(x0,y0)到直线l的距离d满足
d=min∣PM∣=min∣r∣=min∣Acosθ+Bsinθ∣∣Ax0+By0+C∣=A2+B2∣Ax0+By0+C∣
拉格朗日乘数法
问题等价于求约束条件为Ax+By+C=0的最小值问题
d2=x,ymin(x−x0)2+(y−y0)2
令L(x,y,λ)=(x−x0)2+(y−y0)2+λ(Ax+By+C)
计算偏导, 并令其为零:
LxLyLλ=2(x−x0)+λA=0=2(y−y0)+λB=0=Ax+By+C=0
前两个式子消除λ得到
B(x−x0)=A(y−y0)
至此, 后续过程同方法一.
点我返回主页, 查看更多精彩