Final Study Guide, CS354 Spring 2013


I.  Transformations, Matrices and Geometric Modeling


Clipping and intersections - determining what is in the viewable region, half-space tests (lecture 8)


Projection matrices - orthographic vs. perspective transformations, what does each transformation mean conceptually? (lecture 8)


Affine transformations - 2D or 3D, translation, scale, rotate, sheer, be able to recognize affine transformations in matrix form or equation form (lectures 5-7)


Modelview matrices - performing transformations in turtle graphics and transformations of fixed points, be able to do both (lecture 8)


Viewport transformations - transforming coordinates from modelspace to screenspace (lecture 8)


Geometric modeling - glut objects vs. user-modeled objects, surfaces of rotation, 3-D extrusions, difference between modeling a surface vs. modeling a volume, triangulation, quadrilaterlization, Barycentric coordinates, be able to sketch a scene if you are given the viewpoint and the location of objects in world coordinates (lecture 2-4,10)


Matrix Operations - practice matrix multiply, matrix add and subtract (lectures 5-6)



II. Fractals, Subdivision, and Recursion


Fractals - fractal dimension, know what the more common fractals look like (i.e. Koch snowflake), know how to write and interpret an L-system (axioms and rules) (lecture 9)


Curve and Surface Subdivision - Four-Point, Doo-Sabin, Catmull-Clark, Loop, be able to perform each if the rules are given, know what happens to curves and surfaces when subdivision schemes are repeatedly applied (lectures 10-12)



III. Lighting Models and Ray Tracing


Color models - RGB, CMY, YIQ, know the basic differences between each (lecture 13)


Polygon Shading - Gouraud shading vs. Phong shading, know how to perform both (lectures 14-15)


Lighting Models - ambientLambertian (diffuse), Phong (specular), know how to perform all three (lecturs 14-15)


Ray tracing - how is it different from z-buffer?  what effects are easier to implement in a ray tracer? know about all the steps in a simple ray tracer (i.e. Project 4), such as how to generate the initial rays that originate from the eye, how to calculatate sphere / ray intersection, and how to calculate plane / ray intersection, how to generate reflection and refraction rays, and the differences between point lights and directional lights (lecture 16)


Vector Operations - practice add, subtract, dot product, cross product, scalar product, find length, find direction, normalization



IV. Miscellaneous Topics


Radiosity - what is the goal of radiositywhat are form factors?  be able to do simple form factor algebra problems (see Illumination V lecture) (lecture 17)


Texture mapping - how is texture mapping performed? how is bump mapping related to texture mapping?  be able to map simple textures using OpenGL calls (lectures 18-19, 22)


Visibility algorithms - back-face culling, painter's algorithm, z-buffer, advantages and disadvantages of BSP trees over z-buffer (lecture 20, 23-24)


Anti-aliasing - why is it needed?  in general, what algorithms are used to address the problem? (lecture 21)



V. Other Course Material


Projects - look over any questions or concepts you did not understand and compare with the posted solutions


Midterms - look over any questions or concepts you did not understand and compare with the posted solutions