getScreenRatiosFromFov(depth = 0) {
        // compensate for cameras not positioned at z=0
        const cameraOffset = this.position.z;
        if (depth < cameraOffset) {
            depth -= cameraOffset;
        }
        else {
            depth += cameraOffset;
        }

        // vertical fov in radians
        const vFOV = this.fov * Math.PI / 180;

        // Math.abs to ensure the result is always positive
        const height = 2 * Math.tan( vFOV / 2 ) * Math.abs(depth);
        return {
            width: height * this.width / this.height,
            height: height,
        };
    }
Returns visible width / height at a given z-depth from our camera parameters

     Taken from: https://discourse.threejs.org/t/functions-to-calculate-the-visible-width-height-at-a-given-z-depth-from-a-perspective-camera/269
*