码迷,mamicode.com
首页 > 其他好文 > 详细

曼哈顿距离算法

时间:2014-10-09 20:15:27      阅读:322      评论:0      收藏:0      [点我收藏+]

标签:blog   http   使用   strong   sp   2014   on   log   ad   

首先介绍一下曼哈顿,曼哈顿是一个极为繁华的街区,高楼林立,街道纵横,从A地点到达B地点没有直线路径,必须绕道,而且至少要经C地点,走AC和 CB才能到达,由于街道很规则,ACB就像一个直角3角形,AB是斜边,AC和CB是直角边,根据毕达格拉斯(勾股)定理,或者向量理论,都可以知道用AC和CB 可以表达AB的长度。
在早期的计算机图形学中,屏幕是由像素构成,是整数,点的坐标也一般是整数,原因是浮点运算很昂贵,很慢而且有误差,如果直接使用AB的距离,则必须要进 行浮点运算,如果使用AC和CB,则只要计算加减法即可,这就大大提高了运算速度,而且不管累计运算多少次,都不会有误差。因此,计算机图形学就借用曼哈 顿来命名这一表示方法。
在我们常用的平面CAD中,都会有格点,他是基本单位,定义了格点大小后,就可以使用整数来表示和运算,不会引入计算误差,又快又精确。

 

bubuko.com,布布扣

 

曼哈顿与欧几里得距离: 红、蓝与黄线分别表示所有曼哈顿距离都拥有一样长度(12),而绿线表示欧几里得距离有6×√2 ≈ 8.48的长度。

曼哈顿距离算法

标签:blog   http   使用   strong   sp   2014   on   log   ad   

原文地址:http://www.cnblogs.com/jiahuafu/p/4013873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!