# Mechanics & Mathematics of Stereoscopy

Its been quite sometime since my last blog post of any major substance. Its been a pretty amazing few months since moving to Triggerfish Animation Studios heading up the Stereoscopy Department. Doors have been opened allowing me to explore areas of 3D & Computing Technology that I have always longed to explore yet never had the time or need for. Integrating Stereo 3D into an Animated Feature Film comes with its inherent challenges and requirements. I work closely with the Animators, Lighting & Compositing Departments continually working towards a comfortable & enjoyable 3D experience. The mathematics of stereography has also been an exciting challenge, nothing like a little trigonometry to keep your brain firing on all cylinders.

## Simple intro to the Mechanics & Mathematics of Stereoscopy

Stereoscopy at its simplest form is straight forward, we create two image sequences one catering specifically to your Left Eye & one catering specifically to your Right Eye. Those images are created in such a way that they attempt to recreate the best possible S3D effect for all who watch the film. Basically our work mostly concerns the z-axis (objects in front or behind the screen), behind screen is known as the Positive Parallax and in front of screen is known as the Negative Parallax.

But why does the area coming towards you get called negative and the area moving away from you get called positive? Well that’s where the above scene geometry comes into play. We all work on screens, weather its your computer screen or the cinema screen, and that screen we call the Zero Parallax, its the one point where what both your Left & Right eyes are seeing is perfectly matched. Now if we attached red lasers to each of your eye balls (very terminator style) and asked you to look behind your screen and then measured the distance between the two red dots (at screen position) we would find a positive number, but if we did the same with you looking at an object in front of the screen the Left dot would cross over the Right dot and thus, remaining in the same mathematical space, the new measured distance turns up negative.

Now speaking of the positive parallax, where your eyes are looking parallel to one another, and you are looking at a distant object. Although comfortable and natural, most of the time your eyes spend their days converging on objects, but if you attempt to diverge (make your eyes move apart, as seen above) the eyes to much, this is what I consider the primary physical danger zone of S3D, no one likes having their eyes forced apart.

This is where the mathematics come into play, we need to know the maximum positive parallax the human eyes can handle at the screen size of your final deployment screen. Its a simple ratio, if the human eyes average distance apart is 65mm (Interocular) then you need to know what percentage 65mm would be on your specific screen. Lets take two examples, firstly a 500mm computer monitor, and secondly a 9meter cinema screen.

Percentage of Screen = (Interocular / Screen Width)

0.13% = (65mm / 500mm) or 13%
0.0072% = (65mm / 9000mm) or 0.72%

Now if your Screen Resolution is say HD (1920×1080) you can work out the how many pixels would make your eyes sit in parallel in the resolution you are working.

Pixel Parallax = Resolution x Percentage of Screen

249px = 1920 x 0.13
14px = 1920 x 0.0072

So effectively what this says is that at a screen size of 9m wide, the maximum pixel separation you should go to is +14px when showing HD Footage. The next area of concern is distance towards the viewer in the negative parallax, but in my opinion this area is a little more flexible. Obviously extremes are just as dangerous as extremes in the positive, but the pixel values in the negative can be quite a bit larger without putting to make strain on the viewer. I plan to write a post specifically about the negative parallax because it alone is a large topic of discussion in its own right.

This being the simple intro I will stop right here, but it does get quite a bit more complicated when you begin to take into account the physical location of the viewer relative to the screen on the z-axis, etc

C 🙂