Daily Creative Coding

元「30 min. Processing」。毎日、Creative Codingします。

線でノイズのある円を描く

/**
* Unstable Colorful Circle
*
* @author aa_debdeb
* @date 2015/09/30
*/

float RADIOUS = 175;
float RADIOUS_VARIANT = 75;
float RADIAN_VARIANT = PI / 32;

float RADIOUS_NOISE_STEP = 0.01;
float RADIAN_NOISE_STEP = 0.01;
float COLOR_NOISE_STEP = 0.05;

float CENTER_X;
float CENTER_Y;

float radious;
float radiousNoise;
float radian;
float radianNoise;
float colorR;
float colorRNoise;
float colorG;
float colorGNoise;
float colorB;
float colorBNoise;

void setup(){
  size(500, 500);
  smooth();
  frameRate(24);
  background(0);
  
  CENTER_X = width/2;
  CENTER_Y = height/2;
  
  radiousNoise = random(10);
  radian = random(2 * PI);
  radianNoise = random(10);
  
  colorRNoise = random(10);
  colorGNoise = random(10);
  colorBNoise = random(10);
}

void draw(){
  
  radian += noise(radianNoise) * RADIAN_VARIANT * 2 - RADIAN_VARIANT;  
  if(radian >= 2 * PI){
    radian -= 2 * PI;
  }
  radious = RADIOUS + noise(radiousNoise) * RADIOUS_VARIANT * 2 - RADIOUS_VARIANT;
  colorR = 255 * noise(colorRNoise);
  colorG = 255 * noise(colorGNoise);
  colorB = 255 * noise(colorBNoise);
  
  stroke(colorR, colorG, colorB);
  line(CENTER_X, CENTER_Y, CENTER_X + radious * cos(radian), CENTER_Y + radious * sin(radian));
  line(CENTER_X, CENTER_Y, CENTER_X + radious * cos(radian + PI), CENTER_Y + radious * sin(radian + PI));  

  radiousNoise += RADIOUS_NOISE_STEP;
  radianNoise += RADIAN_NOISE_STEP;
  colorRNoise += COLOR_NOISE_STEP;
  colorGNoise += COLOR_NOISE_STEP;
  colorBNoise += COLOR_NOISE_STEP;

}