見出し画像

creation.32weeks2019

Generative Artをやりたいということでがんばってます。
まずは、ProcessingとTidalCyclesに手をつけています。

なかなかうまく扱えませんが、定期的にアウトプットをすることが大切だろう、ということでアップします。

途中段階感がすごいですが、めげずにアップします。

かっこいいものができるイメージはたっぷりあったのですが、技術的な壁に阻まれて、全然実現しませんでした。。。

Processing

int NUM=500;
PVector[] location=new PVector[NUM];
PVector[] velocity=new PVector[NUM];
float d;
int left_point;
int right_point;
int top_point;
int bottom_point;
color col;

void setup() {
 size(1000, 800);
 rectMode(CENTER);
 colorMode(HSB, 360, 100, 100, 100);
 left_point=200;
 right_point=750;
 top_point=300;
 bottom_point=500;

 for (int i=1; i<NUM; i++) {
   location[i]=new PVector(random(left_point, right_point), random(top_point, bottom_point));
   velocity[i]=new PVector(random(-5, 5), random(-5, 5));
 }
}

void draw() {
 background(210, 100, 100, 100);

 for (int i=1; i<NUM; i++) {  
   point(location[i].x, location[i].y);
   location[i].add(velocity[i]);

   if (location[i].x<-200||location[i].x>width) {
     velocity[i].x=velocity[i].x*-1;
   }
   if (location[i].y<-200||location[i].y>height) {
     velocity[i].y=velocity[i].y*-1;
   }
   col=color(random(360), random(80), random(80), random(80));

   d=dist(location[i].x, location[i].y, left_point, top_point);
   if (d<width) {
     stroke(col);
     line(location[i].x, location[i].y, left_point, top_point);
   }

   d=dist(location[i].x, location[i].y, right_point, top_point);
   if (d<width) {
     stroke(col);
     line(location[i].x, location[i].y, right_point, top_point);
   }

   d=dist(location[i].x, location[i].y, left_point, bottom_point);
   if (d<width) {
     stroke(col);
     line(location[i].x, location[i].y, left_point, bottom_point);
   }

   d=dist(location[i].x, location[i].y, right_point, bottom_point);
   if (d<width) {
     stroke(col);
     line(location[i].x, location[i].y, right_point, bottom_point);
   }
 }

 fill(col);
 noStroke();
 rect(left_point, top_point, 50, 50);
 rect(right_point, top_point, 50, 50);
 rect(left_point, bottom_point, 50, 50);
 rect(right_point, bottom_point, 50, 50);
}

TidalCycles

d1 $ sound "supersquare supersquare supersquare supersquare"
# sustain "0.05" # n "17 14 20 23"
# gain 0.8

d2 $ sound "bd bd bd [bd*2]"
# gain 1.2

d3 $ sound "[hc*2]*4"
# gain 0.8

ここまでたどり着くのもほうぼうの体でした。。

次は良いのをアップします!

この記事が気に入ったらサポートをしてみませんか?