对于一个项目,我正在基于一个中心“家园世界”创建3D空间中的行星,这些行星是从原点开始随机生成的。
我看过程序生成和Perlin噪音,但我找不到合适的方法使它们适用,但我是任何类型的随机生成的新手。
3D点生成算法的任何良好起点,以原点为中心,最好基于种子(因此同一种子生成相同的宇宙)。
谢谢!
答案 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,结果应该可以通过使用相同的初始种子来重现。