What is difference between -vta and -vth

According to the man page of rpict, -vta refers to an angular fisheye, and -vth refers to a hemispherical fisheye. However, when I use -vta to render an image, I found that the boundary of the field of view (FOV) is not a circle. Why is this the case?

-vth -vv 180 -vh 180

-vta -vv 180 -vh 180

An angular fisheye (-vta) is one where the distance from the center of the image is proportional to the angle from the center of view, thus “angular.” This definition of course extends past 90° from the center logically, so the corners of an image are actually behind the camera’s origin plane.

However, a hemispherical fisheye (-vth) is defined as a downward projection of points on a hemisphere, and is undefined past 90° from center. Therefore, the corner pixels in a -vh 180 -vv 180 view are undefined and colored black.

An angular fisheye is generally a better match to available lenses, many of which are equi-solid-angle. (There is a correction from one view type to the other for use with pcomb in “fisheye_corr.cal”.)

The nice thing about the hemispherical fisheye is that you can average the pixels using total -m or similar and multiply by 4 to get the horizontal irradiance on the camera plane. (You would mulitply by PI if the image was round, but need a 4/PI correction because of the black corners, which yields 4.)

Hope this helps.
-Greg

Hi Greg,

Which projection type should be used when conducting a glare calculation? If using -vta for the glare calculation, should the image be cropped to exclude the corners behind the camera’s origin plane?

Best,

Yongqing

Hi Yongqing,

I think the angular view type is generally preferred, but I’m not an expert on evalglare. Best to read through one of the more detailed posts, such as this one.

Best,
-Greg

Hi @1112,

I would suggest that -vth is probably more useful for glare evaluation because it packs more pixels into the center of the image where the Guth index is lower. It also saves time by not calculating pixel values in the rear hemisphere. That said, my recollection of the evalglare source code is that it can understand any of the standard -vt* projections.

More important than the image type (indeed both -vth and vta are supported in evalglare) is that the glare source (sun disk or a reflection of it ) is resolved properly (-rendering settings e.g. -lw -ps …) and is represented with enough pixels (minimum recommendation is around 10pixels, larger is better). Also, if the sun is visible through the window/facade without scattering (e.g. EC-glass, fabric shades with large OF…) then the sun should be blurred to account for the scattering in the eye. All these things are mentioned in the glare tutorial at the Radiance WS in 2023, page 95ff (https://www.radiance-online.org/community/workshops/2023-innsbruck-austria/slides/RW23_T2_Jan_Wienold_Daylight_Glare.pdf).
Personally, I prefer the -vta projection as angular distances between pixels can be calculated easily and no problems can occur when glare sources are located close to the 180° (e.g. when pixel center is inside 180°, but one corner is outside. There were failures in the past in such conditions for vth, but I think I fixed that some years ago).