我的世界里的曼哈顿距离,切比雪夫距离,欧

大家好,我是我要吃煎蛋

今天给大家介绍一下我的世界里的数学知识。

曼哈顿距离不知道大家有没有听说过?

假设平面空间内存在两点,它们的坐标为(x1,y1),(x2,y2)

则dis=

x1x2

+

y1y2

两点横纵坐标差之和就是曼哈顿距离。

举个例子看图

A到C的曼哈顿距离为AB+BC=10+4=14

还有一种比较有意思的——切比雪夫距离

同样是A到C它的切比雪夫距离就为10

而A到D的切比雪夫距离也同为10

设平面空间内存在两点,它们的坐标为(x1,y1),(x2,y2)

则dis=max(

x1x2

,

y1y2

)

两点横纵坐标差的最大值就是切比雪夫距离

那可能就有人问了??,那AC的直线距离叫什么?

AC的直线距离叫欧氏距离也叫欧几里得距离

也就是我们生活中常用的,常说的两点之间的直接距离。

在我的世界里,有很多情况会运用的这个曼哈顿距离。

我们都知道一格水流可以额外向外流淌7格(根据洪水填充算法)

这就可以很好的解释什么是曼哈顿距离,水源和流淌到的最边缘的位置的距离就是曼哈顿距离。(处于同一水平且没有阻挡物)

还有光照递减也是根据方块坐标的曼哈顿距离计算的,怎么说呢?

光源(太阳光,火把,海晶灯等)向相邻六个方块(上下前后左右)传播时会衰减1光照等级,直到衰减为0。(光源也是根据洪水填充算法传播)

例如:在地上插上一支火把,火把所在方块的光源为14,则在同一平面内,火把前后左右的的方块亮度均为13,斜度角的亮度则为12(下图T为火把)

按照上图的插法可以使用最少的火把将区域内照亮保持在亮度8之上(包括8)阻止攻击型生物的生成。(处于同一水平)

又如下图,在粉色羊毛上插上一支火把,玻璃距离火把3格(曼哈顿距离)所以玻璃所在方块空间的亮度为14-3=11(玻璃透光)

切比雪夫距离也有用到我的世界里

一般刷怪笼的刷怪范围是以它为中心8×3×8的范围内刷怪,我们有时会说到刷怪笼只会在它4格范围内刷怪,这4格指的就是切比雪夫距离。(红色方块范围内)

还有建筑师们最常用到的/fill指令

例如:想要在我脚下10格的位置铺一层11×11大小的钻石平台。那输入指令的要求就是以我为中心,在距离我下方10格位置的方块5格范围内铺上钻石块。

/fill~5~-10~5~-5~-10~-5diamond_block(波浪号~代指玩家当前坐标)

这些指令~的距离都是切比雪夫距离。

当然还有欧几里得距离的运用

只有当玩家位于刷怪笼的16格范围内时,刷怪笼才会刷怪,这16就是欧几里得距离。

这个范围是一个欧几里得球体。

还有我们最需要知道的的,大部分生物只能生成在距离玩家24—54格范围内(鳕鱼、鲑鱼、河豚、热带鱼为12—32格)。

这个生成生物的范围也是欧几里得球体(扣去球心)

怎么样?现在能区别曼哈顿距离,切比雪夫距离,还有欧几里得距离了吗?

我们不仅要玩好游戏,我们还要了解一些内在的知识,不要过度沉迷游戏哦!

如果觉得对你有所帮助,记得点赞收藏,多分享!

感谢大家阅读本期内容。



转载请注明地址:http://www.1xbbk.net/jwbjj/7456.html


  • 上一篇文章:
  • 下一篇文章:
  • 网站简介 广告合作 发布优势 服务条款 隐私保护 网站地图 版权声明
    冀ICP备19027023号-7