CG ECSE-4750 Computer Graphics Midterm, RPI, Thurs 2017-10-12

Name, RCSID:

.




.

Rules:

  1. You have 60 minutes.
  2. You may bring in one 2-sided 8.5"x11" paper with notes.
  3. You may not share material with each other during the exam.
  4. No collaboration or communication (except with the staff) is allowed.
  5. There are 18 questions. Check that your copy of this test has all the pages.
  1. (4 pts) Suppose that we have a plane in 3-D thru the points A(4,2,0), B(2,2,0), and C(3,1,0).

    1. What is its equation, in the form ax+by+cz+d=0 ?
    2. Consider the line L thru the points O(0,0,0) and P(1,1,1). Where does this line intersect the plane?
    .
    
    
    
    
    
    
    .
    
  2. (2) Which RPI grad was the technical person in the founding group of NVidia?

    .
    
    
    .
    
  3. (2) What hardware component had to get much cheaper in order to make frame buffers possible?

    .
    
    
    
    .
    
  4. (5) Part of changing from one coordinate system to another is scaling and making things fit. E.g., suppose that you had a square with lower left corner (llc) (0,0) and upper right corner (urc) (2,2). You want to scale and center it to just fit into a rectangle with llc (0,0) and urc (2,4). Find \(s, d_x, d_y\) in these formulae:

    \(x' = s x+d_x\)
    \(y' = s y + d_y\)
    .
    
    
    
    
    
    
    .
    
  5. (2) Putting certain corkscrew-shaped mocucules in an electric field stretches them out. What widely used graphics device exploits this?

    .
    
    
    
    
    
    
    .
    
  6. (2) Which of the following types of GLSL variables can be stored in constant memory in the GPU?

    uniform, varying, attribute.

    .
    
    
    
    
    .
    
  7. (2) If you do not tell OpenGL to do hidden surface removal, and two objects overlap the same pixel, then what color is that pixel?

    1. OpenGL throws an error.
    2. the closer object
    3. the farther object
    4. the first object to be drawn there
    5. the last object to be drawn there
    .
    
    .
    
  8. (5) Use the vector rotation formula to rotate the point (1,0,0) by 180 degrees about the axis (12,4,3).

    .
    
    
    
    
    
    
    
    
    
    .
    
  9. (2) In 2D, what is the complex number that corresponds to a rotation by 270 degrees?

    .
    
    
    
    
    
    .
    
  10. (2) What is gimbal lock?

    .
    
    
    
    
    
    
    .
    
  11. (2) What tool maps spectral colors into a human perceptual coordinate system? You use it to determine what one color a mixture of colors will appear.

    .
    
    
    
    
    
    
    .
    
  12. (2) What's a disadvantage of using a widely standardized API compared to a proprietary API?

    .
    
    
    
    
    
    
     .
    
  13. (2) This is a rotation matrix

    \(\left(\begin{array}{ccc} 0.07142857142 & - 0.6589265829 & 0.7488081981 \\ 0.9446408685 & 0.2857142857 & 0.1613101866 \\ - 0.3202367695 & 0.6958326704 & 0.6428571428 \end{array}\right)\)

    What's its determinant?

    .
    
    
    
    .
    
  14. (5) If \(\theta\) is the angle of rotation, what's \(\cos\theta\) ?

    .
    
    
    
    
    
    
    .
    
  15. (2) What does gl.bindBuffer do?

    .
    
    
    
    
    
    
    .
    
  16. (2) What does gl.uniform1f do?

    .
    
    
    
    
    
    
    .
    
  17. (5) Many programs we've studied have a line like this:

    var y = 2*(canvas.height-event.clientY)/canvas.height-1;

    This is necessitated because of something messy in the various coordinate systems these programs use. What?

    .
    
    
    
    
    
    
    .
    
  18. (2) What is GLSL used for?

    .
    
    
    
    
    
    
    .
    

End of midterm, total 50 points.