Ray2D = function(a, b, d) {
            var o, dir;
            if (arguments.length == 3) {
              Vec2D.apply(this, [a, b]);
              this.dir = d.getNormalized();
            } else if (arguments.length == 2) {
              Vec2D.apply(this, [a]);
              this.dir = b.getNormalized();
            } else if (arguments.length === 0) {
              Vec2D.apply(this);
              this.dir = Vec2D.Y_AXIS.copy();
            }
          }
Ray2D accepts 2 formats for its constructor
Option 1:
@param {Number} x,
@param {Number} y,
@param {toxi.geom.Vec2D} direction

Option 2:
@param {toxi.geom.Vec2D} position
@param {toxi.geom.Vec2D} direction