我們可能會遇到的距離量算方法

2021-06-27 19:51:51 字數 1482 閱讀 2980

在看空間統計相關的文件資料的時候,看到了幾個有關距離丈量方法的術語詞彙,諸如:歐式距離、曼哈頓距離、切比雪夫距離…… 

老外習慣於使用名字來命名演算法,可是對於門外漢們,是一種困惑,今天就整理下,一起溫故知新。

1. 歐式距離(euclidean distance)

歐式距離是我們在直角座標系中最常用的距離量算方法,例如小時候學的「兩點之間的最短距離是連線兩點的直線距離。」這就是典型的歐式距離量算方法。

通常這這個距離的獲取是基於我們熟悉的「勾股定理」,解算三角形斜邊得到的。

看看維基百科:

2. 曼哈頓距離(manhattan d

istance

)曼哈頓距離是與歐式距離不同的一種丈量方法,兩點之間的距離不再是直線距離,而是投影到座標軸的長度之和。

還是看圖吧,圖比文字更顯見。

圖中綠色的線為歐式距離的丈量長度,紅色的線即為曼哈頓距離長度,

藍色和黃色的線是這兩點間曼哈頓距離的等價長度。

想想我們下象棋的時候,車炮兵之類的,是不是要走曼哈頓距離?

如果不會下象棋,沒關係,看下面的例子:

在美國道路會像這樣是很多的規則的網格狀,從a到b通常無法去沿直線行走,而是會避開建築物,走幾個街區到達。

圖中藍色的線即為曼哈頓距離的典型應用場景。

看看維基百科:

3. 切比雪夫距離(chebyshev distance)

數學上,切比雪夫距離是將2個點之間的距離定義為其各座標數值差的最大值。

網上搜尋,好多有關這個距離的解釋,大多都是採用西洋棋中的王的走步來作為例子,王可以前後左右走,還可以斜前斜後走,一共8個方向可以認為距離均等。

也就是在下面3×3鄰域內,中心網格的中心點到8個鄰域網格中心點的距離相等。

看看維基百科:

安裝Qt可能會遇到的問題

問題一 1.剛安裝完成之後,第一次開啟彈出介面 libhelp.so 無法載入庫 解決方法 在終端依次輸入 sudo apt get install libqt4 dev sudo apt get f install sudo apt get install libgstreamer0.10 dev...

測試管理可能會遇到的問題

如何帶團隊 帶人 帶專案自己的學習能力如何 技術如何 1.先自我介紹一下吧!軟體測試工作方面的問題 2 完成過軟體測試的具體專案及知道它的職責嗎?3.平時工作除了軟體測試測試,還有什麼內容?4.軟體測試遇到版本迭代,你如何處理?5.如何編寫測試用例,保證版本迭代?6.軟體測試經歷中,你最有成就的案例...

char 轉string可能會遇到的問題

char 型別的字串或者二進位制資料,在傳遞引數給string模板型別時,如果char 裡面含有 00 即c c 字串預設結尾的 0 時,會發生截斷,導致莫名其妙的問題發生。所以在傳遞char 型別的資料時,接受者也是char 如果唯讀的話,那麼就是const char 另外不同模組間呼叫函式時,返...