大家好,欢迎来到IT知识分享网。
1.简介
柏林噪声最常用且最著名的噪声,名字源于他的创始人Ken Perlin。
柏林噪声与值噪声相似,定义若干个顶点且每个顶点含有一个随机梯度向量,这些定点会根据自己的梯度向量对周围坐标产生是能影响,沿着顶点的梯度方向越上升则势能越高。
当需要求出某个坐标的输出值时,需要将该坐标附近的各个顶点所造成的势能进行叠加,从而得到一个总势能并输出。
2.原理
与值噪声一样,它也是基于晶格的噪声,也需要三个步骤:
2.1首先定义一个晶格结构,每个晶格顶点有一个随机的梯度向量。对于二维的柏林噪声来说,晶格结构就是一个平面网格,对于三维来说就是一个立体网格。
2.2输入一个点坐标(二维的话就是二维坐标,三维就是三维坐标,n维的就是n维坐标),我们找到和它相邻的那些晶格顶点(二维下有4个,三维下有8个,n维下有 2ⁿ 个),计算该点到各个晶格顶点的距离向量,再分别与顶点上的梯度向量做点乘,得到2ⁿ个点乘结果
2.3使用缓和曲线计算它们的权重和
下图通过颜色差异显示了2d柏林噪声生成的个像素点的值:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32189.html