xxxxxxxxxx
// Symmetry corresponding to the number of reflections. Change the number for different number of reflections
let symmetry = 8;
let angle = 360 / symmetry;
let saveButton, clearButton, mouseButton, keyboardButton;
let slider;
var xStep = 0;
var yStep = 0;
var rMax, gMax, bMax;
function setup() {
size = min(windowWidth, windowHeight);
createCanvas(size, size);
angleMode(DEGREES);
rMax = random(1);
gMax = random(1);
bMax = random(1);
background(rMax * 255,gMax * 255, bMax * 255);
}
function draw() {
translate(width / 2, height / 2);
var xNoise = noise(xStep);
var yNoise = noise(yStep);
var x = map(xNoise, 0, 1, 0, width / 3);
var y = map(yNoise, 0, 1, 0, height / 3);
var r = map(xNoise, 0, rMax, 0, 255);
var g = map(yNoise, 0, gMax, 0, 255);
var b = map(yNoise, 0, bMax, 0, 255);
let pmx = random(200) * xNoise;
let pmy = random(200) * yNoise;
fill(r, g, b);
for (let i = 0; i < symmetry; i++) {
rotate(angle);
let sw = 1;
strokeWeight(sw);
rect(x, y, pmx, pmy);
push();
scale(1, -1);
rect(x, y, pmx, pmy);
pop();
}
xStep += 0.02;
yStep += 0.01;
}
// **************************
// * Save png *
// **************************
function keyTyped() {
if (key == "s" || key == "S") save("Title" + int(random(0, 1000)) + ".png");
}