一种高效的防止黑雾中继站降落到地面的全球传送带布局
阅读
2024-10-25更新
最新编辑:携墨猫
阅读:
更新日期:2024-10-25
最新编辑:携墨猫
时间:2024-01-11
最后更新时间:2024-10-25
来源:bilibili
原文地址:https://b23.tv/cWY1cJy
本文章为_ymb原创,未经作者允许,请勿擅自修改,转载请注明出处并附带本页链接。
,请注意文章时效
众所周知,黑雾太空巢穴会经常发送中继站到星球表面,给我们生产线的正常运行带来很大压力。但是中继站不会降落在建筑附近,哪怕这个建筑只是一节传送带,所以在游戏前期,我们可以使用全球传送带蓝图来避免中继站降落。
注意:传送带最好抬高一些,避免和矿物碰撞,因为黑雾是有可能降落到矿物上的。
目前,常用的全球传送带布局为每10小格放1节传送带,以正方形的方式铺满全球,游戏中星球表面共有325600个格点,这意味着我们需要约3256节传送带才能铺满全球,对传送带的需求非常大。
那么能不能找到一种更高效的布局?至少需要多少传送带才能铺满全球?
首先,我们要确定中继站在什么情况下不会降落。根据各位玩家对游戏源码进行的分析,中继站降落的判定为:
- 1.不会降落在距离一般建筑16米以内;
- 2.不会降落在部分建筑43米以内。
我测试得出的数据也符合上述结论。
接下来,简单分析一下传送带节点的排列方式:
- 1.在球面上选择一些节点,这些节点会把球面分割为很多三角形,我们的目标,是三角形内所有点到最近的三角形顶点的距离小于16米。
- 2.三角形内到最近的顶点距离最远的点是哪一点?是三角形的外心,即三角形外接圆的圆心,证明略。所以我们的目标等价于把球面分割为很多个外接圆半径为16米的三角形。
- 3.外接圆半径固定为16米的条件下,什么样的三角形面积最大?等边三角形,证明略。简单计算可得等边三角形的边长为16√3米。
至此,我们知道了应该把球面分割为边长16√3米的等边三角形。但是在球面上,显然没有办法按照上述计算进行分割,更别说三角形的顶点最好要在网格上。
对于这个问题,我的解决方法是:按照纬度将球面分成几个环带,在每个环带内,尽可能用最少的三角形覆盖。
首先介绍一下游戏中网格的划分方法:
其中每格的长度不固定,在赤道,每格的长度为1.2566米,其他纬度,每格的长度如下表所示:
再来考虑如何划分才能尽可能地接近边长16√3米的等边三角形。 在赤道,等边三角形的边长16m=22.05格,高24m=19.10格,但是这样划分不方便,所以我把三角形的底(平行于纬线)设为20格,高也设为20格,计算可得,这样的三角形外接圆半径=15.71m < 16m。这些三角形构成了第一环带,也就是距离赤道0-20格的部分。第二、三环带的划分方法和第一环带一样,由于球面越远离赤道越小,得到的三角形只会越来越小,三角形外接圆半径一定小于16m。到了第四环带,由于格子越来越小,三角形的底变短了,高可以增加到21格。
后面的环带由于网格变化的速度越来越快,很难按照等边三角形分割,只能退而求其次,选择效率略低的矩形分割。每个节点的覆盖面是一个圆,我们假设节点只覆盖圆内部的一个矩形,通过经纬度计算出矩形的长和宽应满足的条件,从而确定节点的位置。
最终,我确定的方案是:
- ①距离赤道0-81格采用三角形排列,三角形的底为20格,高分别为20和21格。
- ②距离赤道81-97格采用矩形排列。
- ③距离赤道97-138格采用三角形排列,三角形的底为20格,高分别为20和21格。
- ④距离赤道138-154格采用矩形排列。
- ⑤距离赤道154-174格采用三角形排列,三角形的底为21.6(18)格,高为20格。
- ⑥距离赤道174-237.5格采用矩形排列。
- ⑦距离赤道237.5-250的部分由极点覆盖。
总共只需要890节点,相比一般的全球传送带布局,节省70%传送带。节点的具体位置如下表:
蓝图包:
https://pan.baidu.com/s/1XftOUCVrOiWAK4mQQCzLFg?pwd=g5a6
本全球传送带蓝图在“8_战斗相关”中
bWFuanVzYWth的优化蓝图(只需要812个传送带):