逗游網(wǎng):值得大家信賴的游戲下載站!
發(fā)布時(shí)間:2021-04-20 10:23 來源:bilibili 作者:FVortex
戴森球計(jì)劃中的恒星戴森球軌道半徑如何計(jì)算?相信大部分玩家都還不清楚,下面一起來看看恒星戴森球軌道半徑計(jì)算簡(jiǎn)析吧。
戴森球計(jì)劃恒星戴森球軌道半徑計(jì)算簡(jiǎn)析
簡(jiǎn)介
在游戲里造戴森球的時(shí)候, 我們往往需要尋找一個(gè)合適的星系建造戴森球. 一般來講, 一個(gè)適合建造戴森球的星系需要:
高的光度, 以達(dá)到更大的生產(chǎn)功率
最大戴森球軌道半徑大于第一行星公轉(zhuǎn)軌道半徑的 1.35 倍, 以實(shí)現(xiàn)全行星全天候都可以接收到產(chǎn)生的電力.[1]
雖然, 我們能夠使用 Y 鍵查看戴森球的最大半徑, 但這個(gè)操作必須在伊卡洛斯在該恒星的星系內(nèi)部才能進(jìn)行, 而飛行過程則需要能量, 拋曲器, 和最重要的時(shí)間. 為了節(jié)約這些資源, 我們需要在不飛往目標(biāo)恒星的情況下, 對(duì)恒星做出篩選. 因此, 獲知恒星參數(shù)和戴森球軌道半徑的關(guān)系就十分重要了. 根據(jù)數(shù)據(jù)反推公式十分消耗時(shí)間, 所以這里利用了反編譯工具對(duì)游戲代碼進(jìn)行解析, 以直接獲取恒星戴森球軌道半徑的計(jì)算公式.
工具介紹
主要使用了 dotPeek 工具對(duì)戴森球計(jì)劃的程序 dll 文件進(jìn)行了反編譯. dotPeek 是 JetBrains 開發(fā)的一款反編譯 .Net 程序的軟件. 可以在其官網(wǎng)上免費(fèi)下載. 建議使用網(wǎng)絡(luò)安裝器, 離線安裝器里面大部分的內(nèi)容與本文所用的功能無關(guān).
解析過程
首先, 找到游戲文件夾中的 DSPGAME_DataManagedAssembly-CSharp.dll, 用 dotPeek 打開. 在 中找到 DysonSphere. 雙擊其中的 Init 函數(shù)打開, 可以看到如下代碼:
DysonSphere 類中的初始化代碼, 包含了戴森球半徑的范圍信息
可以看到, minOrbitRadius, 也就是半徑最小值, 是恒星半徑的 1.5 倍, 但不會(huì)小于 40000 m, 但如果恒星的類型是巨星, 則在此基礎(chǔ)上再乘以 0.6; 得到結(jié)果后, 向上取整到整百. 而半徑的最大值 maxOrbitRadius, 則是和恒星的 dysonRadius 屬性有關(guān): 是 dysonRadius (根據(jù) defOrbitRadius 的計(jì)算方式, 推斷單位為 au) 的 2 倍, 然后四舍五入到整百. 因此, 我們需要到恒星數(shù)據(jù) StarData 類里面尋找相關(guān)信息.
進(jìn)入 StarData 類, 搜索 dysonRadius 屬性, 發(fā)現(xiàn)除了一個(gè)默認(rèn)值為 10 au 以外, 沒有改動(dòng)這個(gè)屬性的代碼. 因此, 我們可能需要到恒星生成相關(guān)的代碼里面去尋找答案.
在按字母序排序的類列表里, StarData 的正下方是 StarGen 類, 這里可能有我們需要的代碼段. 進(jìn)入 StarGen 類, 再次搜索 dysonRadius 字段. 發(fā)現(xiàn)答案就在這里.
StarGen 類的代碼片段, 包含了生成恒星的 dysonRadius 屬性值的代碼 (已選中部分)
從下往上讀, 發(fā)現(xiàn):
dysonRadius ≥ 1.5 倍恒星半徑, 過小取下限
dysonRadius = 0.28 * orbitScaler
當(dāng) orbitScaler < 1 時(shí), orbitScaler 取 0.4 * orbitScaler + 0.6
orbitScaler = 1.35 ^ p2
p2 = num9 + 2
如果 num9 < 0, 則自乘 4, 然后限制 num9 在 -4 到 2 之間, 過大取最大值, 過小取最小值.
這里 T 是恒星表面溫度.
分類討論并歸納可得:
可得戴森球最大半徑計(jì)算公式:
因此, 可以得到恒星溫度與戴森球最大半徑的關(guān)系圖:
溫度與戴森球最大半徑的對(duì)應(yīng)關(guān)系圖. 圖中顏色代表了光譜類型. 從上面讀到的代碼中可以找到恒星的光譜類型: 將 num9 + 4 之后四舍五入到整數(shù). 0~7 分別對(duì)應(yīng): M, K, G, F, A, B, O, X. 圖中忽略了 X 型光譜. 為閱讀方便, 圖中溫度軸從黑實(shí)線處分為比例不同的兩段.
特殊情況
對(duì)于主序星, 上面的討論是合適的. 但對(duì)于部分特殊恒星, 上述討論并不適用. 因?yàn)樵谟?jì)算完戴森球半徑之后, 程序會(huì)調(diào)用 StarGen::setStarAge 函數(shù), 對(duì)恒星的溫度做出修正:
對(duì)于黑洞, 溫度設(shè)為 0 K;
對(duì)于中子星, 溫度設(shè)為原來的 倍;
對(duì)于白矮星, 溫度設(shè)為原本的 150000 倍;
對(duì)于巨星, , 這里 age 的取值范圍為 0.959999978542328 ~ 1.0, 猜測(cè)為恒星的生命周期. 后面將闡述如何從面板數(shù)據(jù)中獲取 age 參數(shù).
Age 參數(shù)的獲得
可以看到, 在計(jì)算 num9 的代碼上方, 是決定恒星溫度的代碼. 這里用到了 age 參數(shù)和恒星質(zhì)量. 因此, 可以根據(jù)恒星的溫度和質(zhì)量反解出恒星的 age 參數(shù). 這里不再細(xì)究.
用 age 和 mass 決定溫度的代碼
計(jì)算程序
上述算法可以寫成 Python 程序以供使用:
from numpy import log, clip, round
def getMaxDysonSphereRadius(T, starRadius=0):
num9 = log((T-1300)/4500)/log(2.6)-0.5
num9 = num9 * 4 if num9 < 0 else num9
p2 = clip(num9, -4, 2) + 2
orbitScaler = 1.35 ** p2
if orbitScaler < 1:
orbitScaler = 0.4 * orbitScaler + 0.6
result = 0.56 * orbitScaler
if result < 3 * starRadius:
《罪惡都市》決定版數(shù)據(jù)在Steam后臺(tái)更新
《Apex英雄》日蝕戰(zhàn)斗通行證預(yù)告 全新傳說皮膚等
《霍格沃茨之遺》登上Steam愿望單排行榜榜首
《布蘭博:山丘之王》試玩Demo上線 2023年發(fā)售
《刀劍神域》“今日正式發(fā)售” 官方發(fā)布周年紀(jì)念禮盒
《七龍珠:破界斗士》公布賽季更新路線圖
《獵天使魔女3》通過NS模擬器 在PC上以4K/60幀運(yùn)行
《刺客信條:幻景》樂曲“Into the light”欣賞
《獵天使魔女3》首日更新 改進(jìn)防走光模式調(diào)整平衡
《生化危機(jī)8》云游戲版發(fā)售預(yù)告公布 今日登陸Switch
戴森球計(jì)劃增產(chǎn)劑MK3藍(lán)圖分享
戴森球計(jì)劃128塔密鋪分餾藍(lán)圖分享
戴森球計(jì)劃模塊化超市藍(lán)圖分享
戴森球計(jì)劃增產(chǎn)劑用什么模式 增產(chǎn)劑使用方法
戴森球計(jì)劃增產(chǎn)白糖藍(lán)圖分享
02-07戴森球計(jì)劃高發(fā)電量種子分享
02-07戴森球計(jì)劃增產(chǎn)劑使用技巧分享
01-25戴森球計(jì)劃自動(dòng)集裝機(jī)工作原理分析
01-25戴森球計(jì)劃實(shí)用電力樞紐藍(lán)圖分享
01-25戴森球計(jì)劃地?zé)岚l(fā)電性價(jià)比分析
01-21解謎探險(xiǎn)游戲《艾瑞克與破碎王國(guó)》6月30日正式發(fā)售
《午夜殺生重制版》吸血鬼獵人克里斯托夫預(yù)告片公開
《美國(guó)卡車模擬》新DLC“內(nèi)布拉斯加”公開發(fā)行日期
《開拓者:正義之怒》最終DLC假面之舞六月正式上線
復(fù)古動(dòng)作《GladMort》開啟眾籌 致敬經(jīng)典游戲魔界村
《東京料理》即將登陸Switch平臺(tái) 模擬經(jīng)營(yíng)壽司店
玩家自制《光環(huán)》大型戰(zhàn)役模式MOD 支持最多4人合作
Switch重制版《路易鬼屋2HD》開場(chǎng)動(dòng)畫視頻公開
《匹諾曹的謊言:序曲》DLC正式發(fā)售!Ste
《劍星》開發(fā)商Shift Up東方幻想題材新作
《生化危機(jī)9》支持中文配音 主角為里昂與
《仁王3》試玩版現(xiàn)已上線 正式版本將于20
《黑神話:悟空》即將迎來首次折扣!Xbox
Steam限時(shí)喜加一:經(jīng)典刷寶游戲《無主之
《劍星》demo同時(shí)在線峰值2.6萬 Steam好
Steam 5月份硬件軟件調(diào)查結(jié)果:RTX 3060
《噬血代碼2》現(xiàn)已正式公布!于2026年多
《勇氣默示錄HD重制版》游戲場(chǎng)景與職業(yè)信