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 26 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
python基础练习之几个简单的游戏
Nov 10 Python
python http接口自动化脚本详解
Jan 02 Python
python实现停车管理系统
Nov 30 Python
python实现串口自动触发工作的示例
Jul 02 Python
深入浅析python的第三方库pandas
Feb 13 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
PyCharm GUI界面开发和exe文件生成的实现
Mar 04 Python
keras得到每层的系数方式
Jun 15 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
python 如何调用远程接口
Sep 11 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/04 星际争霸
php实现网站插件机制的方法
2009/11/10 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
从面试题学习Javascript 面向对象(创建对象)
2012/03/30 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
js中数组Array的一些常用方法总结
2013/08/12 Javascript
javascript操纵OGNL标签示例代码
2014/06/16 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
jQuery实现点击按钮文字变成input框点击保存变成文字
2016/05/09 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
微信小程序学习笔记之获取位置信息操作图文详解
2019/03/29 Javascript
JS实现的排列组合算法示例
2019/07/16 Javascript
python爬虫获取多页天涯帖子
2018/02/23 Python
django 多数据库配置教程
2018/05/30 Python
python调用百度语音REST API
2018/08/30 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
Python线程之定位与销毁的实现
2019/02/17 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
基于python代码批量处理图片resize
2020/06/04 Python
pycharm 对代码做静态检查操作
2020/06/09 Python
为什么说python适合写爬虫
2020/06/11 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
《月迹》教学反思
2014/02/19 职场文书
殡葬服务心得体会
2014/09/11 职场文书
中学生运动会新闻稿
2014/09/24 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
日元符号 ¥
2022/02/17 杂记