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实现划词翻译
Apr 23 Python
python中管道用法入门实例
Jun 04 Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 Python
python opencv之SURF算法示例
Feb 24 Python
python读取和保存视频文件
Apr 16 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
python sklearn库实现简单逻辑回归的实例代码
Jul 01 Python
vue常用指令代码实例总结
Mar 16 Python
Python的PIL库中getpixel方法的使用
Apr 09 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
python标准库ElementTree处理xml
May 20 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 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
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
JQUERY THICKBOX弹出层插件
2008/08/30 Javascript
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
JS获取整个页面文档的实现代码
2011/12/15 Javascript
Android中资源文件(非代码部分)的使用概览
2012/12/18 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jquery判断页面网址是否有效的两种方法
2016/12/11 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
JavaScript中清空数组的三种方式
2017/03/22 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
[04:04]显微镜下的DOTA2第六期——电影级别的华丽团战
2014/06/20 DOTA
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
Python实现病毒仿真器的方法示例(附demo)
2020/02/19 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
元旦联欢会主持词
2014/03/26 职场文书
税务会计岗位职责
2015/04/02 职场文书
财务统计员岗位职责
2015/04/14 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
Django migrate报错的解决方案
2021/05/20 Python