Daily Creative Coding

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

ぐるぐる回る輪

/**
* looper
*
* @author aa_debdeb
* @date 2016/06/05
*/

int num = 100;

void setup(){
  size(500, 500);
  noStroke();
  background(0);
}

void draw(){
  fill(0, 30);
  rect(0, 0, width, height);  
  fill(255, 140, 0, 50);
  translate(width / 2, height / 2);
  rotate(frameCount * 0.2);
  float radious = map(abs(sin(frameCount * 0.01)), 0, 1, 10, 200);
  float diameter = map(radious, 10, 200, 1, 100); 
  for(int i = 0; i < num; i++){
    float maxRadian = map(abs(sin(frameCount * 0.01)), 0, 1, PI / 16.0, TWO_PI);
    float radian = map(i, 0, num, 0, maxRadian);
    ellipse(radious * cos(radian), radious * sin(radian), diameter, diameter);
  }
}