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 解析html之BeautifulSoup
Jul 07 Python
Python程序设计入门(3)数组的使用
Jun 16 Python
Python实现全局变量的两个解决方法
Jul 03 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
Linux 修改Python命令的方法示例
Dec 03 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
Python实现的合并两个有序数组算法示例
Mar 04 Python
基于Python fminunc 的替代方法
Feb 29 Python
Python集成开发工具Pycharm的安装和使用详解
Mar 18 Python
Python求解排列中的逆序数个数实例
May 03 Python
Python实现封装打包自己写的代码,被python import
Jul 12 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
关于Intype一些小问题的解决办法
2008/03/28 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
Windows Live的@live.com域名注册漏洞 利用代码
2006/12/27 Javascript
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
python实现决策树分类算法
2017/12/21 Python
Python实现加载及解析properties配置文件的方法
2018/03/29 Python
解决python "No module named pip" 的问题
2018/10/13 Python
利用nohup来开启python文件的方法
2019/01/14 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
Python的条件锁与事件共享详解
2019/09/12 Python
python爬虫中多线程的使用详解
2019/09/23 Python
Python如何将装饰器定义为类
2020/07/30 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
大专生自荐信
2013/10/04 职场文书
求职信内容考虑哪几点
2013/10/05 职场文书
小学生作文批改评语
2014/12/25 职场文书
介绍信格式
2015/01/30 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
教学副校长工作总结
2015/08/13 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
Python如何加载模型并查看网络
2022/07/15 Python