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.些細な事だけど,ここにすぐに気付けたのでわりとすぐ書けた.配列も少し慣れてきたかな.加速度の値を小さくして,背景に塗りつぶしの透明ど下げていったら,わりと気に入ったのができた.長く見ているとおもしろいです.