主題
Search

點線距離——二維


PointLineDistance2D

斜截式直線方程 ax+by+c=0 由下式給出

 y=-a/bx-c/b,
(1)

所以直線的斜率 -a/b。現在考慮從點 (x_0,y_0) 到直線的距離。直線上的點具有向量座標

 [x; -a/bx-c/b]=[0; -c/b]-1/b[-b; a]x.
(2)

因此,向量

 [-b; a]
(3)

平行於直線的,並且向量

 v=[a; b]
(4)

垂直於直線的。現在,從點到直線的向量由下式給出

 r=[x-x_0; y-y_0].
(5)

r 投影到 v,

d=|proj_(v)r|
(6)
=(|v·r|)/(|v|)
(7)
=|v^^·r|
(8)
=(|a(x-x_0)+b(y-y_0)|)/(sqrt(a^2+b^2))
(9)
=(|ax+by-ax_0-by_0|)/(sqrt(a^2+b^2))
(10)
=(|ax_0+by_0+c|)/(sqrt(a^2+b^2)).
(11)
PointLineDistance2DVec

如果直線由兩點 x_1=(x_1,y_1)x_2=(x_2,y_2) 指定,則垂直於直線的向量由下式給出

 v=[y_2-y_1; -(x_2-x_1)].
(12)

r 是從點 x_0=(x_0,y_0) 到直線上第一個點的向量

 r=[x_1-x_0; y_1-y_0],
(13)

那麼,從 (x_0,y_0) 到直線的距離再次透過將 r 投影到 v 給出,得到

 d=|v^^·r|=(|(x_2-x_1)(y_1-y_0)-(x_1-x_0)(y_2-y_1)|)/(sqrt((x_2-x_1)^2+(y_2-y_1)^2)).
(14)

正如它必須的那樣,這個公式對應於三維情況下的距離

 d=(|(x_2-x_1)x(x_1-x_0)|)/(|x_2-x_1|)
(15)

所有向量的 z 分量都為零,並且可以寫成稍微更簡潔的形式

 d=(|det(x_2-x_1  x_1-x_0)|)/(|x_2-x_1|),
(16)

其中 det(A) 表示行列式

具有精確三線座標 (alpha^',beta^',gamma^') 的點與直線 lalpha+mbeta+ngamma=0 之間的距離是

 d=(|lalpha^'+mbeta^'+ngamma^'|)/(sqrt(l^2+m^2+n^2-2mncosA-2nlcosB-2lmcosC))
(17)

(Kimberling 1998, p. 31)。


另請參閱

共線, 點線距離——三維

使用 探索

參考文獻

Kimberling, C. "Triangle Centers and Central Triangles." Congr. Numer. 129, 1-295, 1998.

請引用本文為

Weisstein,Eric W. "Point-Line Distance--2-Dimensional." 來自 —— 資源。 https://mathworld.tw/Point-LineDistance2-Dimensional.html

主題分類