创意自画像

实验要求:编程语言与工具:编程可以用p5,processing,若想用其他语言或工具,提前向老师说明情况;
作品: 一件编程创意作品,必须实现动态效果或交互效果;作品录制一段一分钟内的视频;作品可以是具象化地描绘自己的形象,也可以是任何形式表现自己的兴趣、追求、特色、经历等;
报告:写一篇文章,发表为博文/推文等形式,描述运用的规律,若用到了数学/物理/化学等学科中的知识,要用平实易懂的语言介绍原理,尝试运用凝练的数学语言表达(公式、方程、推导等),特别要描述出这些原理如何在作品中呈现的。

实验主要代码:float theta, step;
int num=5, frames = 1200;
Layer[] layers = new Layer[num]; //

class Layer {

float start, noize, speed;
float yOff, yOff2;

Layer(float _start, float _noize, float _speed) {
start = _start;
noize = _noize;
speed = _speed;
}

void display() {
yOff = yOff2;
noStroke();
for (int x=0; x<width; x+=1) {
float y = start + noise(noize+sin(yOff)3)step3.5;
rect(x, height, 1, -height+y);
yOff+=TWO_PI/(width);
}
yOff2=theta
speed;
}
}
void setup() {
size(1000, 1000);
background(255, 255, 255);
step = (height-120)/num;
for (int i=0; i<num; i++) {
layers[i] = new Layer(-20+istep, random(1000), i+1);
}
}
void draw() {
background(#ffffff);
for (int i=0; i<layers.length; i++) {
color col = lerpColor(color(184,186,255), color(37,41,180), 0.8-0.8/num
i);
fill(col);
layers[i].display();
}
theta += TWO_PI/frames;

//if (frameCount%2==0 && frameCount<=frames) saveFrame(“image-###.gif”);
myDisplay();
}

这个主要是动态背景的代码,中间的团子描点过于单一就不予呈现了。

实验效果:它其实会动的

实验总结:整体来说不是特别困难,可能是自己画的简笔画不是很复杂吧,但是觉得挺符合自己的性格啥的,动态背景参考了网上动态图的制作教程仿了一个。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值