**Math 155 - Computer Graphics
Final Exam Study Topics**

This is an outline of the topics that can potentially be on the examination. I have
tried to make it complete, but some topics may be omitted from the list. Basically, any
topics covered in class may possibly appear on the exam. You will not be expected to
remember **OpenGL** command syntax, but you should know the basic command
functionality. The main **OpenGL** commands you are responsible for are the
matrix transformation commands (**glRotatef, glTranslatef, glScalef**).

Items 1-5 were already on the midterm, but could also appear on the final examination.

**Linear and affine transformations in 2-space and 3-space.**Linear maps, rigid maps, orientation-preserving maps. Rotations, translations, generalized rotations (in 2-space).

Matrix representations. Homogeneous coordinates.

**OpenGL**commands.

Dot products, cross products. Projecting a vector onto a (unit) vector. Computation of the rotation matrices in 3-space.**View transformations.**

Orthographic and perspective transformations. Perspective. The use of z-buffers for hidden surface calculations. The A+B/z "fake" distance and its purpose. How are the values of A and B chosen? Interpolation of z-buffer values.

Projective space. Points and line at infinity. Spherical representation of projective space.**Reflection models.**

Phong reflection model. Superposition principle and independent treatment of different frequencies. Multiple light sources. Ambient/diffuse/specular reflection and how they are calculated in the Phong reflection model. Formulas for the Phong reflection model. The properties and meanings of the**N, L, V, R**vectors. The**H**vector and its purpose. Directional and positional lights. Data values (material and light properties) that must be specified for the Phong reflection model.

The Cook-Torrance model will not be on the midterm.**Polygonalization.**Gourad interpolation. Phong interpolation. Advantages and disadvantages of each.

**Interpolation.**Linear interpolation between two points, between three points. Barycentric coordinates. Calculating a point from its barycentric coordinates and vice-versa.

Bilinear interpolation.**Texture mapping.**Parametrically defined surfaces (

**u,v**or**s,t**coordinates). Copying an image with change in position, size or resolution -- need to use the "come-from" or "preimage" method. Texture maps, aliasing problems, level of detail, mipmaps, blending and averaging to avoid aliasing and mipmap discontinuities.

Bump maps.

Environment maps.**Beziér curves and surfaces.**Control points and interpolation points. Cubic Beziér curves, basis functions (also called blending functions) are the Bernstein polynomials, convex hull, initial and ending tangents to Bezier curves. De Casteljau represetation. Beziér curves of higher degree. Affine invariance. Recursive subdivision. Geometric continuity. Geometric G

^{1}-continuity and usual C^{1}-continuity.

Beziér patches. Affine invariance. Recursive subdivision. Ensuring geometric continuity and geometric G^{1}-continuity.

The vector space of degree 3 polynomials.

Hermite curves.