 255 - vv*ms; b = 255 - vv*ms; }
      if(vv < 0) { g = 255 + vv*ms; r = 255; b = 255 + vv*ms; }
      var vcol = 'rgb('+Math.floor(r)+','+Math.floor(g)+','+Math.floor(b)+')';
      d3agent.attr('fill', vcol); 
    }

    var PuckWorld = function() { 
      this.reset();
    }
    PuckWorld.prototype = {
      reset: function() {
        this.ppx = Math.random(); // puck x,y
        this.ppy = Math.random();
        this.pvx = Math.random()*0.05 -0.025; // velocity
        this.pvy = Math.random()*0.05 -0.0