/* * DESIGNED BY SEONG KI LEE * MASTER OF ADVANCED STUDIES CAAD DARCH ETH */ // VARIABLES float posX = 200; float posY = 200; float w = 100; float h = 100; int level = 6; void setup() { size(400, 400); background(200, 200, 200); noStroke(); smooth(); noLoop(); rectMode(CENTER); } void draw() { rectRecursion(posX, posY, w, h, level); } void rectRecursion(float x, float y, float lw, float lh, int lv) { fill(40*lv, 0, 0, 20*(6-lv)); // DREAW RECTANGULARS rect(x, y, lw, lh); rect(x - lw, y - lh, lw, lh); rect(x - lw, y + lh, lw, lh); rect(x + lw, y - lh, lw, lh); rect(x + lw, y + lh, lw, lh); if(lv > 1) { lv = lv - 1; // CALL THE RECTRECURSION ITSELF rectRecursion(x + lw/2, y + lh/2, lw/2, lh/2, lv); rectRecursion(x + lw/2, y - lh/2, lw/2, lh/2, lv); rectRecursion(x - lw/2, y + lh/2, lw/2, lh/2, lv); rectRecursion(x - lw/2, y - lh/2, lw/2, lh/2, lv); } }