Version of 8/21/2001. Subject to revision. This review will be accessible,
along with the previous tests in this course, at:
http://www.ccs.neu.edu/home/futrelle/teaching/com1370sm2001/tests/
Some of the following questions will appear, verbatim, on the Final Exam. Other questions will be variations on some of the questions below. All questions on the Final will be closely related to the topics in the questions below.
Example question 1.
Assume that the following control points are used for a cubic Bezier curve:
P0 = 0,0; P1 = 30,10; P2 = 0,10 and P3 = 10,0. Sketch this arrangement of points reasonably accurately and then draw your best estimate of the Bezier curve that would result from the points in the order given.
The weights for the four points are, in order, (1 - u)3, 3u(1 - u)2, 3u2(1 - u) and u3. What point would this generate for u = 1/2? Does your curve go approximately through this point? Does it lie within the convex hull, as it should?Example question 2.
A typical operation in 2D interactive graphics is to zoom a graphic around a point selected by the user's mouse click. This can be accomplished by translating that point to the origin, scaling the image and then translating back. Assuming the scaling matrix S has the form shown, compute the composite matrix C for the full transformation based on the mouse point mx,my.
Consider the specific example in which mx=10 and my=10 and sx = sy = 2. What should happen to a point x,y=12,10 in this case? Is this what your composite matrix produces when applied to such a point (to the corresponding vector)?
Example question 3.
Write out the algebraic details of the DDA algorithm (digital differential analyzer) for line drawing. Be clear which values need to be floating point and how integer values would also be involved. Remember: This is an iterative algorithm.
Compute the pixels to plot using your equations for a line from 2,1 to -1,7. (You'll find it convenient to do your computations using values of the form 1/4, 1/2, 3/4, 1/3, 2/3, or whatever is appropriate.)
Example question 4.
In the 3x3 gray-level image below, the numbers in each pixel are the brightness values of that pixel. It is a "low-contrast" image because it has a preponderance of values in the mid-range, 3, 4 and 5. Construct an alternate lookup table that will raise the contrast of the image by mapping these intermediate values to a wider range of output values. Various values may be omitted or merged in this process, depending on the details of your design. Then draw the new 3x3 image with the values that would result from using the new lookup table you have designed.
Example question 5.
For the polygon below, construct the (sorted) edge table that would be used for scan-line filling, showing all entries attached to each element of the table. (Ignore the splitting of vertices that would be required in an exact treatment.) The vertices are labeled A, B and C for convenience. Your entries should have numerical contents computed from the segment endpoints, not symbolic contents.
Example question 6.
Assume the following geometry for an illumination situation: The surface S faces the viewer, with N = [0,0,1]. The light source vector L has components [3/5,0,4/5].
First, verify that the vector L is a unit vector.
Then assume the following reflectivity values of S for the three color components: kR = 3/4, kG = 1/2 and kB = 1/4. Assume that the light source a L is white, with intensity 100 for each component. Using this, compute the reflected intensity for each of the three components using the inner product (cosine) law for diffuse reflection.
Example question 7.
Draw two connected Bezier curves such that they are joined end-to-end and their slopes are equal at this joining point. Show the control points for the first curve as P0, P1, P2 and P3 and for the second as C0, C1, C2 and C3. Describe how you've arranged the control points to satisfy the joining and slope conditions.