hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

誕生日にジェネラティブ・アートみたいな本もらった.本見ながら写経してProcessing学んでる.こういうの独学とか見て真似するみたいな感じでやってたから,体系的に教えてもらえるのおもしろい.
noise関数っていうのがすごくて,パーリンノイズっていうやつで,いい感じのノイズ出せる.二次元のノイズとかも出せるみたいだった.すごい.ランダムではなくて,値を与えると値が返ってきて,0.01ずつ引数を増やすとなだらかなパターンみたいなのが出る.引数2つ渡したら二次元的なパターンも出せる.すごすぎる.

ジェネラティブ・アート -Processingによる実践ガイド

ジェネラティブ・アート -Processingによる実践ガイド


線を書く様子.

size(1000, 1000);
background(255);
strokeWeight(0.5);
smooth();

float radius = 10;
int centx = width/2;
int centy = height/2;
float radiusNoise = random(10);

stroke(0, 30);
noFill();

stroke(20, 50, 70);
float x, y;
float lastx = -999;
float lasty = -999;
for (float ang = 0; ang <= 80000; ang += 0.5) {
  radiusNoise += 0.05;
  radius += noise(ang / 100000) * 0.006;
  float thisRadius = radius + (noise(radiusNoise) * 50) - 100;
  float rad = radians(ang);
  x = centx + cos(rad) * thisRadius;
  y = centy + thisRadius * sin(rad);

  if (lastx > -999) {
    line(x, y, lastx, lasty);
  }
  lastx = x;
  lasty = y;
}

f:id:hitode909:20171012155011p:plain