fractalkitty looking for math? fractalkitty.com

Genuary 2026

Genuary Day 2

#random#trig#animation#spiral#genuary

diameter



let c;
let n = 6;
let t = 0;
let g = 0.8;

function setup() {
  createCanvas(600, 600);
  background(255);
  fill(80, 160, 180, 100);
  noStroke();
  describe(
    "a spiral made of small dots forming recursive teal arcs. there is blur, rotation, stretching and vignetting as well in this sketch"
  );
}

function draw() {
  t += 0.001;
  let g = 1 - 0.8 * sin(t / 5);
  translate(width / 2, height / 2);
  background(255, 255, 255, 20 - 18 * cos(t * 2));
  scale(1 - 0.5 * cos(t) * sin(t / 2), 1 - 0.5 * cos(t) * sin(t / 2));
  rotate(2 * PI * cos(t) * cos(t) * cos(t));
  push();
  fill(80, 160, 180, 2);
  for (let i = 0; i < 1000; i++) {
    r = randomGaussian(width / 1.2, 55);
    theta = random(0, 2 * PI);

    circle(r * cos(theta), r * sin(theta), random(120));
  }
  pop();

  for (let i = 0; i < 1000; i++) {
    let x1 = (width / 3) * cos(i / 100);
    let y1 = (((randomGaussian(1, g) / 4) * width) / 3) * sin(i / 100);
    let diameter = randomGaussian(1, g);
    for (let j = 1; j < n; j += 0.5) {
      push();
      rotate((j * TWO_PI) / n);
      circle(x1 / j, y1 / j, diameter / j);
      pop();
    }
  }
}