code: function(v) {
      var m = this.m;
      return new Vector(
        m[0] * v.x + m[1] * v.y + m[2] * v.z + m[3],
        m[4] * v.x + m[5] * v.y + m[6] * v.z + m[7],
        m[8] * v.x + m[9] * v.y + m[10] * v.z + m[11]
      ).divide(m[12] * v.x + m[13] * v.y + m[14] * v.z + m[15]);
    }
docs: ### .transformPoint(point)  Transforms the vector as a point with a w coordinate of 1. This means translations will have an effect, for example.