考慮到this,我不明白爲什麼我必須採取梯度向量的點積和我的指向它的位移。任何人都可以解釋爲什麼我必須這樣做嗎?我實際上理解this教程,他們只是簡單模糊地計算網格點的值(稱爲平滑噪聲)。這兩種情況下的線性插值對我都很清楚。那麼任何人都可以解釋爲什麼他們會在第一個教程中使用位移的點積和所謂的「gradientvector」?它有什麼作用?2d柏林噪音。爲什麼我必須採取位移和gradientvector的點積?
2
A
回答
1
好吧,我現在想出了自己。第一個教程的噪音是所謂的梯度噪音,而第二個教程是噪音。 ken的經典perlin噪音是一種梯度噪音(更好的質量和性能),而價值噪音更易於理解。但是,在這兩種情況下,八度頻道都加在一起n次(梯度噪音並不取代這個程序)。 參見:
http://en.m.wikipedia.org/wiki/Value_noise
http://en.m.wikipedia.org/wiki/Gradient_noise
梯度噪聲的種子與長度1.這些載體被放置爲1〜彼此相距一定距離的隨機向量的網格。取4個最近格點的位移向量的點積作爲我想要的點,然後在這4個點上的種子梯度向量對於這4個點中的每一個都會產生一個介於-1和1之間的值。然後可以插入這些值以獲取實際的點值。
對於每個網格點,值噪聲都會實時生成隨機值,它們之間的距離爲1。這些值是用種子生成的,它允許我一遍又一遍地得到相同的值。當我選擇我的方形圍繞我想要得到的點時,我會根據我的傳遞座標生成隨機值(這種生成器的算法可以在第二個圖解中看到),然後用周圍的網格點模糊它以得到平穩的噪音。
相關問題
- 1. 包裝2D柏林噪聲
- 2. 2D佩林噪音
- 3. 改進的柏林噪音「太平穩」
- 4. 柏林噪音的Python隨機種子
- 5. 使用柏林噪音生成2d瓷磚地圖
- 6. 柏林噪音看起來太格朗
- 7. 柏林噪聲算法
- 8. 柏林噪聲理解
- 9. 有關柏林噪音的問題(它是如何工作的)
- 10. JavaScript的單面/柏林噪聲
- 11. 良好的柏林噪音資源/實施?
- 12. 固定等高柏林噪音的高度問題
- 13. 創建自然柏林噪聲
- 14. 如何生成柏林噪聲在iPhone
- 15. 柏林噪聲飛鏢實施失敗
- 16. 爲什麼我必須點擊兩次?
- 17. 有沒有更有效的方法來計算和使用柏林噪音?
- 18. 佩林噪音:需要一點幫助
- 19. 創建佩林噪音
- 20. 異構瓷磚和珀林噪音
- 21. 佩林噪音2D:將靜態變成雲
- 22. 爲什麼kinect噪音可以分爲橫向和軸向噪音?
- 23. 爲什麼我必須點擊我的提交按鈕兩次?
- 24. 的Java柏林噪聲二維地形生成
- 25. 實施薹的「程序基礎知識」柏林噪聲在Unity
- 26. 熊貓採取累積和復位
- 27. 爲什麼我必須編譯JavaFX SceneBuilder?
- 28. 爲什麼我必須轉換變量?
- 29. 爲什麼我必須使用-lstdC++ fs?
- 30. 爲什麼我必須包含索引?
第一個鏈接似乎是關於對場進行二次採樣的不同方式 - 它稍微錯過了柏林噪聲點(這是噪聲的多個尺度相加在一起)。所以點積不是必需的,但是如果您對子採樣進行幾何觀察,則可以使用它。 –
是不是分形噪音,當你添加不同的八度音的噪音? – crush3dice
它不是真正的分形,因爲它在不同尺度上沒有自相似性。這只是噪聲的總和頻率。 –