Update completed the carpet
This commit is contained in:
@ -1,9 +1,80 @@
|
|||||||
|
let startSize;
|
||||||
|
let functionCalls = 0;
|
||||||
function setup()
|
function setup()
|
||||||
{
|
{
|
||||||
|
createCanvas(900, 900);
|
||||||
|
background(0);
|
||||||
|
|
||||||
}
|
fill('white');
|
||||||
|
noStroke();
|
||||||
|
noSmooth();
|
||||||
|
rectMode(CENTER);
|
||||||
|
startSize = Math.pow(3, 6); // 3 * 3 * 3 * 3 * 3 * 3
|
||||||
|
console.log(startSize);
|
||||||
|
};
|
||||||
|
|
||||||
function draw()
|
function draw()
|
||||||
{
|
{
|
||||||
|
translate(width/2, height/2);
|
||||||
|
carpet(startSize);
|
||||||
|
noLoop();
|
||||||
|
};
|
||||||
|
|
||||||
}
|
function carpet(side)
|
||||||
|
{
|
||||||
|
functionCalls++;
|
||||||
|
side = side / 3;
|
||||||
|
|
||||||
|
if(side >= 1)
|
||||||
|
{
|
||||||
|
rect(0, 0, side, side);
|
||||||
|
|
||||||
|
// WW
|
||||||
|
push();
|
||||||
|
translate(-side, 0);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// NW
|
||||||
|
push();
|
||||||
|
translate(-side, -side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// NN
|
||||||
|
push();
|
||||||
|
translate(0, -side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// NE
|
||||||
|
push();
|
||||||
|
translate(side, -side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// EE
|
||||||
|
push();
|
||||||
|
translate(side, 0);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// SE
|
||||||
|
push();
|
||||||
|
translate(side, side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// SS
|
||||||
|
push();
|
||||||
|
translate(0, side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
|
||||||
|
// SW
|
||||||
|
push();
|
||||||
|
translate(-side, side);
|
||||||
|
carpet(side);
|
||||||
|
pop();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user