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 01 Python
Python爬取三国演义的实现方法
Sep 12 Python
Python Requests模拟登录实现图书馆座位自动预约
Apr 27 Python
python tornado修改log输出方式
Nov 18 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
django 外键创建注意事项说明
May 20 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 Python
如何使用PyCharm及常用配置详解
Jun 03 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
python编程项目中线上问题排查与解决
Nov 01 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将数据导入到Foxmail
2006/10/09 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
php在线代理转向代码
2012/05/05 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
PHP实现图片旋转效果实例代码
2014/10/01 PHP
smarty模板数学运算示例
2016/12/11 PHP
js中数组Array的一些常用方法总结
2013/08/12 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
python 输出一个两行字符的变量
2009/02/05 Python
python实现bitmap数据结构详解
2014/02/17 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
Python语言进阶知识点总结
2019/05/28 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
聚美优品励志广告词
2014/03/14 职场文书
企业整改报告范文
2014/11/08 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python