General Guidelines for Computer Graphics | CMSC 427, Exams of Computer Graphics

Material Type: Exam; Professor: Jacobs; Class: Computer Graphics; Subject: Computer Science; University: University of Maryland; Term: Spring 2005;

Typology: Exams

Pre 2010

Uploaded on 02/13/2009

koofers-user-9n7-1
koofers-user-9n7-1 🇺🇸

5

(1)

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Practice Final
CMSC 427
Distributed Tuesday, May 10, 2005
Final: 8:00 AM Monday, May 16, 2005
General Guidelines: The final will focus on topics that have been discussed in class. I
will not ask questions about material from the text book that has not also been discussed
in class or in a problem set. However, there will be no questions about OpenGL or
programming problems. You will be expected to know some basic equations, but
nothing very obscure. I’ll try to indicate below the key equations you should know.
The final will be closed book, with no notes or calculators. This means that problems
should not require the use of a calculator; if you feel you need one when you are doing a
problem this probably means there is an easier way to do the problem.
The final will be comprehensive. It will focus more (about 3/4 emphasis) on the material
covered since the midterm, but you are still responsible for knowing basic stuff from the
first half of the semester.
Topics and things to know about them:
1. Geometry (needed for problems on the next two topics)
a. How to take an inner product, and what this does.
b. How to take a cross product, and what this does.
c. What a unit vector is, and how to find the magnitude of a vector.
d. How to write the equations for a 3D line, or for a plane in 3D.
2. Transformations
a. How to write rotation about the x, y, or z axis as a matrix.
b. How to write translation as a matrix.
c. How to combine these. For example, rotate about a point not at the origin.
d. How to rotate or translate a line.
e. How to relate the rows of a rotation matrix to the axes of a new coordinate
system
This includes writing the coordinates of points relative to a new coordinate
system.
3. Projection
a. Perspective projection
i. How to find the image coordinates of a 3D point
ii. Some consequences of that, such as properties of vanishing points,
knowing when a line in 3D does not project to a line in the image, …..
b. Orthographic projection
i. How to find the image coordinates of a 3D point.
ii. Consequences of orthographic projection, such as that it preserves
parallelism and ratios of areas.
4. Discretization
a. How to represent a line with pixels.
pf3
pf4

Partial preview of the text

Download General Guidelines for Computer Graphics | CMSC 427 and more Exams Computer Graphics in PDF only on Docsity!

Practice Final CMSC 427 Distributed Tuesday, May 10, 2005 Final: 8:00 AM Monday, May 16, 2005

General Guidelines: The final will focus on topics that have been discussed in class. I will not ask questions about material from the text book that has not also been discussed in class or in a problem set. However, there will be no questions about OpenGL or programming problems. You will be expected to know some basic equations, but nothing very obscure. I’ll try to indicate below the key equations you should know.

The final will be closed book, with no notes or calculators. This means that problems should not require the use of a calculator; if you feel you need one when you are doing a problem this probably means there is an easier way to do the problem.

The final will be comprehensive. It will focus more (about 3/4 emphasis) on the material covered since the midterm, but you are still responsible for knowing basic stuff from the first half of the semester.

Topics and things to know about them:

  1. Geometry (needed for problems on the next two topics) a. How to take an inner product, and what this does. b. How to take a cross product, and what this does. c. What a unit vector is, and how to find the magnitude of a vector. d. How to write the equations for a 3D line, or for a plane in 3D.
  2. Transformations a. How to write rotation about the x, y, or z axis as a matrix. b. How to write translation as a matrix. c. How to combine these. For example, rotate about a point not at the origin. d. How to rotate or translate a line. e. How to relate the rows of a rotation matrix to the axes of a new coordinate system This includes writing the coordinates of points relative to a new coordinate system.
  3. Projection a. Perspective projection i. How to find the image coordinates of a 3D point ii. Some consequences of that, such as properties of vanishing points, knowing when a line in 3D does not project to a line in the image, ….. b. Orthographic projection i. How to find the image coordinates of a 3D point. ii. Consequences of orthographic projection, such as that it preserves parallelism and ratios of areas.
  4. Discretization a. How to represent a line with pixels.

i. Naïve algorithm ii. DDA algorithm b. How to fill a polygon. i. How to tell if a point is inside a polygon.

  1. Implicit function test.
  2. Crossing number test. ii. Flood fill algorithm. iii. Scan line algorithm
  3. Sampling and Aliasing a. Creating an image by sampling b. Aliasing – what it means, what causes it. i. Spatial ii. Temporal c. Anti-aliasing i. Smoothing ii. Supersampling and smoothing
  4. Texture a. Perlin noise algorithm b. A basic idea of how Efros and Leung’s texture synthesis algorithm works
  5. Color a. Superposition b. Color Spaces – CIE, RGB, CMYK, HSV. MIDTERM
  6. Collisions a. How to find the intersections of spheres, axial rectanguloids, triangles.
  7. Visibility a. Culling – Basic idea b. Painter’s algorithm i. For example, how to tell if a triangle 1 is in front of, or behind, the plane that contains triangle 2, and how knowing this might help you in the painter’s algorithm. c. Z buffer. i. Given the vertices of a 3D triangle, you should be able to figure out where they appear in an image (perspective projection), which 2D points are inside the triangle, and what their depth is. d. BSP Trees – The basic idea of the algorithm. See the problem below.
  8. Lighting – Reflectance a. Ambient – What does this mean? b. Lambertian -- Know the equation for Lambertian reflectance. c. Specular – i. Know the equation for Phong reflectance. ii. Know how to figure out the direction of mirror reflection.
  9. Shading – Know what the following mean. a. Gouraud b. Phong
  10. Ray Tracing

a. Suppose we look at this scene from the right side, instead of the left. Use the BSP tree to determine the order in which the triangles should be rendered. b. Construct a valid BSP tree starting with triangle 1 instead of triangle 3.

  1. Suppose we construct a model by taking a sphere centered at (10,0,10) with a radius of 2, and subtracting a cylinder. The cylinder is centered also at (10,0,10). It has a circular cross-section with a radius 1 when we slice it with a plane that has a constant z value (eg., if we intersect the cylinder with the z = 10 plane, we’ll have a circle centered at (10,0,10) with a radius of 1). The cylinder has a length of 5. Suppose we cast a ray from (0,0,0) in the direction (5,0,4). Will it intersect the model? If so, where?
  2. Suppose we construct a Bezier curve, using the control points (0,0), (1,1), (2,0). a. Give four points that lie on the curve. b. What is the tangent of the curve at its beginning and ending points?
  3. Suppose we construct a curve in the following way. We create a half circle starting at (0,0), passing through (1,1) and ending at (2.0), with a radius of 1. Then we connect this to a half-circle starting at (2,0), passing through (3,-3), and ending at (4,0), with a radius of 1. How smooth is this curve?
  4. Suppose you want to model the reflectance properties of a blue car. a. What reflectance model might you choose, and what parameters might you use? Why? You might want to limit yourself to using the models we’ve discussed in class (eg., Phong, Lambertian). b. Suppose you have a flat piece of blue car hood. You shine a light on the car from an angle of pi/4. Then you take a few pictures of the car from different angles. How might you use these images to determine what parameters you should use to model its reflectance? How many images do you think you would need?