python距离测量的方法


Posted in Python onMarch 06, 2018

之所以写这个,其实就是希望能对距离有一些概念,当然这个也是很基础的,不过千里之行始于足下嘛,各种路径算法,比如a*什么的都会用到这个

距离测量有三种方式

1、欧式距离,这个是最常用的距离测量方式

((x1-x2)^2 + (y1-y2)^2)^0.5

得到一个原型区域的距离

#设起始坐标是原点,即(0,0)
y_result = []
for y in range(10,-10,-1):
 x_result = []
 for x in range(-10,10,1):
  #((0-x)**2 + (0-y)**2)**0.5
  if ((0-x)**2 + (0-y)**2)**0.5 <= 9:
   x_result.append('*')
  else:
   x_result.append(' ')
 y_result.append(''.join(x_result))

for i in y_result:
 print i

2、街区距离,这个一般游戏中用到的会比较多,之所以叫街区,是因为西方街道通常都是东南,东北,西南,西北这样

|x1-x2| + |y1-y2|

得到一个菱形区域的距离

#设起始坐标是原点,即(0,0)
y_result = []
for y in range(10,-10,-1):
 x_result = []
 for x in range(-10,10,1):
  #(abs(0-x) + abs(0-y))
  if (abs(0-x) + abs(0-y)) <= 9:
   x_result.append('*')
  else:
   x_result.append(' ')
 y_result.append(''.join(x_result))

for i in y_result:
 print i

3、棋盘距离,这个就好理解,像棋盘一样的方格子

max(|x1-x2|, |y1-y2|)

得到一个方形区域的距离

#设起始坐标是原点,即(0,0)
y_result = []
for y in range(10,-10,-1):
 x_result = []
 for x in range(-10,10,1):
  #max(abs(0-x),abs(0-y))
  if max(abs(0-x),abs(0-y)) <= 9:
   x_result.append('*')
  else:
   x_result.append(' ')
 y_result.append(''.join(x_result))

for i in y_result:
 print i

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python实现扫描端口示例
Mar 29 Python
深入浅析Python2.x和3.x版本的主要区别
Nov 30 Python
Python常用模块之requests模块用法分析
May 15 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
在CentOS7下安装Python3教程解析
Jul 09 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
Python 语言实现六大查找算法
Jun 30 Python
Python入门之后再看点什么好?
Mar 05 #Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 #Python
Tensorflow实现卷积神经网络用于人脸关键点识别
Mar 05 #Python
python入门教程 python入门神图一张
Mar 05 #Python
详解TensorFlow在windows上安装与简单示例
Mar 05 #Python
python 中if else 语句的作用及示例代码
Mar 05 #Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
Mar 05 #Python
You might like
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JavaScript事件列表解说
2006/12/22 Javascript
一个javascript参数的小问题
2008/03/02 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
让复选框只能选择一项的方法
2013/10/08 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
详解操作虚拟dom模拟react视图渲染
2018/07/25 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
详解Python中的条件判断语句
2015/05/14 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
django如何实现视图重定向
2019/07/24 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
香港礼品网站:GiftU eshop
2017/09/01 全球购物
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
教学个人的自我评价分享
2014/02/16 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年售票员工作总结
2014/11/19 职场文书