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 PVector
をvoid draw
のなかに入れてみたというのが,今日の実験.と,ここまで書いて,translate
rotate
で実験するだったことを思い出した.明日,覚えていたら,実験しよう.