var seed = Math.random() * 2965;
let colors0 = "281914-1a1a1a-202020-242e30".split("-").map((a) => "#" + a);
let colors1 = "fef9fb-fafdff-ffffff-fcfbf4-f9f8f6".split("-").map((a) => "#" + a);
let colors2 = "8c75ff-c553d2-2dfd60-2788f5-23054f-f21252-8834f1-c4dd92-184fd3-f9fee2-2E294E-541388-F1E9DA-FFD400-D90368-e9baaa-ffa07a-164555-ffe1d0-acd9e7-4596c7-6d8370-e45240-21d3a4-3303f9-cd2220-173df6-244ca8-a00360-b31016".split("-").map((a) => "#" + a);
mySize = min(windowWidth, windowHeight);
createCanvas(mySize, mySize/35*27);
for (let i = 0; i < mySize * 20; i++) {
p[i] = createVector(random(width), random(height));
colorbg = random(colors0);
colorset[0] = random(colors0);
colorset[1] = random(colors2);
colorset[2] = random(colors2);
colorset[3] = random(colors0);
colorset[4] = random(colors0);
let version = random(50,250);
let b1 = noise(newp.x / version, newp.y / version) * TWO_PI;
let c = random(2000, 5000);
b2 = (TWO_PI / c) * int((b1 / TWO_PI) * c);
translate(newp.x, newp.y);
let gard_w = random(25, 50) / 4;
let gard_h = random(25, 50) /2;
let grad = drawingContext.createLinearGradient(0, 0, gard_w, gard_h);
grad.addColorStop(0, colorset[0]);
grad.addColorStop(1, str(random(colors0)) + "00");
drawingContext.strokeStyle = grad;
} else if (b1 > 1.75 && b1 < 2.25) {
let grad = drawingContext.createLinearGradient(0, 0, gard_w, gard_h);
grad.addColorStop(0, colorset[1]);
grad.addColorStop(1, str(random(colors0)) + "00");
drawingContext.strokeStyle = grad;
} else if (b1 > 2.25 && b1 < 2.75) {
let grad = drawingContext.createLinearGradient(0, 0, gard_w, gard_h);
grad.addColorStop(0, colorset[2]);
grad.addColorStop(1, str(random(colors0)) + "00");
drawingContext.strokeStyle = grad;
} else if (b1 > 3 && b1 < 3.75) {
let grad = drawingContext.createLinearGradient(0, 0, gard_w, gard_h);
grad.addColorStop(0, colorset[3]);
grad.addColorStop(1, str(random(colors0)) + "00");
drawingContext.strokeStyle = grad;
let grad = drawingContext.createLinearGradient(0, 0, gard_w, gard_h);
grad.addColorStop(0, colorset[4]);
grad.addColorStop(1, str(random(colors0)) + "00");
drawingContext.strokeStyle = grad;
strokeWeight(random(0.5, 1));
drawingContext.setLineDash([6, 2, 3, 2, 6, 2]);
let r_h = random(gard_h);
let r_w = random(gard_w);
for (let i = 0; i < (r_h - r_w) * 2; i += 4) {
drawingContext.shadowColor = random([colorset[1],colorset[2]]);
drawingContext.shadowOffsetX = 1;
drawingContext.shadowOffsetY = 1;
drawingContext.shadowBlur = 0;
ellipse(0, 0, gard_h - i,(gard_h - i)*0.75);
drawingContext.shadowColor = random(colors0);
drawingContext.shadowOffsetX = -1;
drawingContext.shadowOffsetY = -1;
drawingContext.shadowBlur = 0;
ellipse(0, 0, gard_w + i, (gard_w + i)*0.75);
if (key === "s" || key === "S") {
saveCanvas("0318_weave_3.2.1_2022", "png");