見出し画像

Generative Art #138

Code

float sep = 2;
int[] colors = {#ffbf00 ,#e83f6f ,#2274a5 ,#32936f ,#ffffff};
//int[] colors = {#000000, #ffffff};

void setup() {
 size(900, 900);
 pixelDensity(2);
 noLoop();
 strokeCap(SQUARE);
}

void draw() {
 background(#ffffff);
 generate();
}

void generate(){
 strokeWeight(0.5);
 for (int i = 0; i < 252; i ++) {
   stroke(getCol(), random(255));
   lineRect(random(width), random(height) , random(50, 600),
   random(250, 400), 90 * int(random(4)));
 }
 
 for (int i = 0; i < 25; i ++) {
   stroke(getCol(), random(255));
   lineCircle(random(width), random(height) ,
   random(50, 400), 90 * int(random(4)));
 }
}

void lineRect(float x, float y, float w, float h, float angle) {
 float a = radians(angle);
 float hw = w/2;
 float hh = h/2;
 
 push();
 translate(x, y);
 rotate(a);
 for(float i = -hh; i <= hh; i += sep){
 line(-hw, i, hw, i);
 }
 pop();
}

void lineCircle(float _x, float _y, float d, float angle){
 float r = d/2;
 float a = radians(angle);
 
 push();
 translate(_x, _y);
 rotate(a);
 for(float x = -r + sep*0.5; x <= r -sep*0.5; x += sep){
   float y = sqrt(sq(r) - sq(x));
   line(x, y, x, -y);
 }
 pop();
}

int getCol() {
 return colors[(int)random(colors.length)];
}

void mousePressed() {
 redraw();
}

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

Happy coding!!

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