2012-01-10 106 views
6

盡我所能努力,我找不到Pervin \ Samplex Noise在1D中的任何實際教程。佩林噪聲1D?

我在互聯網上搜索了所有東西,但找不到任何東西。我所遇到的任何網站提到一維珀林噪音通常都很不清楚,或者只是顯示代碼

+0

你發現的代碼不適合你嗎?網上似乎有幾個代碼示例適用於您的問題([其中之一](http://lotsacode.wordpress.com/2010/02/24/perlin-noise-in-c/))。提供的代碼是可用的,你正在尋找代碼,似乎是什麼問題? – 2012-01-10 05:31:15

+0

它的所有代碼的組合相對難以遵循,如果有代碼,則幾乎沒有任何解釋。 – DubyaDubyaDubyaDot 2012-01-10 05:35:33

+1

你在問一個複雜的算法。當然,任何實現它的代碼都很難遵循。你知道代碼*應該做什麼嗎?如果你這樣做了,那麼網絡上的代碼可能會更難以遵循。 – 2012-01-10 05:37:18

回答

-1

我知道這個問題已經很老了,並且已經得到解答,但是您不能僅僅從2D柏林噪音中提取線條,例如對x或y總是使用0?

+0

雖然這會造成巨大的性能損失。 – 2013-07-25 17:46:08

+0

是的,這是真的... – Jwosty 2013-07-26 16:55:16

+0

應該是一個評論 – 2017-03-23 13:42:09

1

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

一個知道的最重要的事情之一,在所有的編程有用的是插值功能...

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

,一旦你有smoothstep插值隨機點,你有一種光滑1D噪音的功能。

請參閱wiki上的smoothstep。很多關於通過谷歌的話題。 https://en.wikipedia.org/wiki/Smoothstep

顯然的超級鏈接是不穩定的,這裏要再次重申:

單純噪音揭祕

根·珀林呈現「單聲」,爲他的經典噪聲算法的替代品。 經典的「佩林噪音」爲他贏得了學院獎,多年來已經成爲計算機圖形學無處不在的程序基礎,但事後看來它有很多限制。 肯佩林本人設計了單純的噪音來克服這些限制,他花了很多好思想。因此,這比他的原始算法更好。

的優勢更加突出一些 是:

•單面噪聲具有較低的計算複雜性,並需要更少的乘法。

•單純度噪聲以更小的計算成本縮放到更高的維度(4D,5D和更高),複雜度是維度而不是經典噪聲。

•單純形噪聲沒有明顯的方向性僞像。

•單純噪聲在每個地方都有一個定義明確且連續的梯度,可以很便宜地計算出來。

•單工噪音很容易在硬件中實現。

不幸的是,即使現在在2005年初,很少有人似乎明白單純的噪音,幾乎沒有人使用它,這就是我寫這個的原因。我將嘗試更詳細地解釋算法 比肯佩林在他的課程筆記2001年和2002年和 有時間做的事情有希望清楚地表明,它不像第一次看起來那樣難以掌握。 從我所瞭解到的,最令人困惑的是Ken Perlin的 參考實現在Java中的不可逾越的本質。他提出了非常緊湊和沒有註釋的代碼來說明 的原理,但是該代碼顯然不意味着被視爲教程。在幾次嘗試後,我放棄了代碼並讀取了他的論文,而這更清楚。

不是水晶 明確,但他提出的算法主要是在文字和代碼片段。我會有 欣賞一些圖形和數字以及一些有用的方程式,這就是我在這裏試圖提供的 ,讓其他人更容易理解單純噪聲的偉大和美麗。我會 也首先解釋一維和二維的東西,使事情更容易解釋與圖形 和圖像,然後移動到三維和四維。 經典噪音 爲了解釋單純的噪音,有助於理解經典的Perlin 噪音。我已經在這方面看到了很多不好的和錯誤的解釋,所以爲了確保你有必要的基礎工作,我會首先演示經典的柏林噪音。 Perlin噪聲是一種所謂的梯度噪聲,這意味着您可以在空間中的規則間隔點處設置僞隨機梯度,並在這些點之間內插一個平滑函數。若要在一維中生成柏林噪聲,可以將噪聲函數的僞隨機梯度(或斜率)與每個整數座標關聯起來,並將每個整數座標 的函數值設置爲零。

對於一個給定的點某處兩個整點之間,該值 兩個值,即本來的結果,如果從 左邊和右邊最近的直線的斜率已經被推廣到值之間插值問題點。這種插值是一個平滑步驟算法。

+0

鏈接已經死了 – 2017-03-23 13:42:17

+1

它沒有死我點擊它在同一天,因爲你檢查它。它還活着。 – 2017-03-30 13:39:31

+0

我很抱歉,它現在有效。 – 2017-03-30 13:56:18