星球名字生成器

选好命名模式、填入随机种子与数量,立刻批量生成星球与行星名字;真实系、科幻系、神话系三套构词规则,同一个种子每次都给出同一批结果,全部在浏览器本地完成。

已生成 12 个真实系名字(种子 20261012)。
  1. 罗斯-272g
  2. 特拉普派-343f
  3. 开普勒-930d
  4. TOI-883f
  5. 开普勒-55h
  6. 开普勒-881b
  7. 巴纳德-107e
  8. HD-240d
  9. TOI-720h
  10. 拉兰德-400g
  11. 格利泽-607h
  12. 罗斯-128g
序号生成名字结构分解字符数
1罗斯-272g罗斯·272·g7
2特拉普派-343f特拉普派·343·f9
3开普勒-930d开普勒·930·d8
4TOI-883fTOI·883·f8
5开普勒-55h开普勒·55·h7
6开普勒-881b开普勒·881·b8
7巴纳德-107e巴纳德·107·e8
8HD-240dHD·240·d7
9TOI-720hTOI·720·h8
10拉兰德-400g拉兰德·400·g8
11格利泽-607h格利泽·607·h8
12罗斯-128g罗斯·128·g7

本页的核心结论:星球名字由种子完全决定——种子 20261012 配真实系会稳定给出「罗斯-272g、特拉普派-343f、开普勒-930d」这 12 条,把种子换成 42,第一条就变成「拉兰德-520e」。同一个种子分享给别人,能复现出完全一样的名单。

使用方法

  1. 先选「命名模式」,三套规则气质差别很大:真实系像天文目录里的编号名,科幻系像架空星球,神话系带神祇色彩。
  2. 填「随机种子」,范围 1 到 2147483646,示例 20261012。种子是这套算法的唯一输入变量,同一个种子永远生成同一批名字,换一个数字整批就变。
  3. 填「生成数量」,范围 1 到 60,示例 12。数量只决定抽多少条,不会改变前面几条的顺序。
  4. 点「生成名字」,上方列表与下方明细表同步刷新,明细表给出每条名字的结构分解与字符数。
  5. 需要把整批名字发给同伴时,用「复制结果」拿纯名单,用「复制对照表」拿带制表符的表格,用「导出 CSV」拿带 BOM 的表格文件。
  6. 生成超过 12 条时明细表会先折叠,点「加载更多」按批展开,避免首屏被长表占满。

这个星球名字生成器能解决什么问题

写世界观、跑团、做独立游戏或给儿童科普出题时,最费时间的往往不是设定本身,而是把一批天体起名起得既不重复、又不尴尬。随手打字容易撞出「X 星」「Y 星球」这种一个模子刻出来的名字,而真正像天文目录的写法有固定结构:一颗恒星周围多颗行星要靠字母区分,观测编号要能排得开。本页把三套构词规则写进同一个页面,一条名字由若干个词池片段拼接而成,配合固定种子可以复现、可以分享、可以存档。
它适用于科幻与奇幻小说的星系设定、桌面角色扮演的地图标注、游戏关卡或星球系统的命名、儿童天文科普的举例,以及在给同人作品起名时批量产出一批候选再手工挑选。名字只是候选池,最终采用哪一个仍然由你来定。

生成原理与变量说明

三种模式走的是三套完全不同的构词规则,同一串随机数落在不同规则上,得到的是三种气质完全不同的名字。

三种模式加起来一共 83916 + 1584 + 72 = 85572 个互不相同的名字,规模小到一个浏览器标签页就能全部枚举,不需要联网词库,也不会把输入内容发到任何服务器。

随机数用的是 32 位线性同余发生器,常数取自经典的 1103515245 与 12345,乘法之后与 0x7fffffff 按位与,等价于对 2147483647 取模。这里有一个容易踩的坑:乘法的中间结果会远超过 JavaScript 的安全整数范围,必须用 Math.imul 做 32 位整数乘法;如果退化成普通的 s * 1103515245 + 12345,引擎会先把越界结果做一次 ToInt32 转换,得到的序列与页面示例完全对不上。本页正文里的 12 条示例就是这样「由页面算出来再抄进正文」的,你可以把种子填回 20261012、数量填 12,逐条核对。

取索引的公式是 Math.floor(状态值 ÷ 2147483647 × 池长),再用「不小于池长就取池长减一」兜底。这个兜底不是多余的:当状态值非常接近 2147483647 时,浮点乘法可能算出恰好等于池长的结果,少了兜底就会取到 undefined,名字中间会莫名多出一段 undefined。

还有一个只属于真实系的惯例:行星字母从 b 开始排,a 被留给恒星本身。同一颗恒星周围第一颗被确认的行星记作 b,第二颗记作 c,依此类推;所以本页真实系里不会出现以 a 结尾的名字,看到「开普勒-930d」就表示这是该恒星系里的第三颗行星。这条约定来自天文界的命名做法,也是真实系与另外两种模式读起来最不一样的地方。

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

示例条件:命名模式「真实系」,随机种子 20261012,生成数量 12。

同一个种子换成科幻系,得到的是 阿纳瑞斯、乌西瑞斯、泽瑞诺瓦、卡德瑞斯、泽拉、泽德里斯、塞里姆恩、弥洛诺瓦、卡欧、德西罗尔、诺斯、阿里罗尔;换成神话系则是 雅典娜行星、克洛诺斯王座、雅典娜王座、阿瑞斯、波塞冬王座、乌拉诺斯世界、阿瑞斯星、倪克斯星、乌拉诺斯星、赫尔墨斯星、阿波罗、塞勒涅行星。三套结果互不干扰,因为每种模式都从同一个种子重新开始推进。

换种子就换结果:种子 1 的第一条是 拉兰德-176d,种子 42 是 拉兰德-520e,种子 2026 是 格利泽-365b;对应的科幻系第一条分别是 德瑞里斯、卡塔克斯、泰欧托斯,神话系第一条分别是 克洛诺斯行星、赫尔墨斯王座、赫利俄斯王座。

示例中的种子与数量均为演示数值,生成结果完全由种子决定,与任何真实天体目录无关。

命名空间与撞名概率对照表

下表把三种模式的组合规模与撞名概率放在一起,方便判断该挑哪一种。撞名概率指的是从该模式的全部名字里抽若干次,至少出现一次重复的概率,用生日问题的公式 1 减去逐个 (1 − k ÷ N) 的连乘得到。

把真实系与科幻系并排看会更清楚:同样抽 12 次,科幻系的撞名概率是 4.09%,真实系只有 0.08%。原因不是随机数质量不同,而是可选数量差了五十多倍,池子越小重复来得越早。所以「列表里出现同名」极少是程序出错,多半是模式选错了。

结果边界、舍入与适用说明

常见问题

同一个种子每次生成的名字都一样吗?

一样。本页用的是确定性随机数发生器,种子是唯一的状态初值,同一个种子加同一个模式加同一个数量必然得到同一批名字。想换一批就把种子改掉,想保留某次满意的名单就把种子记下来,下次填回去即可。

为什么真实系的行星字母从 b 开始,没有 a?

这是天文界沿用的命名做法:行星字母按发现顺序从 b 排起,a 留给恒星本身,所以第一颗行星是 b、第二颗是 c。因此本页真实系的名字后缀只会出现 b 到 h,看到「开普勒-930d」就知道它是该恒星系里的第三颗行星。

列表里出现重复名字是程序出错吗?

不是。这是生日问题:从有限个名字里重复抽样,样本越多越容易撞上。科幻系只有 1584 个组合,抽 12 次至少撞一次的概率约 4.09%;真实系有 83916 个组合,同样抽 12 次只有 0.08%。想要几乎不撞名就选真实系,或者把生成数量降到 10 条以内。

三种模式该怎么选?

要像天文观测记录、带编号与字母后缀,选真实系;要架空但不撞现有词汇的星球名,选科幻系;要神祇色彩、适合神话体系或宗教设定,选神话系。三者也可以混用,各自记下种子再取,就能拼出一个既有观测味又有传说味的星系名单。

种子可以填 0 或负数吗?

可以填但结果会和你预期的不一样:种子 0 会被规约成 1,负数和超过 2147483646 的值会先取模再使用,等于换了一个你没填过的种子。想让结果可复现、可分享,就保持在 1 到 2147483646 的整数范围内。

这些名字能直接用在小说或游戏里吗?

可以当作候选池使用,本页不主张任何权利。但真实系里的恒星名取自公开的天文命名族,若作品需要严谨,建议把编号部分再手工调整;用于商业项目前,也请自行确认名字没有与在先的商标或知名作品重名。

这个工具免费吗?

免费,无需注册即可使用。

输入的数据安全吗?

安全。计算在当前浏览器本地完成,不会上传输入内容。

相关工具