Terragen™ Camera
Zoom/FOV conversions

In Terragen, the camera's field of view (FOV) can be adjusted using the Zoom control located in Camera Settings (or a coarser control at the bottom of the Rendering Controls). The zoom value can also be adjusted from within a script (see the file example.tgs that is included with the Terragen download). The following information is for conversions between Terragen zoom values and the corresponding FOV values.


Zoom-FOV conversions

The zoom factor is directly proportional to the magnification of the scene being viewed. The relationship between zoom and FOV is slightly more complex, and is given by the following:

fov = 2 * arctan(1 / zoom)
zoom = 1 / tan(fov / 2)

where fov is the horizontal or width-wise Field Of View (ie. in the camera's horizontal plane and the image's x-direction). It must be in radians if the trigonometric functions use radians instead of degrees. (Degree-radian conversions here.)

Note that a zoom value of exactly 1 gives a 90 degree horizontal FOV, but a zoom of 2 does not give a horizontal FOV of 45 degrees.

The conversions between the zoom value and the field of view in planes other than the camera's horizontal (width-wise) can be found using the formulae given below.

Vertical FOV

The vertical FOV is the field of view in the y-direction of the rendered image.

fov = 2 * arctan(ratio / zoom)
zoom = 1 / [tan(fov / 2) * ratio]

where ratio is equal to (ImageWidth / ImageHeight)

Diagonal FOV

The diagonal FOV is the field of view across the diagonal of the rendered image.

fov = 2 * arctan(ratio / zoom)
zoom = 1 / [tan(fov / 2) * ratio]

where ratio is equal to (ImageWidth / ImageDiagonal), ie.

ratio = ImageWidth / squareroot(ImageWidth*ImageWidth + ImageHeight*ImageHeight)


LightWave Zoom conversions

Terragen and LightWave use a similar conversion between Zoom and FOV. However, Terragen calculates the horizontal FOV from the zoom, whereas LightWave uses zoom to calculate the vertical FOV. Therefore, the following simple conversions can be used:

LWZoom = zoom * (ImageWidth / ImageHeight)
zoom = LWZoom * (ImageHeight / ImageWidth)


Reminder: degree-radian conversions

[Angle in Degrees] = [Angle in Radians] * 180 / Pi
[Angle in Radians] = [Angle in Degrees] * Pi / 180


Updated 1999.11.10

Terragen, this site and its contents are all copyright © 2003 Planetside Software, contact@planetside.co.uk
Terragen is a trademark of Planetside Software
All other trademarks are the property of their respective owners