# xkcd’s cloud viewer, binocular vision and telestereoscopes

A recent xkcd comic illustrated a really neat idea: enhancing binocular vision artificially to view distant objects in “true” 3d. Binocular disparity, the mismatch between the position of objects between the two eyes, is a particularly strong 3d cue. It’s  really only well useful for objects which are physically close to the observer.

Image courtesy of xkcd (C.C. Attribution-Non-Commercial license)

You can show using projective geometry that the relative disparity between two objects, where the first is at depth z, the second $\Delta$ behind that,  is proportional to $\frac{d\Delta}{z(z+\Delta)}$, where d is the distance between the eyes. Mike Langer has relevant lecture notes on this subject if you’re interested. So disparity diminishes as the square of distance, and things like clouds appear flat in part because they’re so far away. You have to take advantage of other (monocular) cues to get a sense of depth from far away objects: parallax, lighting, size, occlusion, etc.

Binocular disparity can be enhanced by artificially increasing the apparent physical separation between the eyes d. A device that accomplishes this through optics is known as a telestereoscope. Somebody built such a device for the Burning Man festival a few years ago, and hippies on shrooms were apparently super impressed. It’s not exactly a new idea though. Apparently Helmholtz built the first such device, and Kummell suggested the use of a telestereoscope for viewing stars in 3d in… 1887!

While these devices were built with mirrors and lenses, it’s possible to build a similar device by capturing the output of two cameras a fixed distance apart and visualizing them on a 3d screen, as suggested by the xkcd cartoon. Now, there’s lots of ways of building a 3d screen: shutter glasses, periscopes, anaglyph, polarized glasses, etc. I think xkcd’s phone idea is probably feasible but it seems too much trouble. On the other hand, many of the simpler solutions require bulky equipment or hacking proprietary hardware.

Ideally, you’d want to have a 3d screen that could be set up with minimal portable hardware (say an old laptop) and that is straightforward to adjust in the field. I ordered the Pokescope (above) a few weeks ago and just received it today. It’s basically composed of two prisms that bend light so that your left eye looks at a location slightly to the left of the straight ahead direction and the right eye to the right. It also has adjustable shutters to minimize cross-talk between the eyes. This facilitates viewing parallel stereo images (or video), like this image:

So, me and my buddy Philippe are going to try to build a telestereoscope in the near future based on this principle. I’ll let you know how it goes.