我需要澄清一下算法,爲我的寵物射線跟蹤儀生成隨機值。
我從一個點發射射線。我有這些射線分佈的問題:我需要的分佈是統一的,但它不是...單位球體上的統一隨機(蒙特卡洛)分佈
我現在面臨的問題是,最初統一的分佈是不統一後,我的扭曲結果的空間。
因此,例如,如果極座標系統生成r和t角度。分佈不均勻,並且不均勻:靠近每個極點的空間比靠近赤道的結果密度要大得多。原因很明顯:我將均勻分佈的點從圓柱空間轉換爲球形空間。我扭曲了結果。同樣的問題是,如果我規範化多維數據集中隨機生成的點。
我的想法現在是這樣的:我想創建一個四面體,規範其頂點,用中間的點分割每個面(三角形),歸一化它並遞歸地重複,直到我有足夠的點。然後我「扭曲」這些點。然後我再次正常化它們。而已。
我知道這種方法不是純粹的數學蒙特卡洛方法本身,因爲除了最後一個步驟外,我沒有在任何步驟中使用隨機分佈。我不喜歡這種複雜性的解決方案。
任何人都可以提出什麼更簡單,但仍
- 隨機
- 均勻
- 快速
- 簡單
謝謝!
編輯:
我需要一個快速的方法,而不是正確的。這就是爲什麼我要問蒙特卡洛。提供的答案是正確的,但不是很快。四面體的方法很快,但不是很「隨機」=>不正確。
我真的需要更適合的東西。
你是對的,這不是真的答案,但它是非常有趣的閱讀。 – avp 2009-12-03 18:05:45