Google tells me that Sketchup “camera field of view” defines the ‘width’ of the field of view. It doesn’t, it defines the ‘height’ of the field of view. Now that I know, I can do what i want, but why is this confusion and could one get it to define the width?
There has been talk of this here:
Not sure if you can make it output horizontal field of view, you would have to use a trigonometry table to find the equivalent horizontal angle given the vertical at a certain aspect ratio? or use advanced camera and figure it from the lens info.
As mentioned, the horizontal is usually the dominant angle in cinematography, which maybe why google said as much? as it maximizes the film sensor’s width and depending on aspect ratio will crop the top and bottom and avoid vignetting if a spherical lens were only covering the height of a sensor. To be fully covered it would be the diagonal measurement.
Your understanding is exactly the same as mine. Regardless whether the shape of the window is landscape or portrait, FOV always defines the height of the view. I am trying to predict exactly what view I would get with a real camera - where the field of view is usually specified as the width in degrees, but knowing aspect ratios and a bit of trig I can get what i want. Just took me a bit of time to figure it out though.
This is what the Advanced Camera Tools in SketchUp Pro is for.
In real cameras the FOV is defined not from the frame width but from the diagonal of the frame. Lenses project a round picture so the frame you can crop from it has a constant diagonal regardless of the proportions of the frame.
You can see from frame 1 that the field of view specifies 35 degrees. Putting a camera there and pulling back that 35 degree can be verified with the vertical angle measurement in red.
Thinking as a spherical lens, conventional wisdom might better use the horizontal angle to ensure the circular coverage of the lens covers the entire sensor. Cropping top and bottom to adjust aspect ration would still ensure coverage. Using the vertical angle data in green would lead to vignetting, lack of coverage at the sides.
The diagonal angle (second green circle) would ensure full coverage.
It seems a weird default to choose.
I could understand that there is some logic to say that to make sure everything is within FOV, both vertically and horizontally, then, for a landscape format, FOV defining the vertical angle would do that. But, for a portrait format, it should specify the horizontal angle, but it doesn’t. All references that I have found say FOV defines the “width” - which is patently confusing in Sketchup.
It makes sense for the FOV to be vertical as that is usually the constraint for what fits into the view. When you move the project to another computer with another screen size, or simply just resize the window, it doesn’t matter much if the view is getting slightly wider or narrower, whereas cutting the top and bottom would or extend it vertically would change a lot what you can see.
However I think it’s bad the documentation is wrong.
To get horizontal FOV from vertical FOV, use this formula:
fovh = atan(width / height * tan(fovv))
, where height and width are the dimensions of the viewport (e.g. in pixels).
It’s 3:24 a clock here and I’m jet lagged so I could have mixed up the formula, but at least it’s something in that direction.
My main issue is with the documentation. I have already made a spreadsheet to calculate FOV (horizontal) from FOV (vertical) and vice versa.
The only thing is, you have to measure the window dimensions with a ruler.
It would be nice to have an option for the angle to specify vertical/horizontal. and your trig formula is handy.
Personally I am sometimes designing for cinema at 2.35:1 ( an anamorphic aspect ratio) conforming this to the vertical would mean it would crop (mask out) the sides of the frame. There are a variety of aspect ratios for different crafts. I think in Sketchup which may primarily relate to architecture? are dealing with paper sizes which generally fall into the 4:3 format which is similar to a landscape computer monitor screen.
One would “assume” when dealing with field of view it relates more to photography/cameras and accordingly the more standard horizontal angle and expected cropping (top and bottom) would be acceptable? and we would be assured of seeing the whole image.
I am trying to predict the view when I put a CCTV camera into a nest box. With these, the aspect ratio is 933 x 767 (=1.216)
To set my window to this ratio, I put a rectangle into my model, then adjust the window to precisely contain the rectangle. It is clunky, but it works well enough.
not sure what version of SU you have. but by using advanced camera tools this would be easier to set up. alternatively you can create a mask in photoshop (or similar) with that aspect ratio and use it as a “watermark” in the styles menu. This would allow you to adjust the view position while indicating the field of view through the mask. Giving the watermark some transparency is helpful.