Manipulate horizontal FOV without affecting vertical FOV?

I would like to change the horizontal FOV (currently set: 90) of my camera to a smaller value (45) without changing the vertical FOV. Aspect ratio is the default value of 1.77…8 .

I tried setting horizontal FOV to 45 and aspect ratio to 0.88…9 (both half of the original values) but with the modified parameters the visible area appears to be cropped also vertically.

Why is this happening and how can I reduce the visible area only in one dimension?
See also these images, created with a 1) 90 degree 2) 45 degree FOV:


1 Like

Solved this by myself. For anyone having the same question in mind:
The aspect ratio is not a factor directly calculated from vertical and horizontal FOV, thus decreasing horizontal FOV by 50% while keeping vertical FOV constant does not mean that aspect ratio is decreased by 50%.
Use following formula instead to calculate an aspect ratio when FOVs are known:

ar = tan(hFOV/2)/tan(vFOV/2)

where ar: aspect ratio, hFOV: horizontal FOV, vFOV: vertical FOV

In my example this means:
original values (suffix A):

hFOVA = 90
arA = 1.78
vFOVA = arctan(tan(hFOVA/2)/arA)*2 = 59

New values (suffix B) for my requirement of hFOVB = hFOVA / 2 and vFOVB = vFOVA:

hFOVB = 45
vFOVB = 59


arB = tan(45/2)/tan(59/2) = 0.73

I found the formula when reading about how cameras work:
The generated image can be imagined as the camera sensor on which the image is printed. The sensor has a width (sw) and height (sh). The aspect ratio (ar) is not the proportion between the fields of view but of the sensor dimensions:

ar = sw/sh

The sensor dimensions can be calculated when field of view and focal length (f) of the camera are known:

sw = tan(hFOV/2)*2f
sh = tan(vFOV/2)*2f

For the calculation of the aspect ratio, the focal length can be canceled out.

These websites helped me understanding my initial misconception and how it really works:

Be careful not to confuse the FOV angle (sometimes named AFOV) and metric measures of the captured image.

3 Likes