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 13 Python
Python多线程编程简单介绍
Apr 13 Python
python实现决策树分类
Aug 30 Python
Python数据可视化库seaborn的使用总结
Jan 15 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
使用Pandas对数据进行筛选和排序的实现
Jul 29 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python itsdangerous模块的具体使用方法
Feb 17 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
python通过函数名调用函数的几种方法总结
Jun 07 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
神族 Protoss 历史背景
2020/03/14 星际争霸
php仿ZOL分页类代码
2008/10/02 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
Vue完整项目构建(进阶篇)
2018/02/10 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
Python代码解决RenderView窗口not found问题
2016/08/28 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
浅析python内置模块collections
2019/11/15 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
倩碧美国官网:Clinique美国
2016/07/20 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
生物技术毕业生自荐信
2013/10/23 职场文书
商务英语专业应届毕业生求职信
2013/10/28 职场文书
主管会计岗位职责
2014/03/13 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
人事任命书范文
2014/06/04 职场文书
政风行风评议整改方案
2014/09/15 职场文书
区域经理岗位职责
2015/02/02 职场文书