array_PVector_elipse02
int num = 50; PVector[] pos; PVector[] vel; color[] c; void setup() { size(500, 500); colorMode(HSB, 360, 100, 100, 100); smooth(); noStroke(); pos = new PVector[num]; vel = new PVector[num]; c = new color[num]; for (int i = 0; i < num; i ++) { pos[i] = new PVector(i*10, 0); vel[i] = new PVector(0, i*0.01); c[i] = color(random(360), 80, 80, 10); } } void draw() { fill(0, 0, 100, 1); rect(0, 0, width, height); for (int i = 0; i < num; i ++) { pos[i].add(vel[i]); fill(c[i]); ellipse(pos[i].x, pos[i].y, 20, 20); ellipse(pos[i].y, pos[i].x, 20, 20); ellipse(width-pos[i].x, pos[i].y, 20, 20); ellipse(height-pos[i].y, pos[i].x, 20, 20); if (pos[i].y < 0 || pos[i].y > height) { vel[i].y = - vel[i].y; } } }
昨日書いたスケッチの改良.円の色を変えたかったのでcolor
を使って,配列で色を変えてみた.最初,c[i] = new color(random(360), 80, 80, 10)
と書いてエラー.PVector
とは違うことに気づいて,c[i] = color(random(360), 80, 80, 10)
と書いたらOK.些細な事だけど,ここにすぐに気付けたのでわりとすぐ書けた.配列も少し慣れてきたかな.加速度の値を小さくして,背景に塗りつぶしの透明ど下げていったら,わりと気に入ったのができた.長く見ているとおもしろいです.