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 相关文章推荐
Django与遗留的数据库整合的方法指南
Jul 24 Python
zookeeper python接口实例详解
Jan 18 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
python 检查文件mime类型的方法
Dec 08 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
Python Collatz序列实现过程解析
Oct 12 Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
Django数据模型中on_delete使用详解
Nov 30 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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 Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
总结对比php中的多种序列化
2016/08/28 PHP
Yii实现微信公众号场景二维码的方法实例
2020/08/30 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
javascript弹性运动效果简单实现方法
2016/01/08 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
VueJs单页应用实现微信网页授权及微信分享功能示例
2017/07/26 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
vue+vuex+json-seiver实现数据展示+分页功能
2019/04/11 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
PyQT实现多窗口切换
2018/04/20 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
使用matlab 判断两个矩阵是否相等的实例
2020/05/11 Python
Python 实现一个计时器
2020/07/28 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
python 深度学习中的4种激活函数
2020/09/18 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
岗位职责的定义
2013/11/10 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
教师个人自我评价范文
2014/04/13 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书