The test is open-everything with the sole limitation that you
neither solicit nor give help while the exam is in progress.
Do all work on these sheets. You have exactly four hours to work on this from the
time you look at the first problem.
Problem | You got | Out of |
1 | | 20 |
2 | | 20 |
3 | | 20 |
4 | | 20 |
5 | | 20 |
6 | | 0 |
7 | | 0 |
TOTAL | | 100 |
Problems 6 and 7 are extra credit, worth a maximum of 5 points each.
- A spaceship is flying parallel to the xz-plane at a height (y-coordinate) of 3 in the direction
<1,0,0>. It is currently at the position (0,3,5). It wants to land on a runway
whose center line stretches from (5,0,1) to (5,0,-11), and it wants to touch down
on the point (5,0,0). Describe the curve, using functional notion (i.e., remember
that a curve is a function from a single real number to a point), that will effect
this landing. HINT: For the x and z coordinates, think of a quarter of a circular
arc. For the y-coordinate, think of what the standard cosine curve looks like between
θ=0 and θ=π. Also note this problem is much easier if you can
sketch the scenario. I don't know if Wolfram Alpha will be helpful or not.
- A monitor has a display area measuring 20 inches by 15 inches with a resolution of
1440 x 800.
- What is the length of the diagonal of the display area, in inches?
- What is the SAR?
- What is the DAR?
- What is the PAR?
- Do the pixels show as "short and fat" or "tall and skinny"?
- If we wanted the PAR to be 1, what resolution would we require if we wanted 1080 pixel rows?
- In the previous part, what would the SAR be then?
- Let P = (2, 0, -5) and Q = (3, 3, 4). Suppose the projection matrix
has been modified with
glLoadIdentity();
gluPerspective(90.0, 1.0, 2.0, 10.0);
and that the modelview matrix is unchanged from its default
setting. To which points (in normalized device coordinates) are P
and Q transformed? Show your work by first indicating the frustum
produced by the gluPerspective()
call.
- Give a JavaScript script that will generate the following figure in an HTML canvas whose
id is "triangles". Your script must contain a local function called
triangle
that
is parameterized by color, which draws a triangle with vertices (-1,0), (1,0), and (0,1),
You must build the image by calling this function four times, using translate, scale, and
rotate functions to position each traingle appropriately. (Assume in the picture each
triangle is 50 css pixels "wide" and 75 css pixels "tall".)
- For the following fractal, circle the (first-level) self-similar components,
give the set of affine transformations that describe it,
give its fractal dimension.
- Extra Credit. Consider the transformation that turns the figure
ABC where A=(2,0), B=(2,-2), and C=(0,-2) into A'B'C' where A'=(15,0),
B'=(0,1) and C'=(-15,0). If this transformation is affine, give the
transformation, expressed as the composition of basic transformations.
If it is not affine, prove why it is not.
- Extra Credit. The advantage of parameterizing sphere and torus
drawing functions with both slices and stacks is obvious: the more of each you have,
the less you notice the polygonal approximation. But why do we need
to specify stacks for cones?