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++; } }