processing《代码本色》第0章练习

本文介绍了Processing中的Perlin噪声算法,展示了如何使用noise()函数生成自然排序的伪随机数序列。通过多个实例,解释了一维和二维噪声的原理及应用,包括噪声值的映射、二维噪声在网格空间的表现,以及如何通过独立的坐标获取不同的噪声颜色。文章最后总结了噪声值的特性,并推荐了《代码本色》后续章节的练习链接。
摘要由CSDN通过智能技术生成

一、一维噪声
一个好的随机数生成器能产生互不关联且毫无规律的随机数。然而,单独把随机性作为唯一原则是不够的,她并不完全符合自然界的特征。Perlin噪声就考虑到了这一点。Perlin噪声算法表现出了一定的自然性,因为它能生成符合自然排序(“平滑”)的伪随机数序列。如下图所示。
在这里插入图片描述
Processing内置了Perlin噪声算法的实现:noise()函数。noise()函数有三个参数,代表一维、二维和三维的随机数。
从概念上说,我们只需要用Perlin噪声算法得到0和画布宽度之间的的一个x坐标,但这并不是一个正确的实现。noise()函数的结果范围是固定的,他总是会返回一个介于0~1的结果。因此,在画布大小过大时,我们需要在噪声结果后乘上画布大小,起到放大效果。在后边也会通过map()函数来改变结果范围。
二、例子一
(1)初始化所需噪声变量。

float xoff=0.0;//噪声的x坐标
float xincrement=0.01;//噪声的增值

(2)draw()函数部分。

float n=noise(xoff)*width;//通过noise()噪声取到圆心x坐标的随机值。
xoff=xoff+xincreament;//增大xoff,不断改变noise()的传入值,获
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值