距離公式

**距離**是對兩個物體或位置間相距多遠的數值描述，是個不具方向性的純量，且不為負值。

在物理或日常使用中，距離可以是個物理長度，或某個估算值，指人、動物、交通工具或光線之類的媒介由起點至終點所經過的最短路徑長。

在數學裡，距離是個稱之為度量的函數，為物理距離這個概念之推廣。度量是個函數，依據一組特定的規則作用，且有具體的方法可用來描述一些空間內的元素互相「接近」或「遠離」。除了歐氏空間內常見的距離定義外，在圖論與統計學等數學領域裡，亦存在其他的「距離」概念。在大多數的情形下，「從 $A$ 至 $B$ 的距離」與「從 $B$ 至 $A$ 的距離」的意義是相同的。

## 兩點間的距離公式

### 歐幾里得距離

在解析幾何裡，xy - 平面上兩點的距離可使用距離公式求得。 $(x_{1},y_{1})$ 與 $(x_{2},y_{2})$ 間之距離為：

　
: $d={\sqrt {(\Delta x)^{2}+(\Delta y)^{2}}}={\sqrt {(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}}.\,$

同樣地，給定三維空間裡的兩個點 $(x_{1},y_{1},z_{1})$ 與 $(x_{2},y_{2},z_{2})$ ，其間之距離為：

　
: $d={\sqrt {(\Delta x)^{2}+(\Delta y)^{2}+(\Delta z)^{2}}}={\sqrt {(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}+(z_{2}-z_{1})^{2}}}.$

這些公式可以很容易地透過建構直角三角形，並利用畢氏定理來導出。在平面上，可取得平行於座標軸的兩股長求出斜邊長；在三維空間裡，可由垂直於平面的一股與將第一個直角三角形的斜邊作為另一股來求解。在研究複雜的幾何時，此類距離稱之為**歐幾里得距離**，因為此類距離用到的畢氏定理，於非歐幾何內並不成立。此一距離公式亦可延伸用來取得弧長公式。

### 其他範數

在歐氏空間 $\mathbb {R} ^{n}$ 裡，兩點間的距離通常由歐幾里得距離（2 - 範數距離）所給出。不過，有時也會使用由其他範數導出之距離。

對於點 $(x_{1},x_{2},\ldots ,x_{n})$ 與點 $(y_{1},y_{2},\ldots ,y_{n})$ ，p 階明可夫斯基距離（p - 範數距離）定義為：

p 不一定要是整數，但不可以小於 1，不然三角不等式不會成立。

2 - 範數距離為歐幾里得距離，是畢氏定理在兩維以上空間之推廣。2 - 範數距離為兩個點間使用直尺量測時所得之數值，為距離的「直觀」概念。

1 - 範數距離亦稱為「計程車範數」或曼哈頓距離，因為此一距離為汽車在以方形規劃（且假設無單行道）的城市裡駕駛之距離。

無限範數距離亦稱為柴比雪夫距離。在二維空間裡，為國王在棋盤上的兩個方塊間移動所需之最少步數。

p - 範數很少使用 1、2 與無限大以外的值，但可見於超橢圓內。

在物理空間裡，歐幾里得距離是最自然的形式，因為剛體的長度於此一距離下不會因旋轉而改變。

### 距離的變分法公式

在空間內，兩個點 $A={\vec {r}}(0)$ 與 $B={\vec {r}}(T)$ 間的歐幾里得距離可寫成變分法的形式，其距離為下列積分的最小值：

　
: $D=\int _{0}^{T}{\sqrt {\left({\partial {\vec {r}}(t) \over \partial t}\right)^{2}}}\,dt$

其中， ${\vec {r}}(t)$ 為兩點間的軌跡（路徑）。積分的值 $D$ 表示該軌跡之長度。兩點間的距離為該積分的最小值，且會在 $r=r^{*}$ 時求得，其中的 $r=r^{*}$ 為最佳軌跡。在熟悉的歐氏空間裡，該最佳軌跡為一直線。每個人都知道，兩點間的最短距離為直線。直線在形式上可透過解上式之歐拉 - 拉格朗日方程式式求得。在非歐流形（彎曲空間）裡，該空間的性質可使用度量張量 $g_{ab}$ 來表示，而被積的函數則需修改為 ${\sqrt {g^{ac}{\dot {r}}_{c}g_{ab}{\dot {r}}^{b}}}$ 。須注意，上式使用了愛因斯坦求和約定。

## 推廣至更高維物件

兩個物件間的歐幾里得距離亦可推廣至兩個物件不再是個點，而是更高維之流形（如曲線）的情形，所以除了談論兩點間的距離外，亦可討論兩條線間的距離之類的概念。

### 集合間及一點與一集合間之距離

物體間可以有不同的距離定義。例如，天體間的距離即有表面間距離與中心間距離兩種。近地軌道的物體適用前者，並以高度標示該物體與地球表面的距離；其他如地球與月球間之距離，則適用後者。

兩個非空集合間之距離的常見定義如下：

* 兩個非空集合間的距離為兩者內各自的點之間的距離之下確界，這是距離這一詞在日常中的含義，即

　
: : $d(A,B)=\inf _{x\in A,y\in B}d(x,y).$

　
: 此類距離是個對稱預度量。若兩個集合有部分接觸或重疊，即不是「可分」的，因為這兩個不同但接觸或重疊的集合之距離為零。此外，該距離亦不滿足三角不等式。因此，只有在某些特殊情況下，此類距離才能構成度量空間。

* 郝斯多夫距離是先取一集合內的點至另一集合各個點之距離的下確界，再取這些距離之上確界所得到的值，與兩個集合互換所得之值的最大值。亦即，令 $X$ 與 $Y$ 為度量空間 $(M.d)$ 內的子集，則赫斯多夫距離為

　
: : $d_{\mathrm {H} }(X,Y)=\max\{\,\sup _{x\in X}\inf _{y\in Y}d(x,y),\,\sup _{y\in Y}\inf _{x\in X}d(x,y)\,\}{\mbox{.}}\!$

　
: 此類距離會構成度量空間的一非空緊緻子集，該子集亦會是個度量空間。

### 點線面間的距離公式

在點、直線與平面之間的距離多採上述的第一種定義。這些物件在笛卡兒座標系下的距離公式列舉如下：

#### 點到直線的距離

若在平面坐標幾何上的直線定義為 $ax+by+c=0$ _，點的座標為_ $(x_{0},y_{0})$ _，則兩者間的距離為：_

　
: $d={\frac {\left|ax_{0}+by_{0}+c\right|}{\sqrt {a^{2}+b^{2}}}}$

#### 異面直線間的距離

設兩直線的方程式分別為：

　
: ${\frac {x-x_{1}}{L_{1}}}={\frac {y-y_{1}}{M_{1}}}={\frac {z-z_{1}}{N_{1}}}$

　
: ${\frac {x-x_{2}}{L_{2}}}={\frac {y-y_{2}}{M_{2}}}={\frac {z-z_{2}}{N_{2}}}$

則，該兩直線間的距離

　
: $d=\left|{\frac {\begin{vmatrix}x_{2}-x_{1}&y_{2}-y_{1}&z_{2}-z_{1}\\L_{1}&M_{1}&N_{1}\\L_{2}&M_{2}&N_{2}\end{vmatrix}}{\sqrt {{\begin{vmatrix}M_{1}&N_{1}\\M_{2}&N_{2}\end{vmatrix}}^{2}+{\begin{vmatrix}N_{1}&L_{1}\\N_{2}&L_{2}\end{vmatrix}}^{2}+{\begin{vmatrix}L_{1}&M_{1}\\L_{2}&M_{2}\end{vmatrix}}^{2}}}}\right|$

#### 點到平面的距離

若點坐標為 $(x_{0},y_{0},z_{0})$ ，平面為 $Ax+By+Cz+D=0$ ，則點到平面的距離為：

　
: $d={\frac {\left|Ax_{0}+By_{0}+Cz_{0}+D\right|}{\sqrt {A^{2}+B^{2}+C^{2}}}}$

#### 兩平行直線

若直線分別為 $ax+by+c_{1}=0$ ，和 $ax+by+c_{2}=0$ ，則兩者間的距離為：

　
: $d={\frac {\left|c_{1}-c_{2}\right|}{\sqrt {a^{2}+b^{2}}}}$

#### 兩平行平面間的距離

若兩平行平面分別為 $Ax+By+Cz+D_{1}=0$ 和 $Ax+By+Cz+D_{2}=0$ ，則兩者間的距離為：

　
: $d={\frac {\left|D_{1}-D_{2}\right|}{\sqrt {A^{2}+B^{2}+C^{2}}}}$

### 廣義距離泛函

當需要處理的新物件為更廣義的物件（不再只是個點）時，不可擴展性、曲率限制與非局部互動等額外概念需要被加入距離的概念之內。兩個流形間的距離為一純量，可由最小化廣義距離泛函（表示兩個流形間的轉換）而導出：

　
: ${\mathcal {D}}=\int _{0}^{L}\int _{0}^{T}\left\{{\sqrt {\left({\partial {\vec {r}}(s,t) \over \partial t}\right)^{2}}}+\lambda \left[{\sqrt {\left({\partial {\vec {r}}(s,t) \over \partial s}\right)^{2}}}-1\right]\right\}\,ds\,dt$

上面的二重積分是兩個聚合物結構間的廣義距離泛函。 $s$ 是空間參數， $t$ 是偽時間（軌跡參數）。亦即， ${\vec {r}}(s,t=t_{i})$ 為時間 $t_{i}$ 時的聚合物結構，且以 $s$ 作為其線段之參數。類似地， ${\vec {r}}(s=S,t)$ 則為無限小之線段由結構 ${\vec {r}}(s,0)$ 轉換成結構 ${\vec {r}}(s,T)$ 的軌跡。其中的 $\lambda $ 為拉格朗日乘數，用來確保聚合物的長度在轉換的過程中維持不變。若兩個聚合物不可擴展，則兩者間之轉換最小距離不會只有直線運動，即使是在歐幾里得度量之上。此類廣義距離可適用於蛋白質折疊的問題上。此類廣義距離可類比弦論裡的南部 - 後藤作用量，但無法完全地對應，因為三維空間裡的歐幾里得距離不等價於古典相對論弦中最小化的時空距離。

## 一般度量

在數學裡，集合 $M$ 上的距離函數為一函數 $d:M\times M\rightarrow R$ ，其中 $R$ 為實數集，且滿足下列條件：

 * $d(x,y)\geq 0$ ，且 $d(x,y)=0$ 若且唯若 $x=y$ 。（兩個不同的點間之距離為正值，且僅在同個點間的距離為零。）
* $d(x,y)=d(y,x)$ 。（對稱性：不論方向為何，距離不變。）
* $d(x,z)\leq d(x,y)+d(y,z)$ 。（三角不等式：兩點間的距離是所有路徑裡的最短距離。）

此一距離函數稱之為度量。具有度量之集合，稱為度量空間。

舉例而言，兩個實數 $x$ 與 $y$ 間的距離通常定義為： $d(x,y)=\left\vert x-y\right\vert $ 。此一定義滿足上述三個條件，且會對應至實數線上的標準拓撲。不過，集合上的距離是可選擇的，例如下面的定義： $d(x,y)=0$ ，若 $x=y$ ，否則為 1。此一定義亦符合度量的三個條件，但會形成一個完全不同的拓撲，稱之為「離散拓撲」；在此一定義裡，數字間無法隨意地接近。

### 圖論

在圖論裡，兩個頂點間的距離為這些頂點間最短路徑之長度。

## 其他「距離」

下面為名稱中帶有「距離」的名詞：

* 坎培拉距離
* 柴比雪夫距離
* 能量距離，為統計觀測量間的距離函數
* 漢明距離與李距離，用於編碼理論中
* KL 距離，用來量測兩個機率分布間的差異
* 編輯距離
* 馬氏距離，用於統計學裡。

## 參見

## 腳注