點線面
點:
void setup(){ size(500,500); } float x=250,y=250; void draw(){ ellipse(x,y,5,5); }
移動:亂數使其移動時沒有規律,在使其遇到邊界時反彈加入20個點
相近的3點連線加一個N控制點的數量,再使線條因距離有深淺變化
增加吸引力,距離夠近加一點吸引力,使其變化程度更複雜
void setup(){ size(500,500); for(int i=0;i<N;i++){ x[i]=random(500); y[i]=random(500); dx[i]=random(-1,+1);//dx=random(-1,+1) dy[i]=random(-1,+1); } } int N=50; float []x=new float[N];//float x=250,y=250; float []y=new float[N]; float []dx=new float[N];//float da=1,dy=1; float []dy=new float[N]; void draw(){ background(0); for(int i=0;i<N;i++){ ellipse(x[i],y[i],5,5); for(int k=0;k<20;k++){ float d=dist(x[i],y[i],x[k],y[k]); stroke(2.55*(100-d)); if(d<100) line(x[i],y[i],x[k],y[k]); dx[i]-=(x[k]-x[i])*0.00001; dy[i]-=(y[k]-y[i])*0.00001; } x[i]+=dx[i]; y[i]+=dy[i]; if(x[i]<0||x[i]>500) dx[i]=-dx[i];//反彈 if(y[i]<0||y[i]>500) dy[i]=-dy[i]; } }
新版processing
顏色
.png)
.png)
.png)
.png)
.png)
.png)
沒有留言:
張貼留言