Gaming Life

一日24時間、ゲームは10時間

<processing>段々線が太くなる螺旋円

 かなり評判のいいジェネラティブアートの本を最近読んでるんですが(リンク下、アフィは貼ってないよ)、めちゃくちゃ面白くて一章ごとになんか作りたくなる。で、Part2を参考にとりあえず一つ作ってみた。

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

作品

f:id:ai_gaminglife:20170621224835j:plain

ソースコード

float startx,starty;
float ribbonwidth;
float turn = 8;
float radius;
float x,y;

void setup(){
  size(900,600,P2D);
  smooth();
  frameRate(2);
  background(0);

  startx = 450;
  starty = 300;

  float lastx = -999;
  float lasty = -999;

  radius = 1.5;
  ribbonwidth = 0.25;
  color col = color(random(255),random(255),random(255));
  fill(col);
  stroke(col);
  for(float ang = -180; ang <= turn*360; ang += 5){
    radius += 1;
    float rad = radians(ang);
    x = startx + (radius * cos(rad)) ;
    y = starty + (radius * sin(rad)) ;
    ribbonwidth += 0.04;
    strokeWeight(ribbonwidth);
    if(lastx > -999){
      line (x,y,lastx,lasty);
    }
    lastx = x;
    lasty = y;
  }
  save("hogehoge.jpg");
}

void draw(){
}

解説

 Chapter4「円を書く間違った方法」に載っているものを少し改変。線の色は毎回ランダム。

反省

  • RGB値を完全にランダムに決めているのでブログアップ用の見栄えのいい色が中々出なかった。鮮やかな色が出やすくなるようにしたい。
  • 本当は新体操のリボンみたいなのを作りたかったけどまだ無理。そのうちリベンジってことで