python距离测量的方法
作者:咻_python 时间:2022-12-05 18:27:45
之所以写这个,其实就是希望能对距离有一些概念,当然这个也是很基础的,不过千里之行始于足下嘛,各种路径算法,比如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
来源:https://www.cnblogs.com/xiu123/archive/2018/03/05/8509758.html
标签:python,距离测量
0
投稿
猜你喜欢
Python格式化日期时间操作示例
2022-04-23 23:07:19
python学习之基于Python的人脸识别技术学习
2021-04-23 22:09:25
openCV实现图像融合的示例代码
2022-05-20 03:28:16
Javascript 利用 DOM 特性的两个小技巧
2009-02-28 14:07:00
Python游戏开发之魔塔小游戏的实现
2022-08-26 16:14:35
浅谈Python中的正则表达式
2023-11-02 12:48:18
页面中 CSS 加载方式的优化
2008-03-26 12:36:00
python实现解数独程序代码
2021-05-16 18:39:43
Django choices下拉列表绑定实例
2023-05-06 14:08:52
使用Post提交时须将空格转换成加号的解释
2023-07-02 05:18:19
有关wxpython pyqt内存占用问题分析
2022-11-02 11:37:14
Oracle中字符串截取常用方法总结【推荐】
2024-01-26 16:55:02
IE7下 filter:Alpha(opacity=xx) 的小问题
2008-12-02 16:24:00
Python对象的生命周期源码学习
2022-04-04 23:21:24
在Python中使用元类的教程
2021-04-12 05:09:34
python 返回列表中某个值的索引方法
2021-05-25 21:44:13
python使用selenium模拟浏览器进入好友QQ空间留言功能
2021-06-24 16:24:16
python中requests库+xpath+lxml简单使用
2021-04-08 05:24:16
Mysql 数据库常用备份方法和注意事项
2024-01-17 15:43:25
Node.js 和 Python之间该选择哪个?
2021-05-27 21:38:15