这是兜兜鱼本次要带来的助力内容——代码检查。
身为一个进阶的创意编程学习者, 深深地感受过入坑阶段 想法不断涌现又无力创作的痛感,所以决定开设这个检查。来助力想入创意编程坑的任何人,具体分析相关的创意编程作品的代码意义。让大家理解的同时借鉴到灵感。希望能真正助力入坑人将想法通过代码表达,并且应用到创作中。
柔软质感的球体
今天到解析的作品来自openprocessing(http://www.openprocessing.org,一个processing爱好者网站,如果你目前还不知道,那么恭喜你找到群体了。)作品具体来自哪位大神本人已忘记..(。•ˇ‸ˇ•。)… ,某天狂网站时看到觉得非常有质感,就copy了代码。由于op上作品繁多,想要找回作者已有些困难。(如果知道,务必告知(o゜▽゜)o)
进入正题,先贴上源码。
int time = 0;
void setup(){
size(600, 600);
}
void draw(){
background(242);
for(int i = 0; i < 360; i+=5){
float x = cos(radians(i)) * 50 + width / 2;
float y = sin(radians(i)) *100 + height / 2;
float w = sin(radians(time+i )) * 200;
w = abs(w);
float col=map(i,0,360,120,255);
noStroke();
fill(col,0,88);
ellipse(x, y, w, w);
}
time++;
}
拆解注释:
int time = 0; //设定了一个用来记录时间的变量
void setup(){
size(600, 600); //设定了窗口大小
}
void draw(){
background(242); //设定了背景颜色
for(int i = 0; i < 360; i+=5){ //设定了一个i在0到360度之内以5°幅度增加的循环
//radians()把角度的数据转化成弧度的数据(由于processing的三角函数默认需要投入弧度制的角度)
float x = cos(radians(i)) * 50 + width / 2;
float y = sin(radians(i)) *100 + height / 2;
//可以看到x和y是下方ellips