Algorithm 行星的三维随机生成

Algorithm 行星的三维随机生成,algorithm,procedural-generation,Algorithm,Procedural Generation,在一个项目中,我正在3D空间中创建行星,基于一个中心“家园”,从原点向各个方向随机生成 我已经研究过程序生成和柏林噪声,但我找不到一个合适的方法使它们适用,但我对任何类型的随机生成都是新手 3D点生成算法的任何良好起点,以原点为中心,最好基于种子(因此相同的种子生成相同的宇宙) 谢谢 尝试使用一组不同的随机数,而不是使用单个种子尝试特定的算法 first one is 1-360 is the rotation around the y axis second one is 1-180 is t

在一个项目中,我正在3D空间中创建行星,基于一个中心“家园”,从原点向各个方向随机生成

我已经研究过程序生成和柏林噪声,但我找不到一个合适的方法使它们适用,但我对任何类型的随机生成都是新手

3D点生成算法的任何良好起点,以原点为中心,最好基于种子(因此相同的种子生成相同的宇宙)


谢谢

尝试使用一组不同的随机数,而不是使用单个种子尝试特定的算法

first one is 1-360 is the rotation around the y axis
second one is 1-180 is the deviation from the y axis (wobble)
third one is 1-<really big  number> is the distance from your centre point (homeworld)
fourth (optional) one is to randomize the radius of the planet
fifth (optional) is to randomize the colour of the object
第一个是1-360,是绕y轴旋转
第二个是1-180,是与y轴的偏差(摆动)
第三个是1-是距离你的中心点(家乡)的距离
第四个(可选)方法是随机化行星的半径
第五个(可选)是随机化对象的颜色
要画出你的行星,只需要一些简单的三角学,就可以从你的原点(家园)算出三维空间(x,y,z)的位置

只要你的种子值是相同的,你就能创造一个非常大的行星空间


如果要使用单个种子执行此操作,请使用该种子为所有后续的随机数生成器生成“随机”种子数。

我在加载此页面所花的很长时间内就有了一个想法,但我还没有看到它

您可以从四面体开始,然后,对于指定的迭代次数

  • 随机选择一个三角形面
    • 将面替换为在该基础上竖立的新四面体

对于完全均匀的随机数分布,这应该近似于一个球体。对于确定性PRNG,结果应该可以通过使用相同的初始种子来重现。

恒星系统中的所有行星(通常)在同一平面围绕质心(恒星)运行,或与该平面有小偏差(角度)。遗憾的是,我们不打算追求真实性。这将是一片几乎无穷无尽的行星,它们的大小会随着距离的增加而增加。我唯一不清楚的是我如何使它产生一定的行星“密度”?也许只是增加一个我可以调整的数字,在他们之间创造“缓冲”或其他什么?