p5((s) => {
let speed = 0.01;
s.setup = function () {
s.createCanvas(width, height);
};
s.draw = function () {
s.translate(width / 2, height / 2);
s.background(0);
s.stroke(255);
s.strokeCap(s.SQUARE);
s.strokeWeight(1);
s.noFill();
s.stroke(0, 255, 255);
for (let index = 0; index < 300; ++index) {
s.translate(0, 1);
s.shearX((s.PI * 2) / 300);
s.beginShape();
s.vertex(
s.cos(s.frameCount * speed) * 100,
-100 - s.sin(s.frameCount * speed) * 100
);
s.vertex(
100 + s.sin(s.frameCount * speed) * 100,
s.cos(s.frameCount * speed) * 100
);
s.vertex(
-100 - s.sin(s.frameCount * speed) * 100,
-s.cos(s.frameCount * speed) * 100
);
s.vertex(
-s.cos(s.frameCount * speed) * 100,
100 + s.sin(s.frameCount * speed) * 100
);
s.endShape(s.CLOSE);
}
s.resetMatrix();
s.stroke(255, 255, 0);
for (let index = 0; index < 300; ++index) {
s.translate(0, 1);
s.shearX((s.PI * 2) / 300);
s.beginShape();
s.vertex(
100 + s.sin(s.frameCount * speed) * 100,
s.cos(s.frameCount * speed) * 100
);
s.vertex(
s.cos(s.frameCount * speed) * 100,
-100 - s.sin(s.frameCount * speed) * 100
);
s.vertex(
-100 - s.sin(s.frameCount * speed) * 100,
-s.cos(s.frameCount * speed) * 100
);
s.vertex(
-s.cos(s.frameCount * speed) * 100,
100 + s.sin(s.frameCount * speed) * 100
);
s.endShape(s.CLOSE);
}
};
})