NAME: ____________________________________
EMAIL:______________________ RIN:______________
Rensselaer Polytechnic Institute, Troy NY USA
ECSE-4750 Computer Graphics Fall 2007
Midterm Exam, 11 Oct 2007 2-3:20
Answer every question. All questions have equal weight. There are 31 questions.
This exam is open book: you may use any paper books and notes that bring with you. You may not use computers or communication devices, or share material with other students.
- _____/1 What do the contrasting stories of the Brooklyn Bridge
and the Quebec Bridge teach us?
- _____/2 Processing objects 1-by-1 with a graphics pipeline has a
major advantage and also a major disadvantage. Name them.
- _____/1 What is the name of the operation to remove objects that
are outside the view volume?
- _____/1 Does a circle always remain a circle after perspective
projection? Give a reason; not just yes/no.
- _____/1 Why do we want to make translation into a matrix multiplication?
- _____/1 Why does OpenGL contain primitives, like triangle strips,
that are not necessary (since you could draw the triangles
separately)?
- _____/1 Why do we consider color to have three dimensions, such
as RGB? There are an infinite number of visible wavelengths.
- _____/1 With additive color, the phosphors can emit reasonably
saturated colors. However, with subtractive color, the inks
always reflect a broad range of colors; never only a narrow
band. Even if it were possible to manufacture a saturated ink,
it would not be used. Why?
- _____/1 An important part of any design is deciding what to omit.
Name something that OpenGL chose not to include that is
necessary for graphics. That is, it must be implemented
somewhere else in the OS. It is something included in many
competing graphics systems.
(There is more than one right answer; anything reasonable is ok).
- _____/1 What is the event loop?
- _____/1 What does this do:
glClear(GL_COLOR_BUFFER_BIT);
- _____/1 Why does OpenGL not allow you to give it a concave polygon?
- _____/1 What does GL_FLAT mean? In other words, what is flat
shading and how do you specify the colors?
- _____/1 If you don't want to use the entire window for your
image, what subroutine do you call?
- _____/1 What does this do:
glMatrixMode(GL_MODELVIEW);
- ____/1 Since the mydisplay routine takes no arguments, how do you
get data from the main program to it?
- _____/1 What's the quaternion representing a rotation of 180
degrees about the axis (0,0,1)?
- _____/2 Use the quaternion formulation to rotate the point
(1,0,0) by 180 degrees about the axis (0,0,1).
- _____/2 Use the vector formulation to rotate the point (1,0,0) by
180 degrees about the axis (0,0,1).
- _____/1 What callback handles mouse motions made with a button pressed?
- _____/1 What is an OpenGL fragment?
- _____/1 Fill in the 15 missing entries to give a 4x4
homogeneous matrix that executes a translation by (1,2,3).
{$ \left(\begin{array}{cccc} . & . & . & . \\ . & . & . & . \\. & . & . & . \\. & . & . & 5 \\ \end{array}\right) $}
- _____/1 What's the advantage of using XOR to write a cursor into
the color buffer?
- _____/1 How would you rotate about a point that is not the
origin? In other words, what three simpler operations would you
combine to do this?
- _____/1 Prove that these 3 2D vectors are linearly dependent:
(1,1), (1,2), (9,10).
- ____/1 Vector multiplication is quite weird; it is the only type
of math that you are likely to see that is not associative
under multiplication. That is, in most cases,
A x (B x C) != (A x B) x C
Give me an example of this, where A=(1,0,0). Don't just write
down B and C. Also write down BxC, Ax(BxC), AxB and (AxB)xC.
- ____/1 How does the display list reduce traffic on the network?
- ____/1 What's the normal to the plane x+2y+3z=4? Your answer
should be normalized.
- ____/2 Give 4 advantages of homogeneous coordinates.
- ____/1 What is OpenDX?
- ____/1 Give two reasons that OpenDX is widely used.
End. Total: 35 points