Re: Large FOV

New Message Reply Date view Thread view Subject view Author view

Michael T. Jones (mtj++at++intrinsic.com)
Tue, 15 Jun 1999 08:16:50 -0700


At 03:26 PM 6/15/99 +0300, Devrim Erdem wrote:
>Angus Dorbie wrote:
>
> > Devrim Erdem wrote:
> > >
> > > Hi,
> > >
> > > I have to determine the number of channels to draw a 130 degrees hor. FOV
> > > view. Is there a math model to compute the distortion caused by rendering
> > > large FOV to a channel ?
> >
> > There is no distortion for the correct display system. See my
> > presentation in the whitepapers section of the performer web pages.
> >
> > The image when displayed on a rectangular screen and viewed from the
> > correct vantage point will reproduce the virtual environment as oriented
> > with the modelview matrix.
>
>OK. These messages have been pretty explanative for me. So if I have a
>rectangular
>display which is 110x50 or sth like that and I render a channel that
>110x50 degrees
>onto this display I shall not meet a major distortion. Is this right ?

Almost.

If you have a flat rectangular display with a physical size of H=110
and V=50 units (Horizontal and Vertical, resp.) and wish to display a
picture with a horizontal angle of h=130 degrees, then to avoid
distortion in the image computation the vertical angle v must be
computed as follows (this equation is in the Performer documents):

     V/H = tan(v/2)/tan(h/2)

In this case, that means that v=88.53638334319122156629969 degrees.

So, IF you render an image in a channel using these h and v FOV settings
and cause it to be displayed on a monitor in an image with W:H equal to
110:50 or project it onto a screen such that the resulting image has the
110:50 shape and have the projector be perpendicular to the screen (or
else make a corresponding "linear distortion correction" in the projector
if it's not perpendicular to the screen) AND you view the screen from the
one and only point (well, two actually if you can look on the other side of
the screen, but then it's backwards ;-) where the horizontal FOV equals
130 degrees, THEN it will not be distorted at all, neither minorly nor
majorly.

Unfortunately, it will be distorted when viewed from every other
position in the universe, so be sure to put your pilot, researcher, teacher,
etc., at that spot (which is known as the "design eyepoint") before you
say "see, it's not distorted!" If you want to have the image appear as
undistorted as possible when viewed from several locations (like pilot
and co-pilot or researcher and audience) then a larger curved screen
(or pseudo-curved, with several flat screens) and a display channel for
each is the route to victory. This is what I meant by the question "Error
as viewer moves away from the design eyepoint?"

I have always found the "tangents of half-angles" relationship interesting.
It's easy to derive and widely known, but when I first ran into this issue I
did not know anything about it and just presumed that the ratio of the
image was also the ratio of the angles. I was drawing some circles and they
did not look right, so I thought about the relationship before drawing a
diagram and solving. The insight came from considering what happens as
the horizontal FOV gets large. How large can it get in a linear projection
matrix? The limit is 180% at which point you can see to "infinity" at the
left and right edges of the screen. What about the vertical? if the screen
is 5:4 then can you see 4/5 of infinity (which is still infinity) in the
up/down
direction? So there is not a linear relationship then between angle and
aspect ratio. Which circular functions have infinities? tangets and arc-
tangents. What sides of triangles are involved here? Aha! eye-to-center-
of-screen and center-of-screen-to-edge. Half angles, tangents, etc. and
the relationship is obvious.

----------
Michael T. Jones - <mailto:mtj++at++intrinsic.com>mtj++at++intrinsic.com -
<http://www.intrinsic.com/>Intrinsic Graphics Inc. - (650) 210-9933x13
A frog in a well says "The sky is as big as the mouth of my well"

At 03:26 PM 6/15/99 +0300, Devrim Erdem wrote:

Angus Dorbie wrote:

> Devrim Erdem wrote:
> >
> > Hi,
> >
> > I have to determine the number of channels to draw a 130 degrees hor. FOV
> > view. Is there a math model to compute the distortion caused by rendering
> > large FOV to a channel ?
>
> There is no distortion for the correct display system. See my
> presentation in the whitepapers section of the performer web pages.
>
> The image when displayed on a rectangular screen and viewed from the
> correct vantage point will reproduce the virtual environment as oriented
> with the modelview matrix.

OK. These messages have been pretty explanative for me. So if I have a rectangular
display which is 110x50 or sth like that and I render a channel that 110x50 degrees
onto this display I shall not meet a major distortion. Is this right ?

Almost.

If you have a flat rectangular display with a physical size of H=110
and V=50 units (Horizontal and Vertical, resp.) and wish to display a
picture with a horizontal angle of h=130 degrees, then to avoid
distortion in the image computation the vertical angle v must be
computed as follows (this equation is in the Performer documents):

    V/H = tan(v/2)/tan(h/2)

In this case, that means that v=88.53638334319122156629969 degrees.

So, IF you render an image in a channel using these h and v FOV settings
and cause it to be displayed on a monitor in an image with W:H equal to
110:50 or project it onto a screen such that the resulting image has the
110:50 shape and have the projector be perpendicular to the screen (or
else make a corresponding "linear distortion correction" in the projector
if it's not perpendicular to the screen) AND you view the screen from the
one and only point (well, two actually if you can look on the other side of
the screen, but then it's backwards ;-) where the horizontal FOV equals
130 degrees, THEN it will not be distorted at all, neither minorly nor
majorly.

Unfortunately, it will be distorted when viewed from every other
position in the universe, so be sure to put your pilot, researcher, teacher,
etc., at that spot (which is known as the "design eyepoint") before you
say "see, it's not distorted!" If you want to have the image appear as
undistorted as possible when viewed from several locations (like pilot
and co-pilot or researcher and audience) then a larger curved screen
(or pseudo-curved, with several flat screens) and a display channel for
each is the route to victory. This is what I meant by the question "Error
as viewer moves away from the design eyepoint?"

I have always found the "tangents of half-angles" relationship interesting.
It's easy to derive and widely known, but when I first ran into this issue I
did not know anything about it and just presumed that the ratio of the
image was also the ratio of the angles. I was drawing some circles and they
did not look right, so I thought about the relationship before drawing a
diagram and solving. The insight came from considering what happens as
the horizontal FOV gets large. How large can it get in a linear projection
matrix? The limit is 180% at which point you can see to "infinity" at the
left and right edges of the screen. What about the vertical? if the screen
is 5:4 then can you see 4/5 of infinity (which is still infinity) in the up/down
direction? So there is not a linear relationship then between angle and
aspect ratio. Which circular functions have infinities? tangets and arc-
tangents. What sides of triangles are involved here? Aha! eye-to-center-
of-screen and center-of-screen-to-edge. Half angles, tangents, etc. and
the relationship is obvious.


Michael T. Jones - mtj++at++intrinsic.com - Intrinsic Graphics Inc. - (650) 210-9933x13
A frog in a well says "The sky is as big as the mouth of my well"

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Tue Jun 15 1999 - 08:14:33 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.