請問d=|Ax0+By0+C|/√(A2+B2)是什麼公式?從哪裡推出的?

筆記本上記了,可是沒印象。百度到的看不太明白。


就 @王希的回答補充一點
可以把直線Ax+By+C=0看成是與向量(A,B)點乘為-C的點集
即平面上所有在向量(A,B)上投影為frac{-C}{sqrt{A^2+B^2} } 的點集

那麼點(x_0,y_0)到直線Ax+By+C=0的距離就可用(x_0,y_0)(A,B)的投影大小與frac{-C}{sqrt{A^2+B^2} } 的差值表示
d=left| frac{Ax_0+By_0}{sqrt{A^2+B^2} } -frac{-C}{sqrt{A^2+B^2} }  
ight| =frac{left|Ax_0+By_0+C
ight|}{sqrt{A^2+B^2} }


回答這個問題並不只是告訴題主這是什麼東西,而是覺得高中教材的推導太暴力,想從另外的角度說一說這個問題。

首先告訴題主,這個公式是平面直角坐標系中點到直線距離的公式,也就是點(x_0,y_0)到直線Ax+By+C=0上所有點的最短距離。這個公式可以通過勾股定理來推導( @Horikitamino 的答案中有高中教材的證明過程),但我要說的是,這個公式有更好的理解方式。

我們這樣考慮:現在希望求點到直線的距離,實際上就是要求這個點到它在直線上投影點的距離。
直接求解這條垂線段的長度固然不容易,但是我們可以換一種思路:這條垂線段只給我們一個「方向」,我們只需要考慮這個點到直線上任意一點連線在這個方向上有多長即可。

考慮這個問題用向量非常方便:平面上垂直這條直線的向量方向是唯一的(叫作這條直線的法向量),再任找一個以這一點為起點、直線上任意一點為終點的向量,求出這個向量在法向量方向上的投影即可。

一個向量在另一個向量上的投影,就是這個向量與另一個向量方向上單位向量的點積。這樣問題就解決了:

在直線Ax+By+C=0上任取兩點P(x_1,y_1),Q(x_2,y_2),它們滿足直線的方程。所以這條直線指向的方向overrightarrow{PQ}(B,-A),則其一條法向量為(A,B),其單位法向量vec{n}(frac{A}{sqrt{A^2+B^2}},frac{B}{sqrt{A^2+B^2}})。設直線外一點R(x_0,y_0)P(x_1,y_1)的向量為(x_1-x_0,y_1-y_0),它們做點積的絕對值就是要求的答案。

egin{align*}
d=|vec{n}cdot overrightarrow{PQ}|=frac{1}{sqrt{A^2+B^2}}left|A(x_1-x_0)+B(y_1-y_0)
ight| \
=frac{1}{sqrt{A^2+B^2}}|(Ax_1+By_1)-(Ax_0+By_0)|
end{align*}

P是直線上的點,滿足直線的方程,因此
egin{align*}
d=frac{1}{sqrt{A^2+B^2}}|-C-(Ax_0+By_0)| \
=frac{1}{sqrt{A^2+B^2}}|Ax_0+By_0+C| 
end{align*}

這樣證明不一定比勾股定理簡單,但是它用向量投影來求解距離,這種思想很有意義,而且具有可擴展性。

作業:利用向量方法,推導三維空間中一點P(x_0,y_0,z_0)到平面Ax+By+Cz+D=0的距離公式。


高中數學必修2的教材有,點(x0,y0)到直線Ax+By+C=0的距離~


這個答案竟然沒有贊???
啊哈哈哈,好氣哦!

至於最開始我拋出的那個結論,以下證明:

更多精彩高中數學解題方法技巧文字課程請關注專欄:

高考數學の模法筆記 - 知乎專欄


A(x_0,y_0) 到直線 ax+by+c=0 的距離就等價於點A到直線 ax+by=0 $的距離(圖中的OB),加上直線 ax+by+c=0 在y軸的交點 C(0,-frac{c}{b}) 到直線 ax+by=0 的距離(圖中的OD)之和。即

d=OB+OD

直線 ax+by+c=0 的單位法向量是 frac{(a,b)}{sqrt{a^2+b^2}} ,那麼由向量

egin{aligned} OB=|(x_0,y_0)cdot frac{(a,b)}{sqrt{a^2+b^2}}|=frac{|a*x_0 + b*y_0|}{sqrt{a^2+b^2}} \ OD=|(0,-frac{c}{b})cdot frac{(a,b)}{sqrt{a^2+b^2}}|=frac{|-c|}{sqrt{a^2+b^2}} end{aligned}

實際情況也可能是兩者相減,這裡不再考慮,對於圖中的情況是兩者相加


點到直線距離公式,向量來推


這是我會背的第一個公式。。專門用來做題。。印象中。。

證明的方法,這個我感覺比較好:


如圖:

直線的一般方程Ax+By+C=0 已知,

那麼,令vec{v}=(A,B) ,這樣的話,vec{v} 是垂直於直線的。

再設f(x,y)=Ax+By+C

假設有一點P(x_0,y_0) ,那麼,點P到直線的距離是多少呢?

從P向直線作垂線,假設交點坐標為T(x,y) ,則:egin{align} overrightarrow{OP} =(x_0,y_0) = overrightarrow{OT}+ overrightarrow{TP}=(x,y)+k(A,B) \ x_0 = x+kA \ y_0 =y+kBend{align}

這裡很重要的是那個overrightarrow{TP}=k(A,B) ,為什麼呢?

因為以點T(x,y) 為起點,點P(x_0,y_0) 為終點的向量雖然我們不知道具體是多少,但是沒有關係,我們知道向量vec{v}=(A,B) 是垂直於直線的,那麼,這兩個向量都垂直於同一直線,一個必然是另一個的常數倍,所以overrightarrow{TP}k(A,B) ,其中k 是一個常數:

可能是正(圖中情況);

也可能是負(比如假設有個Q點,和P點關於直線對稱,那麼overrightarrow{TQ}=k(A,B) ,這個k 就是負的);

還可能是零(比如P點在直線上的情況。。)

然後呢,對於P點:

egin{align} f(x_0,y_0) = Ax_0+By_0+C\ = A(x+kA)+B(y+kB)+C \ =(Ax+By+C)+k(A^2+B^2) \ = 0+k(A^2+B^2) \ =k(A^2+B^2) end{align}

到此就大功告成了,

前面已經得到:

overrightarrow{TP}=kvec{v}=k(A,B)

而且:

f(x_0,y_0)=k(A^2+B^2)=kvert vec{v} vert^2

則距離為:

vert overrightarrow{TP} vert =vert kvert vec{v} vertvert = vert frac{f(x_0,y_0)}{vert vec{v} vert ^2}vertvec{v}vert vert= vert frac{f(x_0,y_0)}{vert vec{v} vert} vert

所以上面的那個Ax_0+By_0+Cf(x_0,y_0) 。。

下面那個sqrt{A^2+B^2}vert vec{v} vert 。。

然後,如果原來的那個直線方程兩邊同時除以sqrt{A^2+B^2}

那麼我們的vec{v} 就是一個單位向量,

點到直線距離直接就是vert f(x_0,y_0)vertf(x_0,y_0) 就表示一個帶符號的距離。。

其中它的符號也是有意義的。

而且,如果這個點在直線上,那麼和直線的距離當然就是0,所以f(x_0,y_0)=0

這同時也說明這個點滿足那個直線方程,所以在直線上。。

這個證明是從這裡看來的。。我覺得很漂亮。

Fundamentals of Computer Graphics Third Edition

2.5 Curves and Surfaces : Implicit 2D Lines


平面直角坐標系中兩條平行直線的距離公式,由勾股定理推出。答主可自行推證


柯西不等式。


推薦閱讀:

如何才能看懂論文里的公式?
有哪些可以初等表述的數學結論只能由高深的方法證明?
紙對摺時產生的凹凸痕迹的規律,能否用公式表達?
辦公中,把 Excel 函數用到極致是怎樣一種體驗?
如何製作圖表非常精美的 Excel 文檔?

TAG:數學 | 公式 | 高中數學 |