点线距

Author : zbzhen,        Modified : Sat Jul 26 18:30:17 2025

1. 问题

已知点P(x0,y0)P(x_0,y_0)在直线l:Ax+By+C=0l:Ax+By+C=0外, 求PPll的距离dd.

2. 求解

2.1. 法一

PHlPH\perp l, 垂足为H(x,y)H(x, y). 则d=PHd=|PH|, 取直线ll的一个法向量n=(A,B)\bm n=(A,B),则n//PH\bm n // \overrightarrow{PH}, 即B(xx0)=A(yy0)B(x-x_0)=A(y-y_0), 联立

{Ax+By+C=0B(xx0)=A(yy0)\begin{cases} Ax+By+C=0\\ B(x-x_0)=A(y-y_0)\\ \end{cases}

{A(xx0)+B(yy0)=Ax0By0CB(xx0)A(yy0)=0\begin{cases} A(x-x_0)+B(y-y_0)=-Ax_0-By_0-C\\ B(x-x_0)- A(y-y_0)=0\\ \end{cases}

上两式平方相加得

(A2+B2)(xx02+yy02)=Ax0+By0+C2(A^2+B^2)(|x-x_0|^2+|y-y_0|^2)=|Ax_0+By_0+C|^2,

因此

d=PH2=xx02+yy02=Ax0+By0+CA2+B2\begin{aligned} d&=\sqrt{\overrightarrow{PH}{}^2} = \sqrt{|x-x_0|^2+|y-y_0|^2}\\ &= \dfrac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}} \end{aligned}

2.2. 法二

取直线ll的一个单位法向量n=1A2+B2(A,B)\bm n=\frac{1}{\sqrt{A^2+B^2}}(A,B), 任取直线ll上一点M(x,y)M(x,y), 则

d=PMn=A(xx0)+B(yy0)A2+B2=Ax0+By0+CA2+B2\begin{aligned} d&=|\overrightarrow{PM}\cdot \bm n|=\dfrac{|A(x-x_0)+B(y-y_0)|}{\sqrt{A^2+B^2}}\\ &=\dfrac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}} \end{aligned}

注: 为了更直观, 也可以直接用公式d=PHnd=|\overrightarrow{PH}\cdot \bm n|

2.3. 法三

该方法略微麻烦, 因为需要讨论

ll上两点R(x2,y0)R(x_2,y_0), S(x0,y3)S(x_0, y_3), 则

  • Ax2+By0+C=0Ax_2+By_0+C=0
  • Ax0+By3+C=0Ax_0+By_3+C=0

可得

  • A(x0x2)=Ax0+By0+C|A(x_0-x_2)|=|Ax_0+By_0+C|
  • B(y0y3)=Ax0+By0+C|B(y_0-y_3)|=|Ax_0+By_0+C|

根据面积公式, 得

d=PH=PRPSRS=x0x2y0y3x0x22+y0y32=Ax0+By0+CA2+B2\begin{aligned} d&=|PH|=\dfrac{|PR|\cdot|PS|}{|RS|}=\dfrac{|x_0-x_2|\cdot |y_0-y_3|}{\sqrt{|x_0-x_2|^2+|y_0-y_3|^2}}\\ &= \dfrac{|Ax_0+By_0+C|}{\sqrt{A^2+B^2}} \end{aligned}

2.4. 法四

不等式法

假设M(x,y)M(x,y)在直线l:Ax+By+C=0l:Ax+By+C=0

n=(A,B)\vec{n}=(A,B), a=(xx0,yy0)\vec{a}=(x-x_0, y-y_0)

则根据向量乘法定义(θ\theta为两向量夹角)

na=nacosθna|\vec{n}\cdot \vec{a}|=|\vec{n}|\cdot|\vec{a}| |\cos \theta | \leq |\vec{n}|\cdot|\vec{a}|

也可以直接用柯西不等式

于是

anan=A(xx0)+B(yy0)A2+B2|\vec{a}| \geq \dfrac{|\vec{n}\cdot \vec{a}|}{|\vec{n}|}=\dfrac{|A(x-x_0)+B(y-y_0)|}{\sqrt{A^2+B^2}}

P(x0,y0)P(x_0,y_0)到直线ll的距离dd满足

d=minPM=min(xx0)2+(yy0)2=mina=Ax0+By0+CA2+B2d=\min |PM| = \min \sqrt{(x-x_0)^2+(y-y_0)^2} = \min |\vec{a}| = \dfrac{|A x_0+By_0 +C|}{\sqrt{A^2+B^2}}

法五

不等式法

假设M(x0+rcosθ,y0+rsinθ)M(x_0+r \cos \theta ,y_0+r \sin \theta)在直线l:Ax+By+C=0l:Ax+By+C=0上, 则有

Ax0+Bx0+C=r(Acosθ+Bsinθ)Ax_0 + Bx_0+C=-r(A\cos \theta + B\sin \theta)

P(x0,y0)P(x_0,y_0)到直线ll的距离dd满足

d=minPM=minr=minAx0+By0+CAcosθ+Bsinθ=Ax0+By0+CA2+B2d=\min |PM| = \min |r| = \min \dfrac{|Ax_0 + By_0 +C|}{|A\cos \theta + B \sin \theta|} = \dfrac{|Ax_0 + By_0 +C|}{\sqrt{A^2+B^2}}

2.5. 法六

拉格朗日乘数法

问题等价于求约束条件为Ax+By+C=0Ax+By+C=0的最小值问题

d2=minx,y(xx0)2+(yy0)2d^2=\underset{x,y}{\min} (x-x_0)^2+(y-y_0)^2

L(x,y,λ)=(xx0)2+(yy0)2+λ(Ax+By+C)L(x,y,\lambda)=(x-x_0)^2+(y-y_0)^2+\lambda(Ax+By+C)

计算偏导, 并令其为零:

Lx=2(xx0)+λA=0Ly=2(yy0)+λB=0Lλ=Ax+By+C=0\begin{aligned} L_x &= 2(x-x_0)+\lambda A=0\\ L_y &= 2(y-y_0)+\lambda B=0\\ L_\lambda &= Ax+By+C=0\\ \end{aligned}

前两个式子消除λ\lambda得到

B(xx0)=A(yy0)B(x-x_0)=A(y-y_0)

至此, 后续过程同方法一.


返回主页

点我返回主页, 查看更多精彩