代码之家  ›  专栏  ›  技术社区  ›  rjmunro

寻找生成现实行星的算法

  •  8
  • rjmunro  · 技术社区  · 6 年前

    我想收集一个算法和其他资源的列表,以生成行星的真实和有趣的视觉效果。视觉效果应该像你在NASA主页上看到的一样。关键属性是:

    • 一个漂亮的气体巨人的多彩气氛
    • 环(可选)
    • 无大气的固体岩石冲击坑
    • 可居住行星可能具有海洋、山脉、河流、森林等特征。
    • 对于表面上的文明,居住者甚至可以有一个现实的分布。

    最后的目标应该是给科幻作家一个工具来创造一个世界,帮助他们激发想法,为场景创造位置,或者作为一个基础来为他们的书呈现好的图像。

    注意:这是一个wiki,所以没有一个“正确”的答案。

    4 回复  |  直到 8 年前
        1
  •  3
  •   Ron Warholic    16 年前

    如果你想要一个非常成熟的程序行星渲染器的高级描述, Infinity 也许是最可敬的。开发博客涵盖了许多用来创造一些非常好的程序行星和其他非常好的空间现象的概念。

        2
  •  4
  •   e.James    16 年前

    Fractal terrain generation 创造出逼真的风景。我想你可以扩大进程,以便在种植园规模上产生土地。 This site 详细描述了用于景观的过程。

        3
  •  3
  •   user10398    8 年前

    查看Conworlding链接。实际上,这里有商业软件(我想到了Profantasy),但如果您想从头开始做一些事情,我有一个链接您可能会感兴趣:

    Magical World Builder

    最后,盖伊·莱基·汤普森写了一些有趣的关于在游戏设计中使用程序内容的书。我有他的两本书,它们非常鼓舞人心。列出了许多算法,包括一些RNG实现、名称生成器(提示:选择一个名称部分列表,然后每个名称应该有多少部分,然后随机化)、两个关于地形和景观生成的完整章节、一个地牢章节……

    哦!说到地牢,不知道你是否听说过罗格列克,但我最近一直在研究这些。我认为他们在地牢中使用的许多相同的一般原则都可以应用——此外,还有他们共享的荒野算法。尝试:

    Temple of The Roguelike -可能是最大的roguelike dev论坛

    Wilderness Generation using Vornoi Diagrams -这个博客是由一个非常受欢迎的流氓变种unangband的开发人员运行的。roguelike dev社区中的许多人共享资源。

    Markov Chain -本文介绍了如何使用马尔可夫链将随机名称组合在一起。它所在的wiki对于任何生成任何类型程序内容的人来说都有很多感兴趣的算法。

    Roguebasin -这里有许多有用的算法和代码示例。

    玩得高兴!

        4
  •  2
  •   David Berger    16 年前

    我不是天文学家,但你可以考虑用某种决策树来对行星进行初步分类:

    1. 主要成分(甲烷/岩石等)
    2. 质量
    3. 附加大气(多少、多少等)
    4. 温度(或者,指定与恒星的距离,对恒星建模,并根据上述内容编写算法)
    5. 年龄
    6. 小行星/流星活动

    像陨石坑这样的东西将由1、3和6间接决定。半径可由1和2计算得出。列表中较高的元素可能会在较低的元素上设置边界。

    您仍然有许多算法需要研究,但是可能有一个信息顺序可能会构造您的计算或您使用的变量。