var seed = Math.random() * 941;
let colors1 = "fef9fb-fafdff-fcfbf4-f9f8f6".split("-").map((a) => "#" + a);
let colors_tone1 = "0D1E40-224573-5679A6-F2A25C-D96B43".split("-").map((a) => "#" + a);
let colors_tone2 = "7E56A6-F28B50-A63B14-591202-260101".split("-").map((a) => "#" + a);
let colors_tone3 = "4ED98A-3B8C57-F2AD85-404040-0D0D0D".split("-").map((a) => "#" + a);
let colors_tone4 = "725373-7866F2-8979F2-025373-BF7D56".split("-").map((a) => "#" + a);
let colors_tone5 = "20BF1B-218C11-17590C-11400A-0D0D0D".split("-").map((a) => "#" + a);
let colors_tone6 = "F20519-A60522-031059-071773-044BD9".split("-").map((a) => "#" + a);
let colors_tone7 = "F2E96D-F2B84B-BF8034-402B12-0D0D0D".split("-").map((a) => "#" + a);
let colors_tone8 = "9E9BF2-F2E088-F29544-F24405-F27E63".split("-").map((a) => "#" + a);
let colors_tone9 = "323140-7B7DA6-BABCD9-BF8339-BFA18F".split("-").map((a) => "#" + a);
let colors_root = "362300-805300-402900-734E39".split("-").map((a) => "#" + a);
let colorbg = "202020-1a1a1a-282828".split("-").map((a) => "#" + a);
let HighSpeedParticle_Graphics;
mySize = min(windowWidth, windowHeight);
createCanvas(mySize, mySize);
originalGraphics = createGraphics(width, height);
lineGraphics = createGraphics(width, height);
HighSpeedParticle_Graphics = createGraphics(width, height);
for (let j = 0; j < 1; j++) {
for (let i = 0; i < 12; i++) {
p[i] = createVector(width / 2, height / 2);
for (let j = 0; j < 1; j++) {
for (let i = 0; i < 8; i++) {
q[i] = createVector(width / 2, height / 2);
colors2 = random([colors_tone1, colors_tone2, colors_tone3, colors_tone4, colors_tone5, colors_tone6, colors_tone7, colors_tone8, colors_tone9]);
colorset[0] = random(colors2);
colorset[1] = random(colors2);
colorset[2] = random(colors1);
colorset[3] = random(colors2);
colorset[4] = random(colors2);
colorset[5] = random(colors2);
filter1 = new makeFilter();
let ver = int(random(6, 8));
par_num = random(200, 300);
for (let i = 0; i <= par_num; i++) {
lineGraphics.fill(str(random(colorset)) + "0d");
if (frameCount % 2 == 0) {
lineGraphics.stroke(str(random(colorset)) + "0d");
lineGraphics.strokeWeight(random(0.25, 0.1));
lineGraphics.drawingContext.shadowColor = str(random(colorbg)) + "1a";
lineGraphics.drawingContext.shadowOffsetX = 1;
lineGraphics.drawingContext.shadowOffsetY = 1;
lineGraphics.drawingContext.shadowBlur = 0;
const xAngle = map(0, 0, width, -random(0.5, 1) * PI, random(0.5, 1) * PI, true);
const yAngle = map(height, 0, height, -random(0.5, 1) * PI, random(0.5, 1) * PI, true);
const angle = xAngle * width + yAngle * height;
const myX = width / 2 + mySize / 2 * sin(random(0.5, 1.5) * TAU * t + angle);
const myY = height / 2 + mySize / 2 * cos(random(0.5, 1.5) * TAU * t + angle);
lineGraphics.translate(myX + sin(random(0.5, 1.5) * TAU * t + angle), myY + cos(random(0.5, 1.5) * TAU * t + angle));
lineGraphics.rotate(sin(t) * PI / 10);
lineGraphics.ellipse(0, 0, random(0.75, 1.25) * (1 - sqrt(random(random(1)))) + plus1 / 5);
image(lineGraphics, 0, 0);
t += random(0.005, 0.01);
b2 = (TWO_PI / c) * int((b1 / TWO_PI) * c) + c;
originalGraphics.translate(newp.x, newp.y);
let gard_w = random(mySize / 0.35, mySize / 0.75) / ver;
let gard_h = random(mySize / 0.35, mySize / 0.75) / ver;
for (let k = 0; k < 1; k++) {
let r_max = random(0.75, 1.25) * random(gard_w, gard_h) / random(64, 32);
originalGraphics.translate(random(1.75, 0.45) * random(-gard_w, gard_w) * (1 - sqrt(random(random(random())))),
random(1.75, 0.45) * random(-gard_h, gard_h) * (1 - sqrt(random(random(random())))));
originalGraphics.blendMode(BLEND);
originalGraphics.stroke(str(random(colorset)) + "1a");
originalGraphics.strokeWeight(random(0.5, 0.95) * (1 - sqrt(random(random(random(random()))))));
originalGraphics.noFill();
originalGraphics.drawingContext.setLineDash([2, 4, 2, 3]);
originalGraphics.circle(0, 0, r_max * 2);
originalGraphics.rotate(plus1 / 1);
for (let k = 0; k < 1000; k++) {
originalGraphics.noFill();
originalGraphics.stroke(str(random(colorset)) + "0d");
let r = (1 / sqrt(random(random(random())))) * r_max + plus1 * random(1, 5);
originalGraphics.strokeWeight(0.15 * (1 - sqrt(random(random(random())))));
let angle = random(TWO_PI);
let point_x = cos(angle) * r;
let point_y = sin(angle) * r;
originalGraphics.point(point_x, point_y);
for (let k = 0; k < 4; k++) {
originalGraphics.translate(random(1.75, 0.25) * random(-gard_w, gard_w) * (1 - sqrt(random(random(random())))),
random(1.75, 0.25) * random(-gard_h, gard_h) * (1 - sqrt(random(random(random())))));
let r_max = random(0.5, 1.25) * random(gard_w, gard_h) / random(64, 8);
originalGraphics.drawingContext.shadowColor = str(random(colors1)) + "40";
originalGraphics.drawingContext.shadowOffsetX = 1;
originalGraphics.drawingContext.shadowOffsetY = 1;
originalGraphics.drawingContext.shadowBlur = 0;
originalGraphics.stroke(str(random(colorset)) + "33");
originalGraphics.strokeWeight(random(0.5, 0.95) * (1 - sqrt(random(random(random(random()))))));
originalGraphics.noFill();
let r_plus = plus1 * random(500, 1000);
if (r_plus > 0 && r_plus < r_max * 2) {
originalGraphics.circle(0, 0, r_plus);
for (let k = 0; k < 1; k++) {
originalGraphics.translate(random(1.75, 0.25) * random(-gard_w, gard_w) * (1 - sqrt(random(random(random())))),
random(1.75, 0.25) * random(-gard_h, gard_h) * (1 - sqrt(random(random(random())))));
originalGraphics.blendMode(BLEND);
originalGraphics.translate(random(1.75, 0.25) * random(-gard_w, gard_w) * (1 - sqrt(random(random(random())))),
random(1.75, 0.25) * random(-gard_h, gard_h) * (1 - sqrt(random(random(random())))));
originalGraphics.drawingContext.shadowColor = str(random(colors1)) + "40";
originalGraphics.drawingContext.shadowOffsetX = 1;
originalGraphics.drawingContext.shadowOffsetY = 1;
originalGraphics.drawingContext.shadowBlur = 0;
let r_max = random(0.5, 1.25) * random(gard_w, gard_h) / random(64, 8);
for (let k = 0; k < int(500, 1000); k++) {
originalGraphics.noFill();
originalGraphics.stroke(str(random(colorset)) + "40");
let r = (1 / sqrt(random())) * r_max + plus1 * random(100, 50) * random(-1, 1);
originalGraphics.strokeWeight(0.15 * (1 - sqrt(random(random(random())))));
let angle = random(TWO_PI);
let point_x = cos(angle) * r;
let point_y = sin(angle) * r;
originalGraphics.point(point_x, point_y);
let version = random(1, 10) * ver;
let b1 = noise(newq.x / version, newq.y / version) * TWO_PI * 1;
let c = random(1000, 500);
b2 = (TWO_PI / c) * int((b1 / TWO_PI) * c) + c;
newq.add(random(0.01, 0.005) * sin(b2), random(0.005, 0.01) * cos(b2));
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(newq.x, newq.y);
HighSpeedParticle_Graphics.rotate(random(TAU));
let gard_w = random(mySize / 0.35, mySize / 0.75) / ver;
let gard_h = random(mySize / 0.35, mySize / 0.75) / ver;
HighSpeedParticle_Graphics.stroke(random(colorset));
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))));
HighSpeedParticle_Graphics.noFill();
HighSpeedParticle_Graphics.drawingContext.shadowColor = str(random(colors1)) + "80";
HighSpeedParticle_Graphics.drawingContext.shadowOffsetX = -1;
HighSpeedParticle_Graphics.drawingContext.shadowOffsetY = -1;
HighSpeedParticle_Graphics.drawingContext.shadowBlur = 0;
HighSpeedParticle_Graphics.drawingContext.shadowColor = str(random(colorbg)) + "40";
HighSpeedParticle_Graphics.drawingContext.shadowOffsetX = 1;
HighSpeedParticle_Graphics.drawingContext.shadowOffsetY = 1;
HighSpeedParticle_Graphics.drawingContext.shadowBlur = 0;
HighSpeedParticle_Graphics.drawingContext.setLineDash([4, 8, 2, 5]);
for (let k = 0; k < 1; k++) {
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(random(1.25, 0.5) * random(-gard_w, gard_w), random(1.25, 0.5) * random(-gard_h, gard_h));
let r = (1 - sqrt(random(random(random())))) * (random(1, 2) * random(width, height) / random(128, 16));
HighSpeedParticle_Graphics.stroke(str(random(colorset)) + "05");
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))) + theta / 100);
HighSpeedParticle_Graphics.noFill();
let rad2 = sqrt(theta + STEP);
let line_x1 = r * rad1 * cos(theta);
let line_y1 = r * rad1 * sin(theta);
let line_x2 = r * rad2 * cos(theta + STEP);
let line_y2 = r * rad2 * sin(theta + STEP);
HighSpeedParticle_Graphics.line(line_x1, line_y1, line_x2, line_y2);
HighSpeedParticle_Graphics.pop();
HighSpeedParticle_Graphics.drawingContext.setLineDash([2, 4, 2, 5]);
for (let k = 0; k < 1; k++) {
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(random(1.25, 0.5) * random(-gard_w, gard_w), random(1.25, 0.5) * random(-gard_h, gard_h));
let r = (1 - sqrt(random(random(random())))) * (random(1, 2) * random(width, height) / random(128, 64));
HighSpeedParticle_Graphics.stroke(str(random(colorset)) + "80");
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))) + theta / 100);
HighSpeedParticle_Graphics.noFill();
let rad2 = sqrt(theta + STEP);
let line_x1 = r / rad1 * cos(theta);
let line_y1 = r / rad1 * sin(theta);
let line_x2 = r / rad2 * cos(theta + STEP);
let line_y2 = r / rad2 * sin(theta + STEP);
HighSpeedParticle_Graphics.line(line_x1, line_y1, line_x2, line_y2);
HighSpeedParticle_Graphics.pop();
HighSpeedParticle_Graphics.drawingContext.setLineDash([2, 4, 3, 5]);
for (let k = 0; k < 1; k++) {
HighSpeedParticle_Graphics.drawingContext.shadowColor = str(random(colors1)) + "1a";
HighSpeedParticle_Graphics.drawingContext.shadowOffsetX = random(-1, 1);
HighSpeedParticle_Graphics.drawingContext.shadowOffsetY = random(-1, 1);
HighSpeedParticle_Graphics.drawingContext.shadowBlur = 0;
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(random(1.75, 1) * random(-gard_w, gard_w), random(1.75, 1) * random(-gard_h, gard_h));
HighSpeedParticle_Graphics.rotate(random(TAU));
let r = (1 - sqrt(random(random(random())))) * (random(1, 2) * random(width, height) / random(128, 16));
HighSpeedParticle_Graphics.stroke(str(random(colorset)) + "0d");
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))) + theta / 100);
HighSpeedParticle_Graphics.noFill();
let rad1 = sqrt(1 - theta);
let rad2 = sqrt(1 - (theta + STEP));
let line_x1 = r / rad1 * cos(theta);
let line_y1 = r / rad1 * sin(theta);
let line_x2 = r / rad2 * cos(theta + STEP);
let line_y2 = r / rad2 * sin(theta + STEP);
HighSpeedParticle_Graphics.line(line_x1, line_y1, line_x2, line_y2);
HighSpeedParticle_Graphics.pop();
for (let k = 0; k < 1; k++) {
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(random(1.75, 1) * random(-gard_w, gard_w), random(1.75, 1) * random(-gard_h, gard_h));
let r = (1 - sqrt(random(random(random())))) * (random(1, 2) * random(width, height) / random(128, 32));
HighSpeedParticle_Graphics.stroke(str(random(colorset)) + "40");
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))) + theta / 100);
HighSpeedParticle_Graphics.noFill();
let angle = random(TWO_PI);
let rad1 = pow(1, theta);
let rad2 = pow(1, theta + STEP);
let line_x1 = rad1 * cos(theta) * r;
let line_y1 = rad1 * sin(theta) * r;
let line_x2 = rad2 * cos(theta + STEP) * r;
let line_y2 = rad2 * sin(theta + STEP) * r;
HighSpeedParticle_Graphics.line(line_x1, line_y1, line_x2, line_y2);
HighSpeedParticle_Graphics.pop();
for (let k = 0; k < 1; k++) {
HighSpeedParticle_Graphics.drawingContext.shadowColor = str(random(colors1)) + "1a";
HighSpeedParticle_Graphics.drawingContext.shadowOffsetX = random(-1, 1);
HighSpeedParticle_Graphics.drawingContext.shadowOffsetY = random(-1, 1);
HighSpeedParticle_Graphics.drawingContext.shadowBlur = 0;
HighSpeedParticle_Graphics.push();
HighSpeedParticle_Graphics.translate(random(1.75, 1) * random(-gard_w, gard_w), random(1.75, 1) * random(-gard_h, gard_h));
HighSpeedParticle_Graphics.rotate(random(TAU));
let r = (1 - sqrt(random(random(random())))) * (random(1, 2) * random(width, height) / random(2, 8));
HighSpeedParticle_Graphics.stroke(str(random(colorset)) + "1a");
HighSpeedParticle_Graphics.strokeWeight(1 - sqrt(random(random(random()))) + theta / 100);
HighSpeedParticle_Graphics.noFill();
let line_x1 = r / rad1 * cos(theta);
let line_y1 = r / rad1 * sin(theta);
let line_x2 = r / rad2 * cos(theta + STEP);
let line_y2 = r / rad2 * sin(theta + STEP);
HighSpeedParticle_Graphics.line(line_x1, line_y1, line_x2, line_y2);
HighSpeedParticle_Graphics.pop();
HighSpeedParticle_Graphics.pop();
plusO -= random(2, 3) * random(3, 2) * random(0.001, 0.00075) / 2;
plus1 += random(2, 1) * random(3, 2) * random(0.001, 0.0005) / 10;
theta += STEP * random(1, 1.5) * (1 - sqrt(random(random(random()))));
image(HighSpeedParticle_Graphics, 0, 0);
image(originalGraphics, 0, 0);
image(overAllTexture, 0, 0);
image(overAllTexture, 0, 0);
strokeWeight(random(0.10, 0.2) / 1);
stroke(str(random(colorbg)) + "33");
drawingContext.setLineDash([1, 5, 1, 3]);
drawingContext.setLineDash([1, 1, 1, 1]);
rect(0, 0, width, height);