3D Stereo Pair Modeler

by Timothy W Macinta

The pictures above are an example of a 3D stereo pair. The left and right portions of the picture were taken with two different cameras that were placed side by side. Because the two cameras each took a picture from a slightly different angle, the pictures end up looking the same at first glance, but upon closer inspection they can be seen to have subtle differences.

The subtle differences can be used to reproduce the three dimensional layout of the original scene. If you are capable of viewing random dot stereograms (a lot of people have trouble doing this), then you can view the 3D image above in the exact same way. While looking at the above picture, focus your eyes on something behind the monitor. You may have to use your imagination to picture something behind the monitor, but a good trick is to focus on your reflection in the monitor while looking at the pictures. While focusing on something behind the monitor, move backward or forward until a third picture forms between the two original pictures. The picture in the middle will combine the two different perspectives of the two original pictures and will look three dimensional.

The modeler below is also capable of reproducing the three dimensional layout of the original scene. You tell it what points on the left picture correspond to what points on the right picture, and it uses trigonometry to calculate where the points were originally in three dimensional space. The more points that you pick that correspond to each other on the stereo pair, the more the model looks like the original scene.


Modeler Instructions

Troubleshooting: You don't see a modeler below

  1. You need to look at this page with a browser that can run beta or higher java applets. In other words, you need to be using Netscape 2.0 beta on a Sun or with the 32 bit version for Netscape Windows 95.
  2. If you are using Netscape on a Sun or with Windows 95 and you don't see anything below, the problem could be:
    1. The program didn't load properly. Click on the reload button and wait for around 30 seconds.
    2. You have java disabled. Select Security Preferences in your options menu and turn java on (from the General card)
    3. You are using the 16 bit version of Netscape in Windows 95 instead of the 32 bit version.

Using the modeler

  1. First, you need to select an origin for the model to rotate about. Use the mouse to position the blue cross hair on a point on the left picture, preferably near the middle of the screen. Click on the mouse button once you have the cross hair where you want it.
  2. Now move to the right picture and position the blue cross hair over correspoding point on the right picture. Click on the mouse button once you have the cross hair over the corresponding point.
  3. Now you can select points which surround the origin. You do this by using the same basic method that you used to select the origin. First position a cross hair on the left image, click to set the cross hair down, move to correspoding point on the right image, and click to drop the cross hair.
  4. As you specify points for the modeler by clicking on pairs of points in the pictures, points should start to appear in the area below the two pictures. These points can be rotated by moving your mouse into the area of the screen with the model and the rotational coordinates and then using the following keys:
Please note: The modeler performs the rotation in the order of heading, then pitch, and then roll and each rotation is done relative to the previous rotations. As a result, changing one aspect of rotation while either of the other two is not zero may cause the model to rotate in a way that differs from what you expected because all the rotations are done relative to each other.

The source code was kind of slopped together, but if you really want to see it, it comes in four parts:

MIT owns the rights to this program since I wrote it for a class so using this code for comercial use is strictly prohibited.