code: public Matrix4 setToPerspective (double fovy, double aspect, double near, double far) {
          double f = 1f / Math.tan(fovy / 2f), dscale = 1f / (near - far);
          return set(f/aspect, 0f, 0f, 0f,
                     0f, f, 0f, 0f,
                     0f, 0f, (far+near) * dscale, 2f * far * near * dscale,
                     0f, 0f, -1f, 0f);
      }
docs: Sets this to a perspective projection matrix. The formula comes from the OpenGL
  documentation for the gluPerspective function.
  
  @return a reference to this matrix, for chaining.