読者です 読者をやめる 読者になる 読者になる

Hello World

日頃のメモ

processingで渦巻き

カラフルな渦巻きを作りたくでどうにかできたけど、変数がこんなに多く必要なのかと疑問
他にもっといいやり方があるのかな

だめだったやつ
millis();を使って処理をした

float r1,r2,r3 = 0;
float a1,a2,a3 = 0;
float x1,x2,x3;
float y1,y2,y3;

void setup(){
  size(300,300);
  noStroke(); 
  background(255, 255, 255);
  frameRate(60);
  colorMode(RGB, 255);
}

void draw(){
  translate(width/2, height/2);  //座標原点を画面の中央へ移動
  
  int m = millis();
  m = m % (9*900);
  
  x1 = r1 * cos(radians(a1));
  y1 = r1 * sin(radians(a1)); 
  
  x2 = r2 * cos(radians(a2));
  y2 = r2 * sin(radians(a2)); 
  
  x3 = r3 * cos(radians(a3));
  y3 = r3 * sin(radians(a3)); 
    
  if (m > 0) {
  fill(252,215,220); //ピンク
  a1 += 1; 
  r1 += 0.1;
  ellipse(x1, y1, 10, 10); 
  }
  
  if (m > 3*900) { 
  fill(239,226,189); //ベージュ
  a2 += 1; 
  r2 += 0.1; 
  ellipse(x2, y2, 10, 10); 
  }
  
  if (m > 6*900) {
  fill(138,189,178); //緑
  a3 += 1; 
  r3 += 0.1; 
  ellipse(x3, y3, 10, 10); 
  }
    if(mousePressed) {    
    println(m);         
  }
}


どうにかイメージ通りには動いたやつ
timerを使い時間を区切ってやった

float r1,r2,r3 = 0;
float a1,a2,a3 = 0;
float x1,x2,x3;
float y1,y2,y3;

int timer;

void setup(){
  size(300,300);
  noStroke(); 
  background(255, 255, 255);
  frameRate(30);
  colorMode(RGB, 255);
}

void draw(){
  translate(width/2, height/2);  
  
  x1 = r1 * cos(radians(a1));
  y1 = r1 * sin(radians(a1)); 
  
  x2 = r2 * cos(radians(a2));
  y2 = r2 * sin(radians(a2)); 
  
  x3 = r3 * cos(radians(a3));
  y3 = r3 * sin(radians(a3)); 
    
  if (timer > 0) {
  fill(252,215,220); //ピンク
  a1 += 1; 
  r1 += 0.1;
  ellipse(x1, y1, 10, 10); 
  }
  
  if (timer > 60) { 
  fill(239,226,189); //ベージュ
  a2 += 1; 
  r2 += 0.1; 
  ellipse(x2, y2, 10, 10); 
  }
  
  if (timer > 180) {
  fill(138,189,178); //緑
  a3 += 1; 
  r3 += 0.1; 
  ellipse(x3, y3, 10, 10); 
  }  
  timer++;
}
}

f:id:eeko-amaryllis:20170410182817p:plain:w300