Daily Creative Coding

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

リングの上で回転する線がつくるパターン #4

f:id:aa_debdeb:20161109215058j:plain

patterns by lines on ring #4 - OpenProcessing

/**
* patterns by lines on ring #4
* 
* @author aa_debdeb
* @date 2016/11/14
*/

float radius = 150;
float bar = 150;
int step = 0;

void setup(){
  size(640, 640);
  stroke(20, 150);
}

void draw(){
  background(235);
  translate(width / 2, height / 2);
  for(float angle = 0; angle < 360; angle += 0.5){
    float radian = radians(angle);
    pushMatrix();
    translate(radius * cos(radian), radius * sin(radian));
    rotate(radian + radian * step * 0.5 + frameCount * 0.03);
    float b = map(sin(radian + radian * step + frameCount * 0.03), -1, 1, 0, bar);
    line(-b / 2, 0, b / 2, 0);
    popMatrix();
  }
}

void mousePressed(){
  step++;
  if(step > 20){
    step = 0;
  }
}