2012-03-05 51 views
0

對於一個項目,我在三維空間中創建行星,基於一箇中心「家居世界」,這些中心是從原點向各個方向隨機生成的。三維隨機生成的行星

我已經看過程序代和佩林噪聲,但我找不到一個體面的方法來使它們適用,但我是任何種類的隨機一代的新手。

3D點生成算法的任何良好起點,以原點爲中心,最好基於種子(因此相同的種子構成相同的宇宙)。

謝謝!

+0

星系統中的所有行星(通常)都圍繞質心(恆星)在公共平面上繞軌道運動,或者與這樣一個平面有很小的偏差(角度)。 – 2012-03-05 06:40:22

+0

不幸的是,我們並不想要現實主義。這隻會是一個幾乎無盡的行星範圍,隨着你越來越遠,它的規模會越來越大。 – Befall 2012-03-05 06:56:58

回答

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 

要繪製你的星球,那麼它只是一些簡單的三角函數在從原點(家園)的3D空間(X,Y,Z)制定出位置。

只要你的種子價值是相同的,你將能夠產生一個非常大的行星空間。

如果你想用一個種子來做到這一點,那麼使用該種子爲隨後的所有隨機數生成器生成「隨機」種子數。

+0

我不清楚的唯一事情是我如何讓它產生一定的行星密度?也許只是添加一個數字我可以調整,創造他們之間的「緩衝」或什麼? – Befall 2012-03-06 01:02:47

0

我有一個想法,很長一段時間它加載這個頁面,我沒有看到代表。

你可以開始一個四面體,然後,爲指定迭代次數,

  • 隨機選擇
    • 三角臉,豎起了底座上一個新的四面體更換的臉。

隨着完全均勻的隨機數分佈,這應該近似球體。對於確定性的PRNG,結果應該可以通過使用相同的初始種子來重現。