3D Stereo Pair Modeler
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
- 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.
- If you are using Netscape on a Sun or with Windows 95 and you don't see
anything below, the problem could be:
- The program didn't load properly. Click on the reload button
and wait for around 30 seconds.
- You have java disabled. Select Security Preferences
in your options menu and turn java on (from the General card)
- You are using the 16 bit version of Netscape in Windows 95 instead
of the 32 bit version.
Using the modeler
- 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.
- 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.
- 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.
- 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:
- q - Increase heading
- w - Increase pitch
- e - Increase roll
- z - Decrease heading
- x - Decrease pitch
- c - Decrease roll
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.