Continuing the reference section started in the post regarding "TV screen size vs. goggle field of view", here is the conversion between diagonal to horizontal and vertical field of view. The conversion depends on the aspect ratio of the screen (ratio between width and height). The conversion table is below following by some explanations and discussion:
Converting diagonal FOV to horizontal and vertical FOV for various aspect ratios |
If you don't know the aspect ratio, you can usually get it from the number of pixels. Assuming square pixels, the aspect ratio is the horizontal resolution divided by the vertical resolution.
The math is straightforward, but it involves a bit of trigonometry. Let’s take it step by step:
- If Df is the diagonal field of view and Ha:Va is the horizontal to vertical aspect ratio, we can find the corresponding diagonal size in the same units as the aspect ratio:
Da = sqrt(Ha*Ha + Va*Va)
- The screen height and width are proportional to the tangent of the half angle. We use this to convert between field-of-view space and aspect-ratio space:
Da = tan(Df/2) and Df = atan(Da) * 2
- If the tangent and arctangent functions operate in degrees, we get:
Hf = atan( tan(Df/2) * (Ha/Da) ) * 2
- Here the tan() function converts from FOV to aspect-ratio space, the ratio is scaled in that space and then converted back into FOV space.