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 21 Python
Saltstack快速入门简单汇总
Mar 01 Python
详解K-means算法在Python中的实现
Dec 05 Python
快速入门python学习笔记
Dec 06 Python
Django处理文件上传File Uploads的实例
May 28 Python
Python日志模块logging基本用法分析
Aug 23 Python
python获取中文字符串长度的方法
Nov 14 Python
Django model select的多种用法详解
Jul 16 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
Python的logging模块基本用法
Dec 24 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Jun 03 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 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 采集程序原理分析篇
2010/03/05 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
PHP 实现 WebSocket 协议原理与应用详解
2020/04/22 PHP
JS 统计时间
2021/03/09 Javascript
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
学习ExtJS table布局
2009/10/08 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
jQuery中closest()函数用法实例
2015/01/07 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
2015/09/19 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
解析vue、angular深度作用选择器
2019/09/11 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python字典创建 遍历 添加等实用基础操作技巧
2018/09/13 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
记一次django内存异常排查及解决方法
2020/08/07 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
英语商务邀请函范文
2014/01/16 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
励志演讲稿范文
2014/04/29 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python