3 Cr. (Hrs.:3 Lec.)
This is a programming and math intensive course which develops the fundamental concepts and algorithms used in computer graphics from first principles. Prerequisite: CSCI 332 and M 333 (2nd)
Course generally offered spring (2nd) semester.
E1. The student should have a solid understanding of trigonometry and linear algebra (M 333).
E2. The student should be able to program fluently (CSCI 332).
R1. Students understand the conceptual framework for graphics applications and can organize program code within that framework.
R2. Students are proficient in using a graphics API to write programs for graphics applications, including image generation and manipulation.
R3. Students understand different input and output graphic devices and can explain the differences between vector and raster displays.
R4. Students can write code to perform geometric transformations (translation, rotation, scaling) and understand the role of coordinate systems in these transformations.
R5. Students understand the algorithms for, and are able to write code for, generating lines, curves and polygons, and filling polygonal shapes.
R6. Students understand and can use different lighting models.
R7. Students understand projection of 3D images onto a 2D plane, including camera models and subsequent 3D viewing.
R9. Students understand algorithms for hidden line and surface removal.