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
  • asp之家 网络编程 m.aspxhome.com