随机星球生成器

按种子批量生成星球:每颗带质量、半径与轨道半长轴,用开普勒第三定律算公转周期,用球体引力公式算表面重力、逃逸速度与平均密度,并给出相对地球通量作 sanity check;恒星质量可调,同一种子逐字复现。

恒星 1 M☉ 下周期按 √(a³/M) 计算;每颗星球的半长轴按种子在 0.2 ~ 5 AU 内抽取。质量、半径各自独立抽取,不查重;种子不变则整批逐字复现。
种子 20261012(字符码折叠为 398) | 恒星 1 M☉ | 数量 12 颗
序号  质量(M⊕)  半径(R⊕)  半长轴(AU)  周期(年)   g(m/s²)  v_esc(km/s)  密度(g/cm³)  通量
   1     10.41      3.46      4.194     8.5890      8.54       19.403        1.386    0.0569
   2     15.72      3.17      1.501     1.8390     15.36       24.910        2.721    0.4439
   3      1.90      3.78      0.429     0.2810      1.31        7.931        0.194    5.4336
   4     14.86      3.43      1.747     2.3091     12.40       23.283        2.030    0.3277
   5     15.34      1.34      4.646    10.0143     83.90       37.848       35.150    0.0463
   6     11.95      2.49      2.454     3.8443     18.93       24.506        4.268    0.1661
   7      0.32      2.39      1.227     1.3591      0.55        4.093        0.129    0.6642
   8      4.52      2.19      4.424     9.3051      9.25       16.071        2.373    0.0511
   9      4.04      1.93      0.285     0.1521     10.65       16.184        3.098   12.3115
  10      8.54      3.11      4.986    11.1334      8.67       18.537        1.565    0.0402
  11     10.27      2.36      2.686     4.4021     18.11       23.335        4.308    0.1386
  12      5.64      1.48      3.456     6.4248     25.29       21.837        9.592    0.0837
周期范围 0.1521 ~ 11.1334 年;通量范围 0.0402 ~ 12.3115;最重 15.72 M⊕ / 3.17 R⊕
恒星质量1 M☉
生成条数12 颗
周期范围0.1521 ~ 11.1334 年
通量范围0.0402 ~ 12.3115
#质量(M⊕)半径(R⊕)半长轴(AU)周期(年)g(m/s²)v_esc(km/s)密度(g/cm³)通量
110.413.464.1948.58908.5419.4031.3860.0569
215.723.171.5011.839015.3624.9102.7210.4439
31.903.780.4290.28101.317.9310.1945.4336
414.863.431.7472.309112.4023.2832.0300.3277
515.341.344.64610.014383.9037.84835.1500.0463
611.952.492.4543.844318.9324.5064.2680.1661
70.322.391.2271.35910.554.0930.1290.6642
84.522.194.4249.30519.2516.0712.3730.0511
94.041.930.2850.152110.6516.1843.09812.3115
108.543.114.98611.13348.6718.5371.5650.0402
1110.272.362.6864.402118.1123.3354.3080.1386
125.641.483.4566.424825.2921.8379.5920.0837

默认示例:恒星 1 M☉、数量 12 颗、半长轴随机。任意一项改动即重新生成,光标停在恒星质量、数量或种子框里按回车同样触发一次;明细表默认显示 12 行,点「加载更多」展开全部。

使用方法

  1. 「恒星质量」默认 1,单位是 M☉(太阳质量倍数),允许 0.1 到 10、步长 0.1;改完或按回车立即重算。
  2. 「统一半长轴」默认留空,此时每颗星球的轨道半长轴按种子在 0.2 到 5 AU 内抽取;填入具体数值(0.05 到 30)则整批共用该距离,适合固定轨道、只比质量与半径的场景。
  3. 「生成数量」默认 12,允许 1 到 60 的整数。
  4. 「随机种子」默认 20261012,可写任意文字;种子按字符码累加折叠成 31 位整数,同一种子必然复现同一批。
  5. 结果区首行是概要(种子折叠值、恒星质量、半长轴模式、数量),随后按列给出质量、半径、半长轴、公转周期、表面重力、逃逸速度、平均密度与相对通量,末行给出周期与通量的范围和本批最重。
  6. 明细表默认显示 12 行,点「加载更多」展开全部;「导出 CSV」存成带字节序标记的文件,Excel 打开不乱码。
  7. 「复制结果」复制整段文本;「复制明细表」把当前表格按 TSV 复制,粘进表格软件列位不乱。
  8. 恒星质量写成 0 或 20、统一半长轴写成 0.01、数量写成 7.5、种子留空,都会给出针对该项的具体提示,不会拿上一批冒充本次输出。

这个随机星球生成器能解决什么问题

第一类是给设定补数字。写科幻、跑桌游、做游戏星球清单时,最缺的不是名字而是「这颗球有多重、重力几倍、能不能留住大气」。本页一批给出质量、半径与全部派生量:默认第 5 颗 15.34 M⊕、1.34 R⊕,表面重力 83.90 m/s²,是地球的 8.5 倍,密度 35.150 g/cm³——这类数字立刻能反推出设定的靠谱程度。

第二类是课堂上演示开普勒第三定律。把「统一半长轴」填成 2 AU,整批周期全部等于 2.8284 年、通量全部等于 0.2500,质量再杂也不影响周期;再把恒星质量从 1 调到 2,同一批的半长轴下周期统统变成原来的 1/√2。两个动作各自验证公式里哪个变量在起作用。

第三类是暴露不自洽的设定。「超级地球却有月球重力」在密度一列会直接露馅:质量大而半径更大时,密度被拉到 0.1 g/cm³ 量级,那不是岩石行星该有的数。本页不判断合理性,只把四个标量摆到一起,让矛盾自己显形。

第四类是统一物理口径。地球表面重力到底写 9.80665 还是 9.8203,两种教科书都能见到;本页采用平均半径 6371 km 的口径,并在正文写明另一个值的来历,抄进设定集时不会再出现两种写法互相打架。

这个工具在本站也叫「随机星球生成器」,四列派生量全部由质量、半径、半长轴与恒星质量算出,不含任何随机修饰项,下面把公式与常数一次讲清。

计算原理与变量说明

四个常数。万有引力常数 G = 6.6743×10⁻¹¹ m³/(kg·s²),太阳质量 M☉ = 1.98892×10³⁰ kg,太阳半径 R☉ = 6.957×10⁸ m,天文单位 1 AU = 149597870700 m。页面里的一切速度、重力、密度都由这四个常数与地球参照值推出。

公转周期用开普勒第三定律。一般形式是 T = 2π√(a³/GM),其中 a 是轨道半长轴、M 是恒星质量。把 a 换成 AU、M 换成 M☉、T 换成年后,G·M☉·(1 年)² 与 (1 AU)³ 的比值恰好等于 4π²,公式化简为 T(年) = √(a³/M)。自检:a = 1.523679 AU、M = 1 时 T = 1.880790 年;a = 5.2044 AU 时 T = 11.872878 年。再验算 T² = a³/M:1.880790² = 3.537370,与 1.523679³ = 3.537370 一致。

两种口径的差一点头:把取整后的常数代回米/千克/秒形式,火星周期是 1.880584 年,与简化式 1.880790 相差约 0.0002 年,差异全部来自常数的六位取整。本页采用简化式计算,因为它不含额外近似,且让「恒星质量翻倍、周期除以 √2」这类关系在页面上精确成立。

表面重力、逃逸速度、平均密度。三个公式分别是 g = GM/R²、v = √(2GM/R)、ρ = 3M/(4πR³)。以地球为基准缩放(M、R 用地球倍数表示)得到 g = 9.8203·M/R²、v = 11.1862·√(M/R)、ρ = 5.5134·M/R³,单位分别是 m/s²、km/s、g/cm³。地球(M = 5.9722×10²⁴ kg、R = 6.371×10⁶ m)代进去得 9.8203 m/s²、11.1862 km/s、5.5134 g/cm³;木星(M = 1.8982×10²⁷ kg、R = 6.9911×10⁷ m)得 25.9213 m/s²、60.2027 km/s、1.3262 g/cm³;太阳(R = 6.957×10⁸ m)表面重力 274.27 m/s²、逃逸速度 617.754 km/s。

为什么地球重力有两个数。教科书的 9.80665 m/s² 是约定标准重力,配的是标准半径与纬度修正;用平均半径 6371 km 直接算 G·M/R² 得到 9.8203 m/s²。两者都对,只是口径不同——本页所有派生量都以 9.8203 为基准缩放,所以页面里的地球永远是 9.8203。

相对通量只反映距离。地球接收 1 S⊙,恒星辐照度随距离平方反比衰减,所以相对通量就是 1/a²:a = 2 AU 处只有 0.25。这一列不随恒星质量变化,也不含大气温室效应,是 sanity check 而不是气候模型;拿它判断「这批里哪几颗轨道离地球尺度最近」够用,判断宜居请另找模型。

随机源与站点口径一致。种子先按 s=(s+str.charCodeAt(i))&0x7fffffff 折叠成 31 位整数,默认种子 20261012 折叠为 398。每颗星球依次抽质量、半径、半长轴三个数,推进规则是 s=(Math.imul(s,1103515245)+12345)&0x7fffffff,连续量用 min + s/2147483647×(max−min) 线性映射。乘法必须用 Math.imul:中间结果接近 2⁶¹,超过双精度精确表示的 2⁵³,普通乘法会丢低位;本页不用取余取索引,因为三个量都是连续映射。

完整示例(数值仅作演示)

默认示例:恒星 1 M☉、数量 12 颗、半长轴随机、种子 20261012。前 3 行逐字如下——第 1 颗质量 10.41 M⊕、半径 3.46 R⊕、半长轴 4.194 AU、周期 8.5890 年、g 8.54 m/s²、v_esc 19.403 km/s、密度 1.386 g/cm³、通量 0.0569;第 2 颗 15.72 / 3.17 / 1.501、周期 1.8390 年、g 15.36、v_esc 24.910、密度 2.721、通量 0.4439;第 3 颗 1.90 / 3.78 / 0.429、周期 0.2810 年、g 1.31、v_esc 7.931、密度 0.194、通量 5.4336。只抽 3 颗时得到的正是这 3 行——每颗固定消耗三个随机数,第 4 颗不会影响前 3 颗。

用手算复核第 1 颗:T = √(4.194³/1) = 8.5890 年;g = 9.8203×10.41/3.46² = 8.54 m/s²;v_esc = 11.1862×√(10.41/3.46) = 19.403 km/s;ρ = 5.5134×10.41/3.46³ = 1.386 g/cm³;通量 = 1/4.194² = 0.0569。五个数与页面显示逐位一致,因为它们就是按显示值算的。

换参数看规律。恒星质量改成 2 M☉,前 3 颗周期变成 6.0733、1.3003、0.1987 年,正好是 1 M☉ 时 8.5890、1.8390、0.2810 各除以 √2;质量、半径、通量三列一动不动。再把「统一半长轴」填成 2,整批 12 颗的周期全是 2.8284 年、通量全是 0.2500,只剩 g、v_esc、密度在变。

参照天体与距离换算对照表

下表三个参照天体的质量、半径与派生量全部来自本页常数,可用页面公式复算。太阳一行的周期栏为空:它是恒星,不绕自己转。

天体质量半径半长轴公转周期g(m/s²)v_esc(km/s)密度(g/cm³)
太阳1.98892e30 kg6.957e8 m——274.27617.754—
地球5.9722e24 kg6.371e6 m1 AU1.0000 年9.820311.18625.5134
木星1.8982e27 kg6.9911e7 m5.2044 AU11.872878 年25.921360.20271.3262

下表是 1 M☉ 恒星下距离、通量与周期的对应,公式就是 1/a² 与 √(a³/M)。a = 2 AU 一行通量 0.2500、周期 2.8284 年,是页面 sanity check 的锚点;火星的 1.523679 AU 不在表内,用同一公式得周期 1.880790 年。

半长轴(AU)相对通量(1/a²)周期(年)
0.46.25000.2530
0.72.04080.5857
1.01.00001.0000
1.50.44441.8371
2.00.25002.8284
3.00.11115.1962
5.00.040011.1803

结果边界与舍入说明

常见问题

同一个种子为什么每次生成的结果都一样?换一批要怎么换?

因为随机流是确定性的:种子按字符码折叠成 31 位整数作起点,之后按(s × 1103515245 + 12345)对 231 取模推进,同一种子必然走出同一条序列。想换一批就改种子,或改恒星质量、半长轴模式——注意改恒星质量不会改半长轴抽样,只会改周期列。

恒星质量翻倍,周期会发生什么变化?

周期变成原来的 1/√2,约 0.7071 倍。因为 T = √(a³/M),M 翻倍则 T 除以 √2:默认第 1 颗 8.5890 年,恒星 2 M☉ 时是 6.0733 年。质量、半径、通量三列不受影响,它们与恒星质量无关。

地球表面重力到底该写 9.80665 还是 9.8203?

两个数都对,口径不同。9.80665 m/s² 是约定标准重力,配标准半径与纬度修正;用平均半径 6371 km 直接代入 G·M/R² 得 9.8203 m/s²。本页以 9.8203 为缩放基准(g = 9.8203·M/R²),所以页面里地球恒显示 9.8203。

T = √(a³/M) 是怎么从 T = 2π√(a³/GM) 变过来的?

把单位换成 AU、M☉、年。G·M☉·(1 年)² 除以 (1 AU)³ 恰好等于 4π²,根号内外的 4π² 约掉,只剩 √(a³/M)。自检:a = 1.523679、M = 1 得 1.880790 年,T² = 3.537370 与 a³ = 3.537370 一致。若把取整常数代回 SI 单位会得到 1.880584 年,两者差约 0.0002 年,来自常数取整。

相对通量一列为什么不随恒星质量变化?

因为它只编码距离:通量按 1/a² 衰减,a = 2 AU 处恒为 0.25,与恒星无关。真实恒星光度随质量增大而上升,页面没有建模,所以这一列只能回答「离地球尺度多远」,不能回答「接收多少能量」。要做宜居判断请配合专门的大气与光度模型。

生成的星球会重复吗?同一批里能出现两颗一样的吗?

会。质量、半径、半长轴各自独立抽取、不查重,12 颗里出现两个相同组合完全可能,只是概率不高。末尾的「最重」取第一个达到最大值的行,不枚举并列。

抽出来的密度有 35 g/cm³,这合理吗?

页面只保证算术正确,不保证天文合理。35.150 g/cm³ 来自 15.34 M⊕ 配 1.34 R⊕ 的纯铁球级压缩,远超已知行星(地球 5.5134、木星 1.3262)。把半径下限调到 0.4 R⊕ 正是为了让这类极端值有机会出现,用它演示「质量半径必须匹配」比只给温和值更直观。

输入的数据会上传吗?工具免费吗?

免费,无需注册。所有计算都在当前浏览器本地完成,页面不联网、不写 localStorage,恒星质量、半长轴与种子只用于本次生成。

相关工具