Circle by Worms
processing.jsのnoise関数にはバグがあるようなので,Javaモードで実行すると次の画像のような違う挙動を示す
.
/** * Circle by Worms * * @author aa_debdeb * @date 2015/10/19 */ ArrayList<Mover> movers; void setup(){ size(500, 500); smooth(); frameRate(24); background(47, 79, 79); movers = new ArrayList<Mover>(); for(int i = 0; i < 100; i++){ movers.add(new Mover()); } } void draw(){ stroke(0, 139, 139); strokeWeight(2); fill(102, 205, 170); translate(width/2, height/2); for(Mover mover: movers){ float radious = 100 + 100 * map(noise(mover.startNoise + frameCount * 0.03), 0.0, 1.0, -1.0, 1.0); float radian = mover.startRadian + frameCount * 0.04; ellipse(radious * cos(radian), radious * sin(radian), 10, 10); } } class Mover{ float startNoise; float startRadian; Mover(){ startNoise = random(100); startRadian = random(TWO_PI); } }