Random Flower
What
原点を回る2点にノイズを加え、その2点を端点とする直線を連続的に描いています。描画ごとに色を薄くすることによりグラデーションを付けています。
random関数ではなく、noise関数を使っているため自然なノイズを加えることができます。
実行毎に違った絵が描かれます。
How
var w = 400;
var h = 400;
var point1 = new Array(2);
var point2 = new Array(2);
var d;
var r = 200;
var seed1;
var seed2;
function setup() {
createCanvas(w, h);
background(255);//white
d = TWO_PI / 360;
seed1 = random();
seed2 = random();
}
function draw() {
push();
translate(w / 2, h / 2);
var n1 = noise(seed1 + 0.02 * frameCount) * r;
var n2 = noise(seed2 + 0.02 * frameCount) * r;
point1[0] = cos(d * frameCount) * n1;
point1[1] = sin(d * frameCount) * n1;
point2[0] = cos(d * frameCount + HALF_PI) * n2;
point2[1] = sin(d * frameCount + HALF_PI) * n2;
stroke(frameCount / 5);
if(frameCount > 1250){
noLoop();
}
line(point1[0],point1[1],point2[0],point2[1]);
pop()
}