Finding the solid angle subtended at a viewer's eyes by a movie screen

1.2k Views Asked by At

I've got to calculate which is the seating row of a movie theater which has the greatest angle of vision. To calculate this, I would like to consider the movie screen as having two dimensions (length and width).

While I was searching for methods to solve this, I found that Paul Nahin used the concept of solid angles to calculate something that is similar to my problem. However, in his problem, he solved for a person standing directly in front of the center of a painting, as shown here:

I would like to know if you guys have any idea on how to solve for my case, since in a movie theater, there is an inclination in the seats and there is even a small distance between the screen and the first seating row, as shown here:

2

There are 2 best solutions below

2
On BEST ANSWER

Without making any approximations, this problem became quite involved, but it does look doable, although the length of the process makes me suspicious that I made a mistake somewhere. If so, please point it out. But for what it's worth, here goes:

To begin, I sketched the following pictures showing a cross-sectional view and a bird's eye view of the problem and labeled the relevant lengths and angles (I assumed that the best seat within a row is the middle seat): enter image description here

So the question can be stated "What is the value of $x$ that maximizes the solid angle of the screen?"

Before we can answer that, we need to figure out how to compute, for a given $x$, what the solid angle measure of the view is. In the diagram I made, $\theta$ refers to the angle of elevation of our gaze (i.e. if you imagine encasing your head within a globe, then $\theta$ would be the latitude you're looking at), and $\phi$ refers to the azimuth (i.e. the "longitude" of our gaze). So the question is, what is the region of all gazes (i.e. look directions) that wind up on a point on the screen?

You'd think at first that such a region would be a rectangle: the screen corresponds, in angle space, to a region $\theta_\textrm{bottom} \leq \theta \leq \theta_\textrm{top}$, and $\phi_\textrm{left} \leq \phi \leq \phi_\textrm{right}$, but this is not true. The trouble is that the elevation angle $\theta$ of, say, the top of the screen varies as we change $\phi$. You can see why this is if you imagine an infinitely wide screen. If you're looking at the middle-top of the screen and you shift your gaze to the right, your gaze will drop in elevation according to the effects perspective, finally disappearing into a vanishing point on the horizon.$\newcommand{\thetatop}{\theta_\mathrm{top}}$

Hence that is why I depicted $\theta_\textrm{top}$ in my picture as a function of the azimuth $\phi$, and can be computed using trigonometry. It's clear that $\tan\thetatop(\phi) = (c+s-y)/d(\phi)$, hence $$\thetatop(\phi) = \arctan \frac{c+s-y}{d(\phi)} $$

$d(\phi)$ can be computed using the second picture. We see that $\cos \phi = (x+L)/d(\phi)$, so $d(\phi) = (x+L)/\cos \phi$. Hence $$ \thetatop(\phi) = \arctan\left(\frac{c+s-y}{x+L} \cos \phi \right) $$ Likewise, $\theta_\mathrm{bottom}$ is similar, except we subtract $c$ (the screen height) from the numerator. That is, $$ \theta_\mathrm{bottom}(\phi) = \arctan\left(\frac{s-y}{x+L} \cos \phi \right) $$ So we know how the $\theta$ boundaries vary against $\phi$. What are the $\phi$ boundaries? They are whatever $\phi$ values correspond to the left and right edges of the screen. Since we're in the middle seat, they will simply be negatives of each other. Let's name them $\pm \phi_w$. This can be readily computed from the second picture since $$ \tan \phi_w = \frac{w}{x+L} $$ So $$ \phi_w = \arctan\left(\frac{w}{x+L} \right) $$

With this figured out, we now know that the region of all possible gazes is \begin{align} \theta_\mathrm{bottom}(\phi) &\leq \theta \leq \theta_\mathrm{top}(\phi) \\ -\phi_w &\leq \phi \leq \phi_w \end{align} Thus we can set up the following double integral to compute the solid angle measure:$\newcommand{\thetabot}{{\theta_\mathrm{bot}}} \newcommand{\sat}{\operatorname{sat}}$ \begin{align} \Omega = \iint d\Omega &= \int_{-\phi_w}^{\phi_w} \int_{\thetabot(\phi)}^{\thetatop(\phi)} \cos \theta \, d\theta\,d\phi \\ &= \int_{-\phi_w}^{\phi_w} \big[\sin \theta \big]_{\thetabot(\phi)}^{\thetatop(\phi)} \, d\phi \\ &= \int_{-\phi_w}^{\phi_w} \left[\sat\left(\frac{c+s-y}{x+L} \cos\phi \right) - \sat\left(\frac{s-y}{x+L} \cos\phi \right) \right] \, d\phi \end{align} where $\sat(t)$ is the sine-of-arctangent function, defined this way: $$ \sat(t) := \sin(\arctan t) = \frac{t}{\sqrt{t^2+1}} $$ Because the integrand is even with respect to $\phi$, we can rewrite the integral as $$ \Omega = 2\int_0^{\phi_w} \left[\sat\left(\frac{c+s-y}{x+L} \cos\phi \right) - \sat\left(\frac{s-y}{x+L} \cos\phi \right) \right] \, d\phi $$ which (with the help of a computer) I'm able to evaluate as $$ 2\arcsin\left[\sat\left(\frac{c+s-y}{x+L} \right) \sin \phi_w \right] - 2\arcsin\left[\sat\left(\frac{s-y}{x+L} \right) \sin \phi_w \right] $$ I did not write it explicitly, but remember that $y$ is actually dependent on $x$. Specifically $\tan \alpha = y/x$. Hence $y = x \tan \alpha$. Since $\tan\alpha$ is a constant, I'll denote it by $m$, so we have $y = mx$. Also note that $\phi_w$ is dependent on $x$ too. If we substitute it in, we see we get another $\sat$ function. So our final expression (explicitly showing all the dependencies on $x$) becomes $$ \Omega(x) = 2\arcsin\left[\sat\left(\frac{c+s-mx}{x+L} \right) \sat\left(\frac{w}{x+L} \right) \right] - 2\arcsin\left[\sat\left(\frac{s-mx}{x+L} \right) \sat\left(\frac{w}{x+L} \right) \right] $$ All that's left to do now is to maximize this function with respect to $x$. Doing that explicitly by taking the derivative and setting it equal to zero is probably too hard (I tried). So your best bet at this point is to do it numerically.

0
On

I don’t know whether this will help you, but here’s what’s going on, far as I can tell:

You have a rectangle $ABCD$, the screen, on a (perhaps) vertical wall, and a spectator $\Bbb O$ sitting away from the wall, looking at the screen. To $\Bbb O$, this rectangle doesn’t look like a rectangle, but like a quadrilateral $A_vB_vC_vD_v$ in the field of vision. At each of the vertices, there is an apparent angle, let’s call them $\alpha,\beta,\gamma,\delta$, respectively. Then, when we measure these in radians, the solid angle that $\Bbb O$ sees is $\alpha+\beta+\gamma+\delta-2\pi$ steradians.

The question is how to find $\alpha$, etc. For $\alpha$, it is the dihedral angle between the two planes $D\Bbb O A$ and $A\Bbb O B$. This angle can also be thought of as the angle between the corresponding orthogonal vectors. The vector orthogonal to $A\Bbb O B$, for instance is gotten as a cross product $\overrightarrow{\Bbb OA}\times\overrightarrow{\Bbb OB}$, or, if you like, $(A-\Bbb O)\times(B-\Bbb O)$.

Once you have the two orthogonal vectors to $D\Bbb O A$ and $A\Bbb O B$, you find the angle between them by using dot product: remember that if $\mathbf y$ and $\mathbf z$ are vectors, the angle $\alpha$ between them has $\cos\alpha=(\mathbf y\cdot\mathbf z)\big/(|\mathbf y|\cdot|\mathbf z|)$. All this is a little messy to calculate by hand, and tiresomely long ’cause you have to do the same computation four times, but if you’re programming it, it should be a romp.