【p5js/プログラミング】平面。

Art

こんにちは、たやち(tayati369)です。

p5.jsでコーディングしています。
PCD@Tokyoさんの「デイリーコーディングチャレンジ」!!に素人極まりない私も参加しております。
毎日できるかわからないけれど、リモートワークのこのご時世、通勤分の時間があるでチャレンジしていきます。(デイリーとはw)

29日目のテーマは「平面」。

rect()関数を活用して四角形を再帰的に呼び出しました。毎回90度回転させる&幅高さをランダムにすることで、いろんな表情を見せてくれます。

デイリーコーディングチャレンジが始まってかれこれ1ヶ月が経過しようとしている。サボりなコーディングもありましたが、毎日続けれていることが本当に自分でも驚きです。
思いも寄らない動きや色を見れたりするのが、楽しみになっています。明日4月の最後のチャレンジも楽しもうと思います。

では、ごらんあれ〜。

const div = 10;
var x =0;
var y = 0;
var w;
var h;

function setup(){
	createCanvas(500,500);
	background(255);
	colorMode(HSB,360,100,100,100);
	w = 100;
	h = 100;
	noLoop();
}

function draw(){
	for (var i = 0; i < width; i+= height/div) {
		x = i;
		for (var j = 0; j < height; j+= width/div) {
			y = j;
			vv(x, y , 10);
			w = 100;
			h = 100;
		}
	}
	// save('heimen.png');
}

function vv(_x, _y, cnt){
	rotate(HALF_PI);
	stroke(random(0,360),random(20,100),random(40,100),random(10,80));
	fill(random(0,360),random(20,100),random(50,100),random(10,90));
	rect(_x, _y, w, h);
	noStroke();
	circle(_x+w/2, _y+h/2, 5);
	cnt --;
	if (cnt >= 0) {
		w = w/random(1,3);
		h = h/random(1,3);
		vv(_x, _y, cnt);
	}
}

ではでは、さようなら〜〜〜。

なにかあればTwitterまで。

コメント