曼哈頓距離算法


首先介紹一下曼哈頓,曼哈頓是一個極為繁華的街區,高樓林立,街道縱橫,從A地點到達B地點沒有直線路徑,必須繞道,而且至少要經C地點,走AC和 CB才能到達,由於街道很規則,ACB就像一個直角3角形,AB是斜邊,AC和CB是直角邊,根據畢達格拉斯(勾股)定理,或者向量理論,都可以知道用AC和CB 可以表達AB的長度。
在早期的計算機圖形學中,屏幕是由像素構成,是整數,點的坐標也一般是整數,原因是浮點運算很昂貴,很慢而且有誤差,如果直接使用AB的距離,則必須要進 行浮點運算,如果使用AC和CB,則只要計算加減法即可,這就大大提高了運算速度,而且不管累計運算多少次,都不會有誤差。因此,計算機圖形學就借用曼哈 頓來命名這一表示方法。
在我們常用的平面CAD中,都會有格點,他是基本單位,定義了格點大小后,就可以使用整數來表示和運算,不會引入計算誤差,又快又精確。

曼哈頓與歐幾里得距離: 紅、藍與黃線分別表示所有曼哈頓距離都擁有一樣長度(12),而綠線表示歐幾里得距離有6×√2 ≈ 8.48的長度。

轉:http://www.cnblogs.com/jiahuafu/p/4013873.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM