見出し画像

ProcessingでGenerative art #68

Code

int Count = 7;

void setup() {
  size(800, 800);
  pixelDensity(2);
  colorMode(HSB, 360, 100, 100, 100);
  noLoop();
}

void draw() {
  background(360);
  divideRect(30, 30, width-60, Count);
}

void divideRect(float posX, float posY, float side, int n) {
  float r = map(n, 0, Count, 0.9, 0.2);
  
  stroke(360);
  strokeWeight(3);
  fill(random(180, 350), 90, 85);
  
  side *= 0.5;
  
  if (random(1) > 0.5)rect(posX, posY, side, side);
  if (random(1) > 0.5)rect(posX + side, posY, side, side);
  if (random(1) > 0.5)rect(posX, posY + side, side, side);
  if (random(1) > 0.5)rect(posX + side, posY + side, side, side);
  
  n--;

  if (n > 0) {
    if (random(1) > r) {
      divideRect(posX, posY, side, n);
    }
    if (random(1) > r) {
      divideRect(posX + side, posY, side, n);
    }
    if (random(1) > r) {
      divideRect(posX, posY + side, side, n);
    }
    if (random(1) > r) {
      divideRect(posX + side, posY + side, side, n);
    }
  }
}

void mousePressed() {
  redraw();
}

void keyPressed(){
  if(key == 's')saveFrame("####.png");
}

Happy Coding!

応援してくださる方!いつでもサポート受け付けてます!