簡體   English   中英

1D 的柏林噪聲?

[英]Perlin Noise for 1D?

盡我所能,我找不到任何關於 Perlin\\Samplex Noise in 1D 的真正教程。

我已經在互聯網上搜索了所有內容,但找不到任何東西。 我遇到的任何提到 1D perlin 噪聲的網站通常都非常不清楚或只顯示代碼

我知道這是一個老問題,但這里是關於構成 1d Perlin 噪聲的固定點之間的插值的最清晰的解釋之一http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf

要知道的最重要的事情之一,在所有編程中都很有用是插值函數......

http://paulbourke.net/miscellaneous/interpolation/

一旦你有了平滑步長插值的隨機點,你就有了一種平滑的一維噪聲函數。

請參閱 wiki 上的 smoothstep。 很多關於這個主題的信息來自谷歌。 https://en.wikipedia.org/wiki/Smoothstep

顯然超鏈接不穩定,這里又是:

單工噪聲揭秘

Ken Perlin 提出了“單純形噪聲”,替代了他的經典噪聲算法。 經典的“柏林噪聲”為他贏得了學院獎,多年來已成為計算機圖形中無處不在的程序原語,但事后看來,它有很多局限性。 Ken Perlin 自己專門設計了單純形噪聲來克服這些限制,並在這方面進行了大量思考。 因此,這是一個比他原來的算法更好的主意。

一些比較突出的優點是:

• 單純形噪聲具有較低的計算復雜度並且需要較少的乘法。

• Simplex 噪聲以更少的計算成本擴展到更高維度(4D、5D 及更高維度),復雜性在於維度而不是經典噪聲。

• 單工噪聲沒有明顯的方向性偽影。

• 單純形噪聲在任何地方都具有定義明確且連續的梯度,計算成本非常低。

• 單工噪聲易於在硬件中實現。

可悲的是,即使在 2005 年初,似乎也很少有人了解單純形噪聲,幾乎沒有人使用它,這就是我寫這篇文章的原因。 我將嘗試比 Ken Perlin 在他的 Siggraph 2001 和 2002 課程筆記中更徹底地解釋算法,並希望清楚地表明它並不像最初看起來那么難掌握。 據我所知,最讓人們困惑的是 Ken Perlin 在 Java 中的參考實現的不可理解的性質。 他提供了非常緊湊且未注釋的代碼來演示該原理,但該代碼顯然不適合作為教程閱讀。 幾次嘗試后,我放棄了代碼,轉而閱讀他的論文,這要清晰得多。

不過,並不是很清楚,因為他主要以文字和代碼片段的形式展示了算法。 我會欣賞一些圖表和數字以及一些有用的方程,這就是我在這里嘗試提供的內容,以便其他人更容易理解單純形噪聲的偉大和美麗。 我也會先從一維和二維來解釋,以便於用圖表和圖像來解釋,然后再轉到三維和四維。 經典噪聲 為了解釋單純形噪聲,對經典 Perlin 噪聲有一個很好的理解是有幫助的。 我在這方面看到了很多不好的和誤導性的解釋,因此為了確保您完成了必要的基礎工作,我將首先介紹經典的 Perlin 噪聲。

Perlin 噪聲是所謂的梯度噪聲,這意味着您在空間中間隔規則的點處設置偽隨機梯度,並在這些點之間插入一個平滑函數。 要在一維中生成 Perlin 噪聲,請將噪聲函數的偽隨機梯度(或斜率)與每個整數坐標相關聯,並將每個整數坐標處的函數值設置為零。

對於兩個整數點之間某處的給定點,該值在兩個值之間進行插值,即如果從左側和右側最接近的線性斜率外推到相關點時的結果值。 這種插值是一種平滑步長算法。

遲到了,但事實證明,像下面這樣的函數永遠不會是周期性的。

sin (2 * x) + sin(pi * x)

曲線演示 sin (2 * x) + sin(pi * x)

您可以采用一般的函數,例如將 2 更改為 3,在 y 方向上壓縮圖形,縮放單個正弦的 x 頻率/周期,您還可以單個周期移動x。 很多東西,我在 geogebra 下面的鏈接中做了一個游樂場,所以你可以玩配置,看看什么看起來最好,等等。綠色圖是結果,紫色圖是如果你想要整個函數增長到理論無窮大,橙色虛線圖是我們在上面看到的紅色函數的恆定配置,黃色線圖是沒有縮放的一切。 享受!

提示:非周期函數不需要兩個無理數。 例如,您還可以使用二的平方根。

https://www.geogebra.org/graphing/yzgxvd8q

您可以使用圖表配置什么。

我知道這個問題很舊並且已經得到回答,但是您難道不能只是從2D Perlin噪聲中剔除線條,例如,對於x或y始終使用0?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM