processing——《代码本色》0-4章

本文介绍了Processing中的向量、力、粒子系统等概念。通过一维和二维噪声的实现展示了噪声的动态效果;向量乘法和长度调整让墨水点随鼠标移动;力的累加和阻力计算展示了物体在不同力下的运动状态;角度、振幅和周期的应用让小球呈现螺旋运动;最后,通过粒子系统类和数组管理,实现了粒子系统的动态生成和控制。
摘要由CSDN通过智能技术生成

第0章 引言

点击鼠标加快速度
一维噪声:beginShape()开始绘制图形,在for循环中得到连续的时间点上的噪声值,使得呈现出连续的波形,在循环外改变x轴上的偏移量,改变噪声移动的速度。得到可持续移动的一维噪声。

float xoff = t;
  beginShape();
  for (int i = 0; i < width; i++) {
    float y = noise(xoff)*height*1.2;
    xoff += 0.02;
    vertex(i,y);
  }
  endShape();
  t+= 0.02;

拓展:按下鼠标时增大递增时间变量,加快移动的速度。

if(mousePressed){
    t+= 0.04;
}

二维噪声:二维噪声从线性空间转到了网格空间,在循环中遍历每个像素点并根据noise()函数的返回值,给窗口中的每个像素着上随机的颜色。在循环遍历过程中,如果有水平方向的移动,就以合适的增量递增xoff,如果有竖直方向的移动,就递增yoff,以此来减小参数的跳跃。

float increment = 0.01;
float zincrement = 0.02;
loadPixels();
float xoff2 = 0.0; 
 for (int x = 0; x < width; x++) {
	xoff2 += increment;
    float yoff = 0.0; 
    for (int y = 0; y < height; y++) {
		yoff += increment; 
      	float bright = noise(xoff2,yoff,zoff)*255;
		pixels[x+y*width] = color(bright,bright,bright);
    }
 }
updatePixels();
zoff += zincrement;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值