xxxxxxxxxx
193
// draw borders with pixels
// more broken up the further out you get?
let grid, particles;
let ibm_blue = "#0f62fe";
let vaporwave = [
// (0, 0, 0),
// (20, 20, 20),
// (220, 220, 220),
"#ff71ce",
"#01cdfe",
"#05ffa1",
"#b967ff",
"#fffb96",
// (0, 0, 0),
// (0, 0, 0),
// (0,0,0),
];
function setup() {
createCanvas(800, 800);
// createCanvas(2000,2000);
let sc = width / 1000;
pixelDensity(1);
let rw = width * 0.85;
let rw2 = rw / 2 - (10*sc);
background(255);
fill(color(random(vaporwave))); //ibm_blue));
noStroke();
rectMode(CENTER);
rect(width / 2, height / 2, rw, rw);
strokeWeight(10*sc);
stroke(0);
// noStroke();
drawingContext.shadowOffsetX = 0;
drawingContext.shadowOffsetY = 0;
drawingContext.shadowBlur = 20*sc;
drawingContext.shadowColor = color(ibm_blue); //'black';
let t = 0; //PI / 4;
let _rw = rw;
for (let i = 1; i < 10; i++) {
strokeWeight(map(i, 1, 10, 20*sc, 5*sc));
drawBorderRect(width / 2, height / 2, t, _rw, 60); //map(i, 1, 10, 50, 6.));
// push();
// translate(width / 2, height / 2);
// rotate(t);
// rect(0, 0, _rw, _rw);
// rotate(-t);
// translate(-width / 2, -height / 2);
// pop();
t += PI / 8;
_rw *= 0.75;
}
fill(0);
push();
translate(width / 2, height / 2);
rotate(t);
// fill(color(random(vaporwave)))
rect(0, 0, _rw, _rw);
rotate(-t);
translate(-width / 2, -height / 2);
pop();
// stroke(0);
// strokeWeight(1);
// grid = [];
// for (let y = 0; y < height; y++) {
// grid[y] = [];
// for (let x = 0; x < width; x++) {
// let n = noise(x * 0.01, y * 0.01);
// let a = map(n, 0.0, 1.0, -TWO_PI, TWO_PI);
// let a2 = Math.ceil(
// (map(n, 0.0, 1.0, -TWO_PI, TWO_PI) * (PI / 4)) / (PI / 4)
// );
// grid[y][x] = { n: n, a: a, a2: a2 };
// }
// }
// particles = [];
// for (let _ = 0; _ < 500; _++) {
// let x = random(width / 2 + rw2, width / 2 - rw2);
// let y = random(width / 2 + rw2, width / 2 - rw2);
// let l = random(100, 150);
// particles.push({ x: x, y: y, l: l, ol: l, c: random(vaporwave) });
// }
// stroke(180)
// let _x = width / 2 - rw / 2;
// let _x2 = width / 2 + rw / 2;
// for (let y = width / 2 - rw2; y < width / 2 + rw2; y++) {
// for (let _ = 0; _ < 5; _++) {
// for (let i = 0; i < 10; i++) {
// let _i = 1;
// let _i2 = 1;
// if (random() > 0.5) _i = -1;
// if (random() > 0.5) _i2 = -1;
// point(_x + i * _i, y + i * _i2);
// point(_x2 + i * _i, y + i * _i2);
// }
// }
// }
// let _y = width / 2 - rw / 2;
// let _y2 = width / 2 + rw / 2;
// for (let x = width / 2 - rw2; x < width / 2 + rw2; x++) {
// for (let _ = 0; _ < 5; _++) {
// for (let i = 0; i < 10; i++) {
// let _i = 1;
// let _i2 = 1;
// if (random() > 0.5) _i = -1;
// if (random() > 0.5) _i2 = -1;
// point(x + i * _i, _y + i * _i2);
// point(x + i * _i, _y2 + i * _i2);
// }
// }
// }
}
function draw() {
// for (let i = particles.length - 1; i >= 0; i--) {
// let p = particles[i];
// p.l--;
// stroke(color(p.c))
// point(p.x, p.y);
// let n = 4;//map(p.l, p.ol, 0, 10, 1);
// for (let i = n; i >= 0; i--) {
// let _i = 1;
// let _i2 = 1;
// if (random() > 0.5) _i = -1;
// if (random() > 0.5) _i2 = -1;
// _i = _i2 = 1;
// point(p.x + i * _i, p.y + i * _i2);
// }
// // point(p.x-1, p.y);
// // point(p.x+1, p.y);
// // point(p.x, p.y+1);
// // point(p.x, p.y-1);
// let a = grid[int(p.y)][int(p.x)].a2;
// p.x += cos(a);
// p.y += sin(a);
// if (p.x < 0 || p.x > width - 1 || p.y < 0 || p.y > height - 1 || p.l <= 0)
// particles.splice(i, 1);
// }
// if (particles.length == 0) {
// console.log("done");
// noLoop();
// }
}
function drawBorderRect(x, y, r, w, p) {
let w2 = w / 2;
let w4 = w / 32;
push();
translate(x, y);
rotate(r);
rect(0, 0, w, w);
// for (let _ = 0; _ < 100*p; _++) {
// let _x = random(-w2+20, w2-20);
// let _y = -w2 + random(-w4, w4) + 10;
// point(_x, _y);
// }
// for (let _ = 0; _ < 100*p; _++) {
// let _x = random(-w2+20, w2-20);
// let _y = w2 + random(-w4, w4) - 10;
// point(_x, _y);
// }
// for (let _ = 0; _ < 100*p; _++) {
// let _x = -w2 + random(-w4,w4) + 10;
// let _y = random(-w2,w2);
// point(_x, _y);
// }
// for (let _ = 0; _ < 100*p; _++) {
// let _x = w2 + random(-w4,w4) - 10;
// let _y = random(-w2,w2);
// point(_x, _y);
// }
// line(-w2, -w2, w2, -w2);
// line(-w2, w2, w2, w2);
// line(-w2, -w2, -w2, w2);
// line(w2, -w2, w2, w2);
pop();
}