読者です 読者をやめる 読者になる 読者になる

Daily Creative Coding

元「30 min. Processing」。毎日、Creative Codingします。

filter(DILATE)でオブジェクトを徐々に小さくする

p5.js
/**
 * dilating background
 * 
 * @author aadebdeb
 * @date 2017/02/26
 */

function setup() {
  createCanvas(500, 500);
  colorMode(HSB, 360, 100, 100);
  background(0, 0, 100);
}

function draw() {
  
  noStroke();
  if (random(1) < 0.8) {
    fill(random(360), random(0, 15), random(20, 70));
  } else {
    fill(random(360), 70, random(70, 100));
  }
  var tr = random(150);
  var ta = random(TWO_PI);
  translate(width / 2 + tr * cos(ta), height / 2 + tr * sin(ta));
  var num = int(randomGaussian(200, 30));
  for (var i = 0; i < num; i++) {
    var r = map(pow(random(1), 3), 0, 1, 0, 200);
    var ang = random(TWO_PI);
    var size = random(0, map(r, 0, 200, 20, 1));
    ellipse(r * cos(ang), r * sin(ang), size, size);
  }
  
  filter(DILATE);
}
f:id:aa_debdeb:20170223223227j:plain