Processing编程《代码本色》0-4章习作

chap0 随机

Perlin噪声算法:perlin噪声又称柏林噪声,噪声鼻祖。给定一个输入变量,生成一个值在0-1范围内的伪随机变量的函数。在图形学中一般是输入一个坐标得到一个范围在0-1之间的变量,在利用各种颜色计算得到一些比较酷炫的效果,像火焰、云彩、地形等。
结果:
在这里插入图片描述
主要代码:

void setup(){
  size(600,600,P3D);
  background(0);
  fill(0);
  //noStroke();
  //lights();
  noiseSeed(1);

}

float t=0;  
float a = 0.0;
void draw(){
  t++;
  clear();
  pushMatrix();
  rotateX(PI/2);
  rotateZ(a);
  draw1();
  popMatrix();
  a += 0.01;
}

void draw1(){ 
  for(int x=-width;x<width;x=x+40){
    for(int y=-height;y<height;y=y+70){
        float n=noise(0.04*x,0.02*y,0.02*(t));
        translate(x,y,0);
        fill(137,207,n*240);
        box(n*100);   //size of box
        translate(-x,-y,0);
    }
  }
}

chap1 向量

单位化向量:计算向量的长度只是一个开始。长度计算函数引入了更多的向量运算,第一个就是单 位化。单位化也称为正规化,正规化就是把某种事物变成“标准”或“常规”状态。一 个“标准”的向量就是长度为1的向量。因此,将一个向量单位化,就是使它的方向保 持不变,但长度变为1,这样的向量称为单位向量。
在这里插入图片描述
向量的加法 小球即时的位置=(原来的位置.x+速度,原来的位置.y+速度)
结果:
在这里插入图片描述
主要代码:

class Mover {
  PVector location;
  PVector velocity;
  PVector acceleration;
  float topspeed;

  
  Mover() {
    location = new PVector(width/4,0);
    velocity = new PVector(random(-2,2),random(-2,2));
    acceleration = new PVector(-0.001,0.1);
    topspeed = 1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值