public static Matrix4d createPerspective(float fov, float aspect, float near, float far) {
        return createPerspective((double) fov, (double) aspect, (double) near, (double) far);
    }
public static Matrix4d createPerspective(float fov, float aspect, float near, float far) {
        return createPerspective((double) fov, (double) aspect, (double) near, (double) far);
    }
public static Matrix4d createPerspective ( float fov , float aspect , float near , float far ) { return createPerspective ( ( double ) fov , ( double ) aspect , ( double ) near , ( double ) far ) ; }
Creates a perspective projection matrix with the given (x) FOV, aspect, near and far planes

@param fov The field of view in the x direction
@param aspect The aspect ratio, usually width/height
@param near The near plane, cannot be 0
@param far the far plane, far cannot equal near
@return A perspective projection matrix built from the given values
Creates a perspective projection matrix with the given ( x ) FOV aspect near and far planes