Vector_rects01

PVector pos;
PVector vel;

void setup() {
  size(500, 500);
  colorMode(HSB, 360, 100, 100);
  rectMode(CENTER);
  pos = new PVector(width/2, height/2);
  background(0, 0, 100);
}

void draw() {
  vel = new PVector(random(-5, 5), random(-5, 5));

  pos.add(vel);

  noStroke();
  fill(random(360), 80, 100);
  rect(pos.x, pos.y, 100, 100);
  fill(random(360), 80, 100);
  rect(pos.y, pos.x, 100, 100);
  fill(random(360), 80, 100);
  rect(-pos.x, pos.y, 100, 100);
  fill(random(360), 80, 100);
  rect(pos.y, -pos.x, 100, 100);
  fill(random(360), 80, 100);
  rect(pos.x, -pos.y, 100, 100);
  fill(random(360), 80, 100);
  rect(-pos.y, pos.x, 100, 100);

  checkEdge();
}

void checkEdge() {
  if (pos.x > width || pos.x < 0) {
    vel.x = vel.x * -1;
  }
  if (pos.y > height || pos.y < 0) {

    vel.y = vel.y *  -1;
  }
}

昨日は名古屋から神戸に戻ってスケッチできなかった.そして,今,出張で埼玉の実家にいる.疲れているけど,昨日,スケッチを書かなかったので今日は書く.前回書いたスケッチを改変.vel = new PVectorvoid drawのなかに入れてみたというのが,今日の実験.と,ここまで書いて,translate rotate で実験するだったことを思い出した.明日,覚えていたら,実験しよう.