var gB, fullRes, windowRes;
windowRes = min(windowWidth, windowHeight);
createCanvas(windowRes, windowRes);
gB = createGraphics(fullRes = 1024, fullRes);
function randPow(multiplier, min, max, power) {
for (var i = 0; i < power; i += 1) {
multiplier *= random(min, max);
for (var i = -0.5; i <= 0.5; i += 1 / squares) {
for (var j = -0.5; j <= 0.5; j += 1 / squares) {
var xPos = map(i, -0.5, 0.5, fullRes * 0.025, fullRes * 0.975);
var yPos = map(j, -0.5, 0.5, fullRes * 0.025, fullRes * 0.975);
var xPos = map(i, -0.5, 0.5, fullRes * -0.025, fullRes * 1.025);
var yPos = map(j, -0.5, 0.5, fullRes * -0.025, fullRes * 1.025);
gB.translate(xPos, yPos);
let progress = (frameCount/requiredFrames) % 1 * TAU;
weighting *= cos(i * j + progress);
weighting *= sin(j - abs(i * 256) - progress);
weighting = map(weighting, -1, 1, 0, fullRes / squares / 0.5);
gB.strokeWeight(weighting);
saveGif('export', requiredFrames, {
function displayBuffer(buffer) {
image(buffer, windowRes / 2, windowRes / 2, windowRes, windowRes);
function windowResized() {
windowRes = min(windowWidth, windowHeight);
resizeCanvas(windowRes, windowRes);