Programming Assignment 1

Assigned 28 January 2002

Due 11 February 2002

This assignment has two choices. If the first is a "no-brainer" for you, then attempt the second.

(Choice 1) Using "the one true way" implement a model of a 35mm camera with a 15mm focal-length lens. Use your camera to image points arranged at the corners and edge-centers of a box about the size of a cereal box (20 points in all, about 12 inches tall, 8 inches wide, 3 inches thick). Antialias the images of the points. Make a short movie, animated GIF, or sequence of still pictures showing your camera viewing the points from a gradually changing position.

(Choice 2) Given a sequence of images such as those in choice 1, and the 3D coordinates of the points on the box, what can you determine about where the camera was located when the pictures were taken? Assume an ideal camera described by a 3x3 matrix and a center-of-projection. Can you determine the 3x3 matrix and the COP? Assume you know the correspondence between points on your image plane and points in 3D (a hard problem in general). You may assume that you can accurately determine the projected location of the points in the image by examining the little fuzzy blob they leave behind (not too hard in isolation but when the overlap it can be tough).

You are to email to me the URL of a web page describing your implementation, and with links to your code. You may implement your programs in any of (C, C++, JAVA, Matlab, Python, or Lisp). If you would like to use another programming language, send me email.

28 January 2002 10:24 AM