【计算机图形】Perlin Noise 实例和理解

Perlin noise

一、 背景介绍

分形:

分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。分形(Fractal)一词,是芒德勃罗创造出来的,其原意具有不规则、支离破碎等意义。1973年,芒德勃罗(B.B.Mandelbrot)在法兰西学院讲课时,首次提出了分维和分形的设想。(百度百科)

分形在自然界中随处可见:



生成方式:

Perlin noise 就是一种非常有用强大的算法,常用于生成看似杂乱而又有序的内容。尤其特别适合用于游戏和其他视觉媒体,如电影。它的创始人Perlin也因为最先运用此技术而获得奥斯卡奖。

噪音维数 原始噪音 (Grayscale) 实例
1维
Using noise as an offset to create handwritten lines.
2维
By applying a simple gradient, a procedural fire texture can be created.
3维
Perhaps the quintessential use of Perlin noise today, terrain can be created with caves and caverns using a modified Perlin Noise implementation.

二、原理


对一维,如上图,先分配随机的散点,再对这些点进行插值获得连续的曲线。此处需要注意的是需要控制波长,否则可能导致Aliasing(不知道中文应该如何翻译这个词,因为其并不代表锯齿)。 

此处细节Prof. James给我的邮件答复内容:

Because the wavelength is about the size ofthe lattice. Therefore the frequency is also narrowly limited. You are going to add a number of thesesignals to get the 1/f noise. You need to know the frequency you are about toadd in order to be able to sample at the Nyquist limit.  

对二维

  • 定义一个晶格结构,每个晶格的顶点有一个“伪随机”的梯度向量。对于二维的Perlin噪声来说,晶格结构就是一个平面网格,三维的就是一个立方体网格。 
  • 输入一个点(二维的话就是二维坐标,三维就是三维坐标,n维的就是n个坐标),我们找到和它相邻的那些晶格顶点(二维下有4个,三维下有8个,n维下有
  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值