CS 481/681 Advanced Computer Graphics, Spring 2004
Take-Home Final Exam

	Name 		

This exam is to be done individually. It is due, in paper form, STAPLED, at 1 p.m. on Wednesday, May 5, 2004. The exam is worth 100 points. 9 pages, 12 problems.

You may fill out the exam either electronically or by hand (or a combination of the two). In either case, PRINT the exam and turn in a paper copy. If you fill out the exam electronically, do not change the page breaks. If you need more space, you may attach additional pages.

You may use any reference you like: books, notes, web pages, etc. However, the exam you turn in must be your own work; you may not discuss solutions with other people in the class.

1. [10 pts total] The Mandelbrot Set.
1a. [5 pts] What, exactly, is the “Mandelbrot Set”?

1b. [5 pts] Describe one method for drawing the Mandelbrot Set.

2. [14 pts total] Ray Tracing. 
2a. [5 pts] Briefly describe how scenes are rendered with ray tracing.

2b. [2 pts] When we include a certain type of object in a ray-traced scene, what do we need to know about that object? (Put another way, if we implement this object type as a class, what, at a minimum, does this class need to be able to do?)

2c. [2 pts] What is the number one problem with ray tracing? (Why don’t we just use it all the time?)

2d. [5 pts] Give a problem (other than the “number one problem”) that often occurs in simple ray tracers, and describe a solution.

3. [7 pts total] Anisotropic Reflection. 
3a. [3 pts] What is “anisotropic reflection”?

3b. [2 pts] Name three materials (or types of objects) whose light reflection properties are significantly anisotropic.

3c. [2 pts] What concept (call it a “technique” if you want) is often used when rendering objects that reflect light in an anisotropic manner?

4. [3 pts] Fractal Dimension. Suppose we are drawing a recursively defined turtle fractal. We advance a “level” by beginning with a line segment (of length s, say), separating it into 4 parts (each of length s/4), and replacing these by 5 segments of length s/4. What is the fractal dimension of this curve? You may assume the curve never runs into itself.

5. [5 pts] Chaos & Unpredictability. Chaotic systems are often said to be “unpredictable”. Nonetheless a deterministic system can be chaotic (a system is deterministic if its output is completely determined by its input; thus, deterministic systems are those whose outputs can be predicted with 100% accuracy). What, then, do we mean when we say a chaotic system is “unpredictable”?

6. [5 pts] STL Format & RP. The STL file format is used almost universally when specifying objects to be built by RP devices. List one way in which the STL format is well designed for this task and two ways in which it is poorly designed for this task.

7. [13 pts total] IFS’s.
7a. [5 pts] What does “IFS” stand for, and what does this mean?

7b. [2 pts] In the context of IFS’s, what is an “attractor”?

7c. [1 pts] What does it mean to say that an attractor is “strange”?

7d. [5 pts] Describe one method for drawing (an approximation of) a strange attractor.

8. [12 pts total] Particle Systems.
8a. [5 pts] What is a “particle system”?

8b. [2 pts] List three graphical effects that are produced using particle systems.

8c. [5 pts] In the context of particle systems, we discussed various methods for solving differential equations, some fancier than others. Why might some of the fancier methods be necessary?

9. [10 pts total] Implicit vs. Explicit.
9a. [2 pts] What is one advantage of implicit surface descriptions over explicit descriptions?

9b. [2 pts] What is one advantage of explicit surface descriptions over implicit descriptions?

9c. [6 pts] Describe a method for rendering an implicitly defined surface.

10. [7 pts] Scene Descriptions. List three methods of representing a scene and indicate under what circumstances you might use each method.

11. [7 pts] GLUT vs. VRJ. We have discussed two libraries for handling the overall structure of a CG program: GLUT and VR Juggler. These libraries have significant differences, many of which exist for good reasons. Name two such differences, and indicate why they exist.

12. [7 pts] The Future of Rendering. In this class we have covered well established, “typical” methods of rendering scenes. However, there are many forces, both social and technical, that may change the way rendering is typically done in the future. How do you think rendering will change in the future (say, the next 20 years). Justify your position. (Note: I am not looking for “the correct answer” here, but rather a reasonable, well-thought-out justification of your position.)