戴森球计划太阳帆是游戏中后期常用的发电方法,太阳帆弹射器如何放置?下面给大家分享戴森球计划太阳帆弹射器部署方法
戴森球计划太阳帆弹射器部署方法关于太阳帆发射的问题已经有了一定讨论,但是基本上都脱不开小太阳帆轨道半径的假设,直接以太阳替代太阳帆的入轨点。结果我在应用这些结论的时候遇到了麻烦,按照分析配置的弹射器却经常报警。在经过天启( 扒代码 )和一番算数后有了此文。
本文适合怀有以下问题的伊卡洛斯:
我就是要造个高高大大的轨道,可为什么弹射器老是报警?
我有个潮汐锁定的星球,该在哪部署弹射器?
我没有潮汐锁定的星球,该在哪部署弹射器?
嫌麻烦不想细看的话,结论先放这了:弹射器的射击目标点会随行星公转而变化,一年中不同时间段发射效率可能不一样。
避免在卫星上发射太阳帆
太阳帆轨道半径R与行星轨道半径r之比(R/r)越大,倾角越接近直角,发射效率越低。即使在潮汐锁定星球上也会缩小全时段可发射范围。所以离恒星越远的星球在发射上越有优势,选择发射星球的优先级一般是潮汐锁定>远日行星>其它。
在潮汐锁定星球上,避开正午经线东西30°和南北纬30°之内的范围,打接近垂直的轨道就向低纬度10点和14点(正午12点)左右的区域布置,打接近水平的轨道可以随意布置。R/r越大,全时段可发射范围越小,要求越严格。同时太阳帆轨道倾角增大会使发射范围整体西移。赤道上正午经线东西30°-60°的范围是黄金位置,几乎能打所有轨道。
在有明显昼夜交替的星球上,R/r越小,优势区域纬度越高,R/r越大,优势区域的纬度越低。小半径轨道(R/r<0.3)布置在20°以上的中纬度地区,大半径(R/r>0.5)布置在赤道南北。
如果可以,尽量设计轨道使得北半球夏季打北天球目标点,冬季打南天球目标点。
一、前置知识
1.弹射器基础
弹射器的发射障碍主要有两个:俯仰限制和目标遮挡。
如果射击目标点的仰角不在5°到60°范围内就会受到俯仰限制。
如果与目标点的连线穿过其它天体周边一定范围内(中心向外半径+120米)则形成目标遮挡。这样就产生了第一个原则:尽量避免在卫星上放弹射器。
2.约定
1.黄道平面:指默认的1号轨道所在平面;
2.全局坐标系:指以恒星为原点、升交角0°经度为x轴、90°经度为y轴、垂直于黄道平面向北的向量为z轴的坐标系,如下图。如果无特殊说明均使用全局坐标。
3.纬度:如果无特别说明,纬度一般南纬取负、北纬取正,经度范围0°-360°。
4.轨道倾角越高,是指太阳帆轨道倾角越接近90°(越垂直于黄道面);轨道倾角越大,是指太阳帆轨道倾角越接近180°。
5.重要符号表
符号二、射击目标点
太阳帆射击的目标点在轨道上不是固定的,取决于两个因素:太阳帆轨道面法向和弹射器的全局坐标。
目标点一定在轨道上,其方向是轨道面法向与弹射器位置向量的向量积。
好了知道这句话后面的就不用看了 下面分别解释两个因素。
1.太阳帆轨道面法向
太阳帆轨道的轨道倾角θ(0°≤θ≤180°)和升交角经度η(0°≤η≤360°)决定了轨道面的法线方向。
游戏预置的1号轨道倾角0°、升交角经度0°,其法向就是z轴正向(0,0,1)。玩家自定义的轨道法向按如下方式确定:
先将向量(0,0,1)绕x轴旋转θ,再绕z轴旋转η
因此轨道面法向n=(sinθsinη,-sinθcosη,cosθ)。
推导过程
2.弹射器的全局坐标
因为弹射器在行星上,首先需要确定的是行星坐标,行星位置由行星在轨道上的相位ω(ω=2πt/T,T为公转周期,t为当前时刻)、公转轨道倾角λ、公转轨道与黄道平面交点的经度μ、行星轨道的半径r决定。
行星坐标P=r(cosμcosω-cosλsinμsinω,sinμcosω+cosλcosμsinω,sinλsinω)
推导过程
而弹射器在行星上的坐标则与弹射器所在纬度α(南纬为负,北纬为正)、天球经度2πt/K+β= kω+β(*)(K为自转周期,k=T/K是行星公转周期与自转周期之比,如果反向自转则k=-T/K)、行星的地轴偏角γ、行星自身的半径a有关。
(*)β是初始时刻弹射器经度与x轴的经度差(向东增加),虽然β一般很难确定,但问题其实不大。如果行星不是轨道共振星,那么β可以忽略,因为往往K远小于T,可以认为一个昼夜间行星位置没变,但天球经度已经取遍0~360°,β带来的影响很小。潮汐锁定星的β则非常好确定:可以认为正是其子夜经线(永夜面中心经线)的经度。
实际上在游戏里弹射器自身的高度对这个坐标也是有影响的,但是因为量级太小这里不考虑。
所以弹射器在行星自身的局部坐标系上的坐标为(r(cosμcosω-cosλsinμsinω)+a(cosαcosγcos(kω+β)+sinαsinγ),r(sinμcosω+cosλcosμsinω)+a cosαsin(kω+β),rsinλsinω+a(sinαcosγ-cosαsinγcos(kω+β)))。 开始头大
目标点T的位置满足OT=n×OE/| n×OE |*R,R为太阳帆轨道的半径。
关于它的形式我已经找到一个让人脑疼的表达式,可惜这里的空白写不下。
你们一定不会想和这种形式的表达式打交道
复杂的表达式预示着这个问题的高精度的定量解只能通过程序为每个玩家的场景去算(暗示MOD),我们在这里必须简化一下。
三、简化模型和目标点的天顶角
1.简化模型
来看看能够忽略掉哪些影响因素。
第一个是行星的轨道倾角λ,这个倾角一般都非常小(<10°),导致行星的纵坐标一般不会超过±0.003r的范围。所以可以认为行星的公转轨道就在黄道平面上。而如果轨道倾角λ=0,那么轨道与黄道平面交点经度μ也就没有实际意义了,取任何值都行,可以一样取为0。于是行星位置就被简化为(cosω,sinω,0)。
第二个是弹射器位置与行星中心的相对位移PE。根据设定,行星半径|PE|=200m,但即使距离恒星最近的行星其轨道半径也是近万米,常见的轨道都在0.5AU以上,相差两个量级。所以对目标点位置影响最大的是行星自身的位置,弹射器在行星上的具体位置影响非常弱:OT/R=n×(OP+PE)/|OP+PE|=n×OP/|OP+PE|+n×PE/|OP+PE|,|PE|远小于|OP|时,|OP+PE|→|OP|,n×PE/|OP+PE|=|PE|/ |OP+PE|→0,所以可以直接使用n×OP来计算目标点的方向向量。
简化后的目标点为
目标点有两个值得讨论的地方:
1.显然目标点的位置是随着行星的公转(由ω决定具体位置)而变化的。
但这种变化并非匀速——轨道倾角越高,在越靠近黄道平面的部分动得越快,也就是一年中的大部分时间目标点都会位于轨道距黄道平面较远的那部分。极端情形是90°倾角的轨道(也就是垂直于黄道平面),此轨道全年的目标点都在上下两个端点附近,行星过升交角经度时切换。
2.目标点的全轨道变化使得高纬度地区的弹射器有时会陷入麻烦。
例如如果是北半球的高纬度弹射器,可能无法向黄道平面以下较远的目标点发射,导致其有相当一部分时间都处于哑火状态。特别是如果轨道安排得很尴尬,导致北半球的夏季目标点在黄道平面以下,冬季在黄道平面以上,会严重影响弹射器的工作效率,地轴倾角较小的行星则比较省心。
目标点表达式前面带的根号很麻烦,可以将前面的整个系数记为M。
2.目标点的天顶角
下面来计算天顶角τ(弹射器对目标点的朝向与弹射器正头顶方向的夹角),天顶角的余角就是目标点的仰角,因此弹射器的可发射范围是30°<τ<85°的时候。
得益于游戏将行星简化为一个完美球形(而不是方形),弹射器自身的天顶方向单位向量很容易确定:各分量就等于弹射器本地坐标除以行星半径a,。
在弹射器处,目标点的视向向量可以近似为PT=OT-OP,即(-Mcosθsinω-rcosω,Mcosθcosω-rsinω,Msinθcos(ω-η)),该向量模长平方为R2+r2。
从而目标点天顶角τ满足cosτ=PT·i/|PT|。得到
这个表达式包含两项运动而且带有根式,仍然不好做解析的分析,所以先从简单类型的行星搞起。
四、潮汐锁定行星
在现实中,潮汐锁定并不严格等同于永昼永夜。理论上行星自转角速度在垂直于轨道平面上的分量等于公转角速度就可以形成潮汐锁定,但是因为地轴倾角、轨道倾角、轨道形状等因素形成的天平动会导致仍然有一部分区域出现昼夜交替(例如月球,地球上的实际可见范围大于50%)。不过游戏里采用了一种相当粗暴的简化方法:所有行星公转轨道都是正圆,当确定该行星为潮汐锁定时,行星公转周期等于自转周期,同时其地轴倾角会变得非常小(直接在预设的随机值上乘了个0.01)。所以对于游戏里的潮汐锁定星球还可以进一步简化:公转周期与自转周期之比k=1,地轴倾角γ=0。
如此前述天顶角可化简为:
此式可以给出几个结论:
1.潮汐锁定星球弹射目标点的天顶角与自转无直接关联(虽然这是一句不需要看公式也想得到的废话)。
2.分子分母同除以r并令R/r→0则可以得到小半径太阳帆轨道近似下的结果。注意因为永昼面的β范围是[90°,270°],所以-rcosαcosβ在永昼面的实际符号是正。
3.θ=0或α=0时,天顶角与行星公转无关。也就是对位于黄道面上的轨道或者赤道上的弹射器,某一刻可以弹射的位置永远可以弹射,此时目标点、弹射器处于相对静止。
4.求导可发现这是一个随cos(ω-η)单调的函数,在ω=η和ω=η+180°时取到极值,因此潮汐锁定星球上全时段可发射的判据是
天顶角余弦的极差是|2Rsinαsinθ|,其它条件不变时,增高纬度、拉大太阳帆的轨道半径、拉高轨道倾角都会缩小全时段可发射范围。测试弹射器时可以优先测试大半径高倾角的轨道。
5.可以据第4条绘制全时段可发射的点的范围:
当R/r较小时可发射范围则非常大,除正午经线东西25°和南北纬25°以内的范围外其它大部分区域都能实现全时段发射。
当R/r变大时发射范围便会缩小,图中明显可见当|θ-90°|越小时全时段发射范围越是向低纬度地区收缩,同时随着θ趋向180°整个区域逐渐西移。
因此一般的规则是高倾角轨道选择较低纬度靠近晨昏线的位置布置弹射器,低倾角轨道可以选择高纬度的位置。
6.接上条,随着太阳帆轨道倾角接近180°,全时段区域整体会向西移动,所以如果一个轨道在子夜经线+135°的地方不好打,不妨试试子夜经线+225°的地方。
总体而言,在潮汐锁定星的中低纬地区沿着纬线布置一条弹射器腰带可能是不错的选择,保证绝大多数轨道都有合适的弹射器位置打。
四、一般行星
直接从一般行星的天顶角表达式入手很难,但是我们可以先不直接考虑天顶角,而是去求目标点和恒星在弹射器处的视向关系。
其实从目标点的计算方法中可以看到。目标点、恒星、行星之间构成了一个直角三角形,在行星处的夹角为arctan(R/r),这也可以说是在弹射器处恒星与目标点的视张角(弹射器的具体位置对三角形的影响很小)。如果R远小于r,那么自然退回到以恒星高度角代替目标点天顶角余角的情形中去。OT=OP+PT=(-Mcosθsinω,Mcosθcosω,Msinθcos(ω-η)),该向量的模长固定。故在弹射器看来,目标点一年的视运动也是一个围绕恒星的圆周运动,在一天中随着恒星一起升落。弹射器视运动的方向与轨道面法向有关。
1.恒星的视运动
(原图来自网络)
恒星的运动轨迹是平面S与天球的交,地平面为G,南北-东西线交点是观测点。图中虚线所示为北半球极昼区域的恒星视运动(这个视运动是匀速的)。向赤道区域走北侧轨迹会下沉,南侧上升,恒星位于地平面以下时就是夜晚。
目标点的视运动区域必定在两条红线之间。
恒星高度角φ取决于当地纬度α和恒星直射点纬度δ(同样是北纬正南纬负),满足sinφ=sinαsinδ-cosαcosδcos(2πt/K)。
2.估计可用时间的下限
而恒星高度角φ与目标点天顶角τ的关系为
90°-τ-ζ≤φ≤90°-τ+ζ
ζ=arctan(R/r),
30°≤τ≤85°的充分(不必要)条件是min(5°+ζ,60°-ζ)≤φ≤max(5°+ζ,60°-ζ)。我们的问题是如何选取α
使得满足以下判据的t的区间Δt最长。
求解Δt得到的是一个还算齐整但也不好算的表达式。
形式虽然仍对解析不友好,但是到这里已经可以做下数值求解了。
取a=0.2,b=0.82(对应ζ=5°),可以获得下图:
而如果对应ζ=30°,则有:
纵坐标已经转化为一天中可发射时间与自转周期之比。
需要说明的是两图最上方和最下面的曲线两端翘起部分是因为在该区间下反余弦函数内的分母会急剧减小,计算机不会算极限导致数值膨胀,实际趋势是向下的。
从图中可见:
1.恒星直射角变化的影响是将该曲线进行旋转。也就是说,地轴倾角越大,该曲线一年中越能“颠来倒去”,所以大地轴倾角(>20°)的行星可以考虑在南北对称布置弹射器,或者扔在全年不亏的低纬度地区(<20°)。
2.在任一纬度处画一条竖线,与各曲线的交点可以看作是该纬度上弹射器发射占比在一年中的变化。可见全年都有较大发射范围的优势区域随太阳帆轨道半径与行星轨道半径R/r之比的增大而向低纬度收缩。小半径轨道优势区域在20°-40°的中纬度,大半径轨道优势区域则是南北纬10°之内。
以上结论有一点要注意:上述讨论的发射占比是“下限”,实际根据轨道形态、升交角经度与行星冬夏季节的关系在一些地方可以产生额外的发射窗口。