fractalkitty looking for math? fractalkitty.com

Genuary 2023

genuary6 - lineart

#random#trig#interactive#genuary

endxendynmaxseg1

let endx = 0;
let endy = 0;
let nmax = 7;
function setup() {
  cnv = createCanvas(500, 500);
  angleMode(DEGREES);
  noLoop();
  noFill();
}
function draw() {
  translate(width / 2, height / 2);
  rotate(floor(random(0, 4)) * 90);
  background(255);
  m = int(random(2, 20));

  for (let i = 0; i < m; i++) {
    v = floor(random(0, nmax + 0.99));
    seg1(v, random(-50, 50));
  }
}

function seg1(n, a) {
  if (n === 0) {
    beginShape();
    for (let i = 0; i < 120; i++) {
      x = (a / 2) * sin(i) + endx;
      y = a * 2 * sin(i) * cos(i) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 1) {
    beginShape();
    for (let i = 0; i < 100; i++) {
      x = -a * cos(i / 2) * sin(i / 5) + endx;
      y = (i / 2) * sin((i * i) / 100) * cos(i) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 2) {
    beginShape();
    for (let i = 0; i < 100; i++) {
      x = -a * 2 * cos(i / 2) * sin(i * 2) + endx;
      y = a * 2 * sin(i) * cos(i) * cos(i * 2) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 3) {
    beginShape();
    for (let i = 0; i < 100; i++) {
      x = -a * sin(i / 5) + endx;
      y = -a * cos(i) * sin(i / 4) * cos(i / 9) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 4) {
    beginShape();
    for (let i = 0; i < 120; i++) {
      x = (a / 2) * sin(i) + endx;
      y = -a * sin(i) * cos(i) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 5) {
    beginShape();
    for (let i = 0; i < 120; i++) {
      x = (a / 2) * sin(i) + endx;
      y = (-i / 20) * sin(i) * cos(-i) + endy;
      vertex(x, y);
    }
    endShape();
    endx = x;
    endy = y;
  } else if (n === 6) {
    beginShape();
    for (let i = 0; i < 120; i++) {
      x = a * sin(i) + endx;
      y = a * cos(i) - a * cos(0) + endy;
      vertex(x, y);
    }

    endShape();
    endx = x;
    endy = y;
  } else if (n === 7) {
    beginShape();
    for (let i = 0; i < 560; i++) {
      x = a * sin(i) + endx;
      y = (a - i / 100) * cos(i) - a * cos(0) + endy;
      vertex(x, y);
    }

    endShape();
    endx = x;
    endy = y;
  }
}

function mousePressed() {
  endx = 0;
  endy = 0;
  setup();
  draw();
}

function keyPressed() {
  if (keyCode === 32) {
    save(cnv, "line_art.png");
  }
}