我目前正在嘗試學習佩林噪音,特別是地形生成的二維噪音。過去幾天我一直在線上閱讀文章,但他們似乎並不都同意Perlin噪聲的工作原理,而那些看起來具有權威性的工作非常複雜。有關柏林噪音的問題(它是如何工作的)
所以我有一些問題,我希望有人在這裏可以幫助澄清。
有些文章談到從隨機數網格(二維網格的二維噪聲)開始,這是有道理的。但是,其他文章談論用梯度向量填充網格。哪個實際用於Perlin噪音?
我不知道「梯度」向量是什麼,但如果它是一個實際的向量,這意味着用兩個數字填充網格上的每個點,對嗎?它只是一種方法來獲得每個網格點的兩個隨機數,或者是否有理由將其視爲方向向量?這些文章談論的是計算矢量之間的距離,但我認爲這就是內插步驟的原因......
許多關於柏林噪聲的文章都提到將多個噪聲級別與變化頻率和幅度的八度音獲得我期待的有機結果。然而,其他文章稱Perlin噪音只是一個八度音階,而將多個噪音級別合併到多個八度音階中的行爲實際上是「分數布朗噪音」。其實是正確的?佩林的聲音本身就是一種白噪聲,而不是每個人都用它的混合噪音?有些文章用一組初始的隨機值填充網格,有些文章只是編寫它們的噪聲函數,這樣它就不是完全隨機的,而是爲給定的輸入吐出相同的值。這是有道理的,所以結果(特別是在2D中)看起來並不混亂。但是當你開始合併多個八度音(FBN)時呢?每個八度音程是否需要來自同一組值?或者你可以爲每個八度單獨生成一個網格(或生成器函數)嗎?我想避免重複(看到相同的模式重複生成的圖像),但我不知道它背後的邏輯是什麼。
只要你開始使用隨機值(或梯度向量......)的網格,該網格的大小是否與你正在創建的圖像的最終大小有關?或者純粹是頻率的函數?當你增加每個倍頻程的採樣分辨率時,你使用的是大一些還是大一些的網格,或者只是以較高的分辨率重新採樣相同的初始網格?
任何澄清將是非常有益的。謝謝。