创意编程作业实验报告

1.随机地形

利用随机平滑噪声生成地形,在三位坐标系里绘制出来:

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

效果图:

创意编程作业实验报告

视角会随着时间慢慢转动,颜色也会渐变。

 

2.惯性和引力

创意编程作业实验报告

图中的方块跟随鼠标位置移动,但是不会壁纸给随,像是有吸引力一样绕着它转。

代码:

创意编程作业实验报告

创意编程作业实验报告创意编程作业实验报告

创意编程作业实验报告

 

3.粒子间引力和运动方向描述

其中包含特性:

粒子被绘制成了三角行
粒子两两吸引
粒子被鼠标吸引
粒子太近会被连线

 

创意编程作业实验报告

创意编程作业实验报告创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告

 

4.正弦运动和发光效果

 

创意编程作业实验报告

void draw() {

  fill(#3a3d43, 50);

  noStroke();

  rect(width/2, height/2, width, height);

 

  phase = 0;

  noFill();

  for (float i = 0; i<= PI-PI/8; i+= PI/8) {

    pushMatrix();

    translate(width/2, height/2);

    rotate((i));

    float a = 80;

    float s = 17;

    strokeWeight(1);

    for (int j = 0; j<15; j++) {

 

      if (abs(sin(incr+phase)) > .75) {

        a = map(abs(sin(incr+phase)), .76, .99, 100, 20);

        stroke(lerpColor(#A2695B, #3a3d43, j/15.0), a);

      } else {

        stroke(lerpColor(#9E2713, #3a3d43, j/15.0), 100);

      }

 

      ellipse(sin(incr+phase)*150, 0, s, s);

      s += 1.5;

    }

    stroke(255);

    ellipse(sin(incr+phase)*150, 0, 16, 16);

    fill(255);

    ellipse(sin(incr+phase)*150, 0, 6, 6);

    popMatrix();

    noFill();

    phase += PI/8.0;

  }

  incr += .03;

 

  for (System t : trails) {

    t.run();

  }

}

创意编程作业实验报告创意编程作业实验报告

 

5.流体效果和粒子

 

创意编程作业实验报告

 

创意编程作业实验报告

创意编程作业实验报告

创意编程作业实验报告创意编程作业实验报告