計算器説明
兩點距離計算器根據兩個點的直角座標 (x1,y1,z1)、(x2,y2,z2) 求出它們之間的直線距離(歐氏距離)d=Δx2+Δy2+Δz2,並給出線段中點的 x、y 座標。把兩個 z 都填 0,它就是平面上的兩點距離。
它適合的問題:地圖或圖紙上兩點相距多遠、屏幕上兩個像素的間距、機械臂末端兩次位置之間的位移、三維模型裏兩個頂點的邊長、數據分析裏兩個樣本「有多像」。凡是能寫成座標的東西,都可以用它量距離。
它不做的事:不算沿道路或網格的路程(那是曼哈頓距離或路徑規劃),不算地球表面兩地的大圓距離(經緯度要用球面公式),不輸出 z 中點,也不做單位換算——所有座標必須用同一個長度單位。
算例
四組算例均由引擎 distance 的 compute 復算;顯示口徑為最多 8 位小數、去尾零。
算例 1:原點到 (3, 4, 12)
輸入:(0,0,0) 與 (3,4,12)。
- Δx=3,Δy=4,Δz=12。
- 平方和 9+16+144=169。
- d=169=13;中點 (1.5,2,6)。
界面顯示:距離 13,中點 X 1.5,中點 Y 2。這個例子可以看成兩次勾股定理:底面對角線 32+42=5,再與高度 12 組成新的直角三角形,52+122=13。
圖 1:三維距離就是長方體的空間對角線,等於對底面對角線再用一次勾股定理
算例 2:平面上的 (1, 2) 與 (4, 6)
輸入:(1,2,0) 與 (4,6,0)。
- Δx=3,Δy=4,Δz=0。
- d=9+16=5;中點 ((1+4)/2,(2+6)/2)=(2.5,4)。
界面顯示:距離 5,中點 X 2.5,中點 Y 4。對照:沿網格走(先橫 3 再豎 4)的曼哈頓距離是 7,直線距離 5 總是不大於它。
算例 3:帶負座標的三維點
輸入:(−2,3,1) 與 (4,−1,5)。
- Δx=4−(−2)=6,Δy=−1−3=−4,Δz=5−1=4。
- 平方和 36+16+16=68。
- d=68=217≈8.2462;中點 (1,1,3)。
界面顯示:距離 8.24621125,中點 X 1,中點 Y 1。負號在平方後消失——距離只關心座標差的大小。
算例 4:單位正方形與單位立方體的對角線
輸入 (0,0,0) 與 (1,1,0):距離 1.41421356(2)。輸入 (0,0,0) 與 (1,1,1):距離 1.73205081(3)。n 維單位立方體的對角線是 n——維度越高,對角線相對邊長越長。
算例 1 的輸入可以直接填進面板復現;把 z₂ 改成 0,距離變回平面上的 5。
原理與推導
從勾股定理到距離公式
平面上兩點 P1(x1,y1)、P2(x2,y2),過 P1 作水平線、過 P2 作豎直線,交於 Q(x2,y1)。P1Q 長 ∣Δx∣,QP2 長 ∣Δy∣,兩者垂直,所以 P1P2 是直角三角形的斜邊:d2=Δx2+Δy2。這就是勾股定理換了一套語言。
到三維再用一次:先在 z=z1 的水平面內得到底面對角線 Δx2+Δy2,它與豎直方向的 Δz 垂直,於是 d2=(Δx2+Δy2)+Δz2。每增加一個互相垂直的維度,就在根號裏多加一項平方——這就是為什麼 n 維空間的歐氏距離是 ∑i(Δxi)2,數據科學裏兩個 100 維特徵向量的「距離」用的仍是同一個公式。
中點為什麼是平均
沿線段從 P1 走到 P2,座標從 x1 線性變到 x2;走到一半時每個座標都恰好在兩端的中間,即 (x1+x2)/2。推而廣之,線段上按比例 t 的點是 P1+t(P2−P1),t=1/2 給出中點,t=1/3 給出三等分點——這也是比例與線性插值的幾何形式。
「距離」應該滿足什麼
數學上把滿足以下四條的函數都叫作距離(度量):非負;兩點重合時且僅當重合時為 0;對稱(d(P,Q)=d(Q,P));三角不等式(d(P,R)≤d(P,Q)+d(Q,R),繞路不會更近)。歐氏距離滿足全部四條,是「直線最短」這一直覺的精確表述。三角不等式解釋了算例 2 中為什麼曼哈頓距離 7 大於直線距離 5。
歐氏距離之外
- 曼哈頓距離 ∣Δx∣+∣Δy∣:只能沿網格走時的路程(棋盤、城市街區、某些電路佈線)。
- 切比雪夫距離 max(∣Δx∣,∣Δy∣):國際象棋裏王從一格到另一格的步數。
- 大圓距離:地球表面兩地沿球面的最短路徑,經緯度要先換算,公式是球面三角的 haversine,本計算器不做。小範圍(幾十公里以內)把經緯度按比例換成平面米制座標後可以近似用歐氏距離。
它們和歐氏距離一樣都滿足度量的四條性質,但給出的數值不同;用哪一種取決於「能怎麼走」。
與斜率的關係
Δx、Δy 同時決定了兩個量:它們的平方和的平方根是距離,它們的比是斜率。同一個直角三角形,距離讀斜邊、斜率讀兩條直角邊之比。