[英]2d Perlin noise. Why do i have to take the dotproduct of displacement and gradientvector?
好吧,我現在想通了。 第一個教程的噪聲是所謂的梯度噪聲,而第二個教程的噪聲是值噪聲。 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。這些值是通過種子生成的,允許我一遍又一遍地獲得相同的值。 當我選擇要獲取的點周圍的平方根時,我會根據所傳遞的坐標實時生成隨機值(可以在第二個tut中看到此類生成器的算法),然后使用周圍的網格點對其進行模糊處理以獲得平穩的聲音。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.