.. title: CG ECSE-4750 Computer Graphics Final Exam, RPI, Mon 2019-12-16
.. slug: finalexam
.. date: 2019-12-16
.. tags: exam
.. category: 
.. link: 
.. description: 
.. type: text
.. has_math: true


Name, RCSID: ::

 .




 .

   
Rules:

#. You have 180 minutes.
#. You may bring in two 2-sided 8.5"x11" papers with notes.
#. You may not share material with each other during the exam.
#. No collaboration or communication (except with the staff) is allowed.
#. There are thirtytwo questions.  Check that your copy of this test has all the pages.
#. Each question is the same weight: five points.

Questions:


#. Name two major features that were present in the previous major version of OpenGL that were removed from the current version.


   ::
 
	.


	
	

	.


#. What is the Mach band effect in the retina?
   
   ::

	.


	


	.

#. What technical advance enabled frame buffers?

   ::
 
	.


	


	.

#. Give an application of the vector triple product in computer graphics.

   ::
 
	.


	


	.

#. What is the tristimulus model?

   ::
 
	.


	


	.


#. In class we said that LCD displays combine pixels that emit three colors: red, green, and blue.   However some experimental displays now have four colors; they also have yellow.   Why do you think researchers are experimenting with these displays? I said that combining red and green gives yellow, and so having a yellow emitter shouldn't add any new capability?
   
   ::
 
	.


	


	.

#. What does the javascript function window.alert do?

   ::
 
	.


	


	.

#. What is the physical principle underlying LCD?

   a. Fire an energetic electron at a rare earth atom and a photon of light is emitted.
   #. Plowing your family farm as a kid can suggest an way to invent electronic television.
   #. A solution of corkscrew shaped molecules can rotate polarized light.
   #. Putting your finger close to a capacitor can change its capacitance.
   #. If two coils of wire are close, then an alternating current in one can induce a current in the other.



#. What is different about the wavelength of pure purple compared to pure red, green, or blue?

   ::
 
	.


	


	.


#. Imagine that you're designing the specification of a picking routine.   You're thinking about what to return when the user picks a particular pixel on the screen.  Why is returning the line of code that colored that pixel insufficient?

   ::
 
	.



	
	


	.

#. Double buffering solves which problem:
   
   a. producing stereo images
   #. low memory bandwidth
   #. remote debugging PCs
   #. displaying from a frame buffer while it's being updated
   #. optimizing scheduling two elevators as a group


#. Homogeneous coords have several advantages compared to cartesian coords.  Give three.


   ::
 
	.


	


	
	


	.

#. What is one disadvantage of homogeneous coords compared to cartesian?  (This takes creative thinking since we didn't mention it in class).


   
   ::
 
	.



	
	


	.

#. Generally in engineering, when several solutions to the same problem exist, each is sometimes the best.  This question is about 3D rotation.   (i) What is particularly good about the *vector* formula?  (ii) What is particularly good about the *matrix* formula? (iii) What is particularly good about *Euler angles*?

   ::
 
	.






	
	


	.
   
     

#. What type of vertex shader variable has the same value for each vertex?

   a. uniform variable
   #. varying variable
   #. constant variable
   #. variable constant
   #. lighting variable


#. Does the view normalization transformation preserve straight lines, angles, both, or neither?

   ::
 
	.



	
	


	.
   
     
#. Quaternions:   simplify  (i+j)k.

   ::
 
	.



	
	


	.
   


#. What is the purpose of v1 in this line of code?

    var v2 = gl.getAttribLocation( program, "v1" );



   ::
 
	.



	
	


	.
   


   ::
 
	.



	
	


	.
   


#. If a 3x3 rotation matrix has eigenvalues :math:`1, -\frac{\sqrt{3}}{2}+\frac{1}{2}i, -\frac{\sqrt{3}}{2}-\frac{1}{2}i`, then what is the rotation angle (in degrees)?


   ::

	.






	.

   
#. Give me a matrix M that has this property: for all vectors p, :math:`Mp = \begin{pmatrix}1 \\ 3 \\ 4\end{pmatrix} \times p` .


   ::

	.






	.


#. What is the normalized surface normal to the plane x+2y+3z+4=0?

   ::

	.






	.

#. What is the difference between *Gouraud* shading and *Phong* shading?

   ::

	.






	.

#. What is *mipmapping*?  What problem does *mipmapping* solve?

   ::

	.






	.


#. Beer companies sometimes hand out free cardboard glasses, which have a simple grey filter over one eye.  When you watch a commercial with them, you see, sort of, a stereo effect.  What property of your vision is this exploiting?

   ::

	.






	.

   
#. What does it mean to separate the geometry from the topology?
   

   ::

	.






	.

#. Name the best visibility algorithm when frame buffers are too expensive or too slow.


   ::

	.






	.

#. What type of hardware was the Bresenham algorithm designed to be efficient on?

   
   ::

	.






	.

#. Why do you need at least cubic degree for splines, i.e., why is quadratic too low?
   
   ::

	.






	.


#. What does *local control* mean when designing with splines?

   ::

	.






	.

#. Name one thing that is omitted from WebGL but that is in full OpenGL.

   ::

	.






	.

#. When designing a spline curve, how do you deliberately reduce the degree of continuity at a joint?


   ::

	.


	





	.

#. Why is there now a movement in CAD away from NURBS and back to using just lots of little flat triangles?


   ::

	.






	.
   
