How far back should the screen go?

Interactive installations often use screens, LED panels, or projectors. These screens often need to be huge. But what pixel resolution to choose? And how far away should I put the screen? To specify the right hardware, I describe a formula useful to get the optimal viewing distance, given a pixel size. The calculation is based on the angular resolution of the human eye.

Naked Eye resolution: 0.02° 

The human eye is quite marvellous. 4.6 billion years of evolution have made it possible for us to perceive at an angular resolution(θ) of 0.02 degrees. Anything below will generally be lost to blur, while anything above will be clearly distinguishable.

Now, let's say we have a mobile phone screen which we hold at about 30 cm in front of us. What's the smallest pixel size that would still make a difference?

Illustration

Pythagoras is our friend. From the drawing above, we can see:

$$ r = d * \tan{θ} \\ $$

Where r is our pixel size, d is our viewing distance, and θ is our angular resolution (which is constant, at 0.02°).

$$ \begin{align} r &= 300mm * \tan{0.02°} \\ &= 0.1047mm \end{align} $$ The result is given in mm. This means our eye can distinguish something as small as a tenth of a millimeter at 30cm distance.

Now what's that in DPI? Remember that DPI stands for “dots per inch”, and that one inch equals 25.4mm. How many of these 0.1047mm dots can we fit in a 25.4mm inch?

$$ \begin{align} r_{dpi}&=25.4mm/0.1047mm \\ &=242.552123421 \end{align} $$

Okay, now it's official: ~250dpi is eye resolution , if viewed from a 30cm distance. Can we calculate this in the opposite direction? For sure. Here is the main formula that this post is about:

Pixel Size (in mm) × 2.86 = optimal viewing distance in meters 

Let's say the manual for a LED panel specifies a pixel pitch of 3.36mm. What's the optimal viewing distance so that we can claim eye resolution?

$$ \begin{align} d &= r / \tan{θ} \\ d &= 3.36mm / \tan{0.02°} \\ &= 9625.69mm \end{align} $$

Woah, that's almost 10 meters distance. You're gonna need a bigger boat (or a smaller pixel pitch), or we'll have to sacrifice some quality.

Pixel Size(in mm) × 1.5 = acceptable viewing distance in meters 

Sometimes, a resolution of 72dpi for 50cm is still acceptable. After all, this is quite close to a common resolution used with CRT displays for decades. What kind of angular resolution does this relate to?

72dpi means a pixel size of \( 25.4mm/72 = 0.35mm \), which in turn, viewed at a distance of 500mm, leads us to an angular resolution:

$$ \begin{align} θ &= \arctan{ \frac{0.35mm} { 500mm } } \\ & = 0.040425349° \end{align} $$ Let's see what optimal viewing distance we would get for this new angular resolution, and a pixel pitch of 3.36mm:

$$ \begin{align} d &= r / \tan{θ} \\ d &= 3.36mm / 0.000739845 \\ &= 4762.204724409mm \end{align} $$

About 4.8 meters? Yes that could work.

Simplify: No need for Pythagoras, let's stick with Thales 

Of course, we could have done this calculation in a more simple manner, by observing that we didn't have to evaluate \( \tan{θ} \) - after all, we're more interested in the ratio between Opposite and Adjacent than actually knowing the angle θ.

So how about we place the ratio directly into the formula?

$$ \begin{align} \frac{r} {d} &= \frac{Opposite} {Adjacent} \\ d &= r / \frac{.35mm} {500mm} \\ d &= \frac{500mm * r } {.35mm} \\ d &= 1428.571428571 * r \\ \end{align} $$

That's a bit simpler, and dividing by 1000 to convert millimeters to meters, gives us the factor ~1.5 used in the headline above.

Similarly, the factor \( \frac{1000} {\tan{0.02°} } \) evaluates to about \( \frac{1} {0.35} \), which is the same as multiplying with 2.864787748 - the factor suggested for Naked Eye Resolution .

Tagged:

mathtutorial

See Also:

Simulated surface crazing using a fragment shader

Written . 1176 words. (~6min reading time)

writeupmath

••••••

Earth Normal Maps from NASA Elevation Data

Written . 908 words. (~5min reading time)

tutorialcode

•••••

Using ofxPlaylist

Written . 787 words. (~4min reading time)

tutorialcode

••••

Flat Shading using legacy GLSL on OSX

Written . 806 words. (~4min reading time)

tutorialcode

••••