**Math 155A - Computer Graphics - Winter 2001
Final Exam Study Topics**

__Final exam:__ Saturday, March 24, 11:30-2:30.

Review session: Tuesday, March 20, 7:00-8:00pm, APM 7421

This is an outline of the topics that can potentially be on the final examination. I
have tried to make it complete, but may have missed some topics that could show up on the
exam. Basically, any topics covered in class may possibly appear. You will not be expected
to memorize **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, glTranslate3f, glScalef**), and
their two-dimension analogues, (**pglRotatef, pglTranslate2f, pglScale2f**),
and **glPushMatrix** and **glPopMatrix.**

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

Matrix representations. Homogeneous coordinates. Matrix representations in homogeneous coordinates.

**OpenGL**commands. The ModelView and Projection matrices.

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

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

Projective space. Points and line at infinity.**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**m, s, v, r**vectors. The**h**vector (halfway vector) and its purpose. Directional and positional lights. Data values (material and light properties) that must be specified for the Phong reflection model.**Pixelization.**Gouraud 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**. (You do not need to know how to invert bilinear interpolation.)**Parametric surfaces and level surfaces.**How to compute their normal vectors.**Texture Mapping.**Assigning texture coordinates to common surfaces such as spheres and tori. Assigning texture coordinates to a parametric surface such as a Bezier patch. Bump mapping. Environment mapping.**Bezier curves.**Degree 3 and general degree. Emphasis on degree 3 curves. Definitions. Blending functions. de Casteljau method. Derivatives at endpoints. Ability to draw free-hand sketch of Bezier curve based on control points. C^{1}-continuity and G^{1}-continuity. Recursive subdivision. Convex hull property. Variation diminishing property. Strategies for stopping recursive subdivision. Hermite curves.**Bezier patches.**Definition. Recursive subdivision. G^{1}-continuity. Sufficient conditions for G^{1}-continuity.