code: function(c, a) {
        var l = (
          (c.x * a.x + c.y * a.y) /
          (Math.pow(a.x, 2) + Math.pow(a.y, 2))
        );
  
        return {
          x: l * a.x,
          y: l * a.y
        };
      }
docs: Project a rectangle's corner on an axis.
  
  @param  {object} Coordinates of a corner (x, y).
  @param  {object} Coordinates of an axis (x, y).
  @return {object} The projection defined by coordinates (x, y).