ECS 175 -- Computer Graphics
Fall Quarter, 2009
Computer Graphics is the illustration field of Computer Science. Its use today spans virtually all scientific fields and is utilized for design, presentation, education and training. Computer Graphics and its derivative, visualization, have become the primary tools by which the flood of information from Computational Science is analyzed.
The effective construction of three-dimensional computer-generated illustrations is not only a computer science problem, it is a problem that involves other fields as well. For example, It depends heavily on mathematics for its geometric basis and computational algorithms, and it depends on Physics for its principles of geometric optics (the reflection of light from surfaces determines the displayed color of the surface). It is also the study of a field that provides methods by which illustrations can be generated by others. Thus it provides a feedback mechanism to the problem solver -- the illustration.
In this way, it is unique in the computer science discipline. Computer Graphics is utilized by a wide variety of fields -- including computer science -- as a tool to assist in the problem solving aspects of the field.
The primary objective of this course is to have -you- learn the basic principles of 3-dimensional computer graphics. Thus, we will study the elementary mathematics techniques that allow us to position objects in three dimensional space. We will study the geometric optics necessary to determine how light bounces off surfaces. But, most important, we will study ways to utilize a computer system and methods to implement the algorithms and techniques necessary to produce basic 3-dimensional illustrations. These topics will include the following:
transformational geometry -- utilizing transforms to positioning and manipulate objects in 3-dimensional space. This includes the positioning of virtual cameras and light sources.
hierarchical modeling of complex objects -- utilizing data structure techniques and transformational geometry to define complex objects.
rendering of complex models -- accurately drawing illustrations of complex objects with arbitrary camera and light sources.
shading algorithms -- determining how a surface should be shaded to produce realistic illustrations.
Curves and surfaces -- methods for rendering and shading curved objects
To understand these principles of computer graphics requires not only study of the literature, but experimental work on a graphics system. Therefore, as part of this course, the students will design and implement a substantial computer graphics system/project and will generate some complex illustrations with this system.
This course is not a discussion of standard graphics systems, nor experimentation with canned packages. It is not a tutorial on PHIGS, GKS, Wavefront, XAOS, RenderMan, ALIAS, Powerpoint, PEX, Paint, Animator, or any other package. We will focus on the fundamental algorithms of computer graphics from which all these other packages are derived.
All contents copyright (c) 2009
Computer Science Department, University of California, Davis
All rights reserved.