2009年7月6日 星期一

Digital Sun

今天心血來潮,想說把上次的Digital chaos做成動態的,結果做出蠻有趣的效果。

0和1會一直從圓心到圓周間來回交互畫,由於中間的透明度較低,就會造成這種太陽的感覺。

後來做些微的rotate後,變成颶風了:


程式碼:
int lineSize = 400;
int wide = 5;
int hei = 8;
int fontSize = 16;
int shadow_shift = 2; //文字殘影偏移量
int amount = 50;
int radius = amount;
float angel = 0; // 一行的角度偏移量,設成0.3會變颶風。
PFont font;
boolean sw = true;
void setup(){
size(800,800);
font = createFont("Geogreia",fontSize);
textFont(font);
background(0);
}
void draw(){
if(radius == -amount)
sw = true;
if(radius == amount)
sw = false;
radius += sw? 2:-2;
translate(width/2,height/2);
for(int i = 1 ; i <= 10*abs(radius); i+=5){
int rand = (int)random(2);
int num = (int)random(2);
int shift = (int)random(8) * (i/lineSize >=1 ? -1:1);
int x = i%lineSize+i/100*wide + shift;
int y = (i/lineSize)*hei+ shift;
float trans = 160+95*(shift/7);
fill(255,trans);
rotate((rand == 0? -shift:shift));
rotate(angel);
text(String.valueOf(num), x , y);
if(shadow_shift != 0){
fill(255,trans*0.5);
text(String.valueOf(num), x+shadow_shift,y+shadow_shift);
}
textFont(font,fontSize+(rand == 0 ? -shift:shift));
}
translate(width/-2,height/-2);
}

「無,為天地之始;有,為萬物之母。故常無,欲以觀其妙;常有,欲以觀其徼。此兩者,同出而異名,同謂之玄,玄之又玄,眾妙之門。」-《道德經》