15-462 Written Assignment 1

Due in class Thursday 9/19 or in Jessica Hodgins's mailbox in NSH 4th floor by 9am on Friday 9/20

1. Human Perception

A. One second of a movie consists of 24 frames of film - a rate that appears to too low to avoid visible flicker. How is the flicker problem handled by the projector? Hint: viewers think that they are seeing the movie at a rate of 48 frames per second.

B. A developer has proposed putting a wind farm into the ocean in Nantucket Sound. News Story . If approved, there will be 170 towers, each 465 feet tall. Your family has a house on Craigville beach, 6.2 miles from the proposed site. You're worried about the effect that this farm will have on your view (and property value!). You would like to create a realistic rendering of what the view will be like after the wind farm has been built. What do you have to model and render to accurately create this scene? Be specific in your answer both about what you have to include and how you would model/render it.

5% extra credit on this assignment if you provide a realistic rendering.

2. Hierarchies

In a two-dimensional context, consider an (incredibly simplified) scheme to model a leg in three pieces--upper leg, lower leg, and foot. Assume three functions, one to draw each piece. Let's call them DrawUpperLeg, DrawLowerLeg, and DrawFoot. Each of these draws its respective piece with the uppermost joint (only joint, in the case of the foot) located at the origin, aligned such that the "top" is facing in the positive Y direction and the "front" is facing in the positive X direction. Thus, the two leg pieces will be drawn with their lengths lying along the Y axis, facing in the positive X direction, and the foot will be drawn with its length lying along the X axis, toes pointing in the positive X direction.

Our goal is to draw the leg, connected in a proper manner, with its "hip" (the uppermost joint of the upper leg) fixed at the origin, given arbitrary rotations of its joints.

We will assume six variables in order to facilitate this. The first three will be called U, L, and F, and are assumed to contain the lengths (from joint to joint in the case of leg pieces, from joint to toe-tip in the case of the foot) of the upper leg, lower leg, and foot, respectively. The next three will be called u, l, and f, and will contain angles of rotation for the uppermost joints of the upper leg, lower leg, and foot, respectively. In other words, we can say that u is the rotation of the "hip," l is the rotation of the "knee," and f is the rotation of the "ankle." When all three of these variables are set to zero degrees, the leg will be drawn in a vertical standing position. A positive increase in angle indicates a clockwise rotation of the corresponding piece about its uppermost joint. For example, l = 0 degrees will always result in a straight knee, no matter how the other joints are rotated, and l = 45 indicates an anatomically possible rotation.

a. Given the above variables, use some combination of rotation and translation to derive three transformation matrices:

b. Describe (in English) the process of drawing the entire leg, in terms of the drawing functions and your three transformation matrices.

c. Derive a single transformation matrix for the foot relative to the "absolute" origin which was present before any applied transformations. In other words, determine the matrix which will move the foot into its correct position and orientation in the coordinate system evident to the viewer, given some configuration (values of U, L, F, u, l, and f) of the leg.

d. Test your answer to part c! Assume U = 16, L = 15, F = 7, u = -90 degrees, l = 90 degrees, and f = 45 degrees. Where does this transformation move the points (0, 0) and (7, 0)? Does this make sense? [note that this was (0, 7) originally--our error]

Note: Your answers to parts a and c should be single matrices (not products of matrices) expressing two-dimensional affine transformations, in terms of the six variables listed above. Please show your work and be clear as to what steps you are taking.

This problem involves a significant amount of algebra, particularly in part c. So that your time may be spent thinking rather than debugging a huge expression, you are permitted to use a symbolic calculator or computer program such as matlab, Maple, or Mathematica to perform matrix multiplication. Please make sure to list in your derivation the unmultiplied matrix expression followed by the product itself so that we can see what you are doing

3. Focal length and viewpoints

A. The focal length of a camera lens is the distance from the center of the lens to the point at which parallel rays of light will all be focused. For a pinhole camera, the focal length is the distance from the pinhole to the film plane. The dimensions of a frame of 35-mm film are about 24mm x 36mm. Assuming that the human visual system has an angle of view of 90 degrees, what focal length should we use with 35-mm film to achieve a natural view?

B. You are trying to create a view of the Empire State Building in New York, as viewed by a person standing on ground level in front of the building. The dimension of the building are 1,472 feet (448 meters) x 424 feet (129 meters) x 187 feet (56.9 meters). Assume the person to be standing on the imaginary line through two opposite corners, at about 100 feet (30 meters) from the nearest corner of the building. What type of perspective would you use? Determine the right parameters for the perspective and the camera position such that the whole building appears nicely on the screen. Give the necessary OpenGL function calls to set up the perspective and camera position.