3D随机生成的行星

时间:2012-03-05 06:24:54

标签: algorithm procedural-generation

对于一个项目,我正在基于一个中心“家园世界”创建3D空间中的行星,这些行星是从原点开始随机生成的。

我看过程序生成和Perlin噪音,但我找不到合适的方法使它们适用,但我是任何类型的随机生成的新手。

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

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用一组不同的随机数,而不是尝试使用特定算法对单个种子执行此操作。

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

为了绘制你的星球,那么只需要一些简单的三角法来计算你的原点(homeworld)中3d空间(x,y,z)的位置。

只要你的种子价值相同,你就能产生一个非常大的行星空间。

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

答案 1 :(得分:0)

我有一个想法,在很长一段时间内加载这个我还没有看到代表的页面。

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

  • 随机选择三角形面
    • 用在该底座上竖立的新四面体替换脸部。

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