全站通知:

一种高效的防止黑雾中继站降落到地面的全球传送带布局

阅读

    

2024-10-25更新

    

最新编辑:携墨猫

阅读:

  

更新日期:2024-10-25

  

最新编辑:携墨猫

来自戴森球计划WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
携墨猫
幻虚道长
作者:_ymb
时间: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米的等边三角形。但是在球面上,显然没有办法按照上述计算进行分割,更别说三角形的顶点最好要在网格上。

对于这个问题,我的解决方法是:按照纬度将球面分成几个环带,在每个环带内,尽可能用最少的三角形覆盖。

首先介绍一下游戏中网格的划分方法:

游戏网格划分方法.jpg

其中每格的长度不固定,在赤道,每格的长度为1.2566米,其他纬度,每格的长度如下表所示:

游戏网格规格大小.jpg

再来考虑如何划分才能尽可能地接近边长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%传送带。节点的具体位置如下表:

Ymblcza的防止中继站降落的蓝图设计.jpg

蓝图包:

https://pan.baidu.com/s/1XftOUCVrOiWAK4mQQCzLFg?pwd=g5a6

本全球传送带蓝图在“8_战斗相关”中

bWFuanVzYWth的优化蓝图(只需要812个传送带):

https://github.com/DSPBluePrints/FactoryBluePrints/blob/main/%E9%BB%91%E9%9B%BE%20DarkFog/%E4%BC%A0%E9%80%81%E5%B8%A6%E5%8D%A0%E4%BD%8D/812_belt_mk1.txt