CS 101 - Introduction to Computing, Fall 2011

Fall 2011

Project 2 - Making 3D Images

Due: Tuesday, October 18, 2011 at 11:59 pm

For this assignment, you are to combine two images into a single 3 dimension image. These images will be viewed using red/blue glasses to give the 3D effect. The final image will attempt to be a grayscale of the object in the original original images. However with the red/blue glasses, one eye will only see the red color while the other eye will see the green/blue color.

The two images will need to be pictures of the same thing taken from a slightly different view point. The first image will view the object just to the left of the view of the second image. The left image will be converted to a red-scale image. The right image will be converted to a green/blue-scale image.

Once the red-scale and green/blue-scale images have been created, they can be combined into a single image. At each pixel in the final image, the amount of red will come from the corresponding pixel in the red-scale image; while the amount of green and bluee will come from the corresponding pixel in the green/blue-scale image.

You are to verify that the two images have the same width and height before attempting to create the 3D image. If the images do not match, print out an error message and exit the program.

Check out the following images of UIC (courtesy of Google Earth):

These two combine to create the following 3D image:

The intermediate versions of the images are as follows. Note that there is no reason to actually create and save these intermediate versions. You should be able to go from the two original images directly to the 3D image.

Other source images are:

The 3D result can be seen here.


The 3D result can be seen here.

Your code is to prompt the user for the left image first, then the right image. The final image is to be displayed and you are to prompt the user for a name to store the resulting image.

Programming Style

Part of the grade for this project will be on your use of good programming style. Programming style includes:

Project Collaboration

You are allowed to receive help on this project from other students who are also taking CS 101. Each student must still complete and submit his/her own project. You will be required to include a Collaboration Statement somewhere on your project if you receive help. This statement can simply be something like the following:
For this project, I received help from the following member of CS 101.
This statement should list each helping student's name in a comment in the "header comment" of your Java file that includes the main() method.

Submission of your Project

You must electronically submit all of your files (all .java files, any image files and any other files used) to the link for Project 2 in Blackboard.

Students may submit their projects late for the following penalty amounts:

CS 101 Home Page
Department of Computer Science
University of Illinois at Chicago