xxxxxxxxxx
const colours = [
"#5BF1E9",
"#DFE1E2",
"#001CFF",
"#F1FAEE",
"#2A2F35"
];
function setup() {
createCanvas(windowWidth, windowHeight);
noLoop()
angleMode(DEGREES);
rectMode(CENTER)
}
function draw() {
background("#5DFFF5");
drawGridofShapes();
backgroundTexture()
}
function drawGridofShapes() {
for (let x = 100; x <= width - 50; x += 100) {
for (let y = 100; y <= height - 50; y += 100) {
fill(random(colours))
noStroke();
arc(x, y, 30, 30, random(0, 360), random(0, 360), PIE);
drawShapes(x, y, random(35, 40))
}
}
}
function drawShapes(x, y, w) {
let randomShape = int(random(6)); // 0,1,2,3,4,5
let di = random(w, w * 1.8)
push();
translate(x, y);
rotate(random(0, 360));
noFill();
stroke(random(colours));
strokeWeight(2);
if (randomShape == 0) {
let numOfArc = int(random(6)) //0,1,2,3,4,5
for (let i = 0; i < numOfArc; i++) {
let arcDi = di*round(random(1,1.8),1)
arc(0, 0, arcDi, arcDi, random(0, 360), random(0, 360));
}
}
if (randomShape == 1) {
square(0, 0, di)
}
if (randomShape == 2) {
let numOfSqu = int(random(6)) //0,1,2,3,4,5
for (let i = 0; i < numOfSqu; i++) {
rotate(random(45, 180));
stroke(random(colours));
square(0, 0, di)
}
}
if (randomShape == 3) {
rotate(random(30));
triangle(-di / 2, -di / 2, -di / 2, di /2, di / 2, -di / 2)
}
if (randomShape == 4) {
let numOfDots = int(random(4, 7))
circle(0, 0, di)
for (let i = 0; i < numOfDots; i++) {
angleMode(RADIANS)
rotate(TAU / numOfDots);
noStroke();
fill("#6F5BF1");
circle(di / 2, 0, di * 0.1);
}
}
if(randomShape == 5){
let n = int(random(5, 12));
let a = PI * 0.5 * int(random(3, 6))
for (let i = 0; i < n; i++) {
let d = map(i, 0, n, w * 0.2, 0);
angleMode(RADIANS)
rotate(a / n);
noStroke();
fill(random(colours));
circle(w / 2, 0, d);
}
}
pop();
}
function backgroundTexture() {
for (let i = 0; i < 50000; i += 1) {
stroke(255, random(90, 100));
let px = random(width);
let py = random(height);
point(px, py);
}
}
function mousePressed() {
draw();
}
function keyPressed() {
save();
}