インターネット黎明期によく言われたことのひとつに「ホームページを開けば世界中の人が見に来てくれる可能性がある」というのがあったんですが、特に日本語で書いてるサイトにそんなにアクセスなんかあるわけないですから、大嘘だよなーとか思ってました。
ですが、2004年当時、まだalpha版だったProcessingで、「Gallery」の「Drawing by Peter de Jong attractor」に今回のせたような画像を、ランダムに描かせるアプレットを公開した時は、ほんとに海外からもたくさんアクセスしてもらって、たくさんリンクしてもらったりもして、こんなことがほんとにあるんだなーと、うれしかったもんでした。
当時は、Processingのアプレットを公開しているサイトを本家サイトに知らせると、リンクしてくれたというのが一番大きな理由なんですけど、ソースを公開していたこともあって、わけあってサイトを閉鎖するまでは、ずいぶん長いことリンクしてくれるところもあったんですよー。古き佳き時代の思い出です(笑)。
特に需要はないと思いますが、いちおうソースは下記のごとし(33行目の「draw()」は当時は「loop()」でした)。
/*
Peter de Jong 01
Created with Processing 68 alpha on Octover 13 , 2004
http://www.harukit.com/
inspiration
http://www.wmute.org
http://www.complexification.net
http://astronomy.swin.edu.au/~pbourke/
*/
int dNum = 10000;
float sens=0.01;
float a0 =random(-2.5,2.5)*sens;
float a1 =random(-2.5,2.5)*sens;
float a2 =random(-2.5,2.5)*sens;
float a3 =random(-2.5,2.5)*sens;
float scal = 200;
Dot[] dot = new Dot[dNum];
void setup(){
size(1000,750);
background(255);
noFill();
for(int i=0;i<dNum;i++){
dot[i]=new Dot(a0,a1,a2,a3);
}
}
void draw(){
translate(width/2,height/2);
for(int i=0;i<dNum;i++){
dot[i].update();
}
}
void mouseReleased(){
background(255);
a0 =random(-2.5,2.5)*sens;
a1 =random(-2.5,2.5)*sens;
a2 =random(-2.5,2.5)*sens;
a3 =random(-2.5,2.5)*sens;
for(int i=0;i<dNum;i++){
dot[i]=new Dot(a0,a1,a2,a3);
}
}
class Dot {
float nx,ny,ox,oy;
color col;
Dot(float a0,float a1,float a2,float a3){
ox=random(-width/2,width/2);
oy=random(-height/2,height/2);
col = color(50,30,0,10);
}
void update(){
nx=(sin(a0*oy)-cos(a1*ox))*scal;
ny=(sin(a2*ox)-cos(a3*oy))*scal;
stroke(col);
line(nx,ny,nx,ny);
ox=nx;
oy=ny;
}
}
