W Randolph Franklin home page
... (old version)
ComputerGraphicsFall2008/ home page Login


Due in class Fri Oct 17 2008

  1. (This question will take some thinking).
    Imagine that you have an infinitely large room illuminated by one infinitely long row of point lights. This figure shows a side view of the room.
    The lights are h above the floor and are 1 meter from each other. Assume that the ceiling above the lights is black and that no light reflects off of anything.
    An object at distance d from a light gets illuminated with a brightness 1/d2 .
    Each point on the floor is illuminated by all the lights, but more brightly by the closer lights.
    A point p directly below a light will be a little brighter than a point q halfway between two such points. That is the problem --- we want the floor (at least the part directly below the line of lights) to be evenly lit, at least within 1%.
    However, the higher the line of lights, the more evenly the floor will be lit.
    Your question is to tell us what is the minimum value for h so that the line of the floor below the line of lights is evenly lit within 10%.
  2. Extend the paint program presented in class as follows.
    1. Add 3 more colors of your choosing.
    2. Add a main menu entry and submenu to enable or disable writing with XOR instead of with copy.
    3. Add an entry to the permanent menu on the top to draw a circle; the user selects opposite ends of a diameter.
    4. Modify the program to keep drawing primitives until you select something else from the top menu. That is, after you click on line, each pair of future clicks causes another line. (Now the program ignores left clicks after the first 2 until you again select something on the top menu.)
    5. Modify the program to use a display list, so that the objects are redrawn when you redisplay the window. (This may be surprisingly hard.)