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实现TCP服务器端与客户端的方法详解
Apr 30 Python
Python多线程下载文件的方法
Jul 10 Python
Python实现新浪博客备份的方法
Apr 27 Python
微信跳一跳python辅助脚本(总结)
Jan 11 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
May 25 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
在Python中获取操作系统的进程信息
Aug 27 Python
Python 复平面绘图实例
Nov 21 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
Python datetime模块的使用示例
Feb 02 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
2019/08/03 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
详解angularJs指令的3种绑定策略
2017/04/13 Javascript
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
Vue单页应用引用单独的样式文件的两种方式
2018/03/30 Javascript
Vue项目查看当前使用的elementUI版本的方法
2018/09/27 Javascript
Vue实现拖放排序功能的实例代码
2019/07/08 Javascript
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python使用sorted排序的方法小结
2017/07/28 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
python实现扫描日志关键字的示例
2018/04/28 Python
基于python实现名片管理系统
2018/11/30 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
3个CCIE对一个工程师的面试题
2012/05/06 面试题
学院领导推荐信
2013/10/30 职场文书
教师自我鉴定范文
2014/03/20 职场文书
自行车广告词大全
2014/03/21 职场文书
《春笋》教学反思
2014/04/15 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
店铺转让协议书
2014/12/02 职场文书
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技