##
CS 248: Introduction to Computer Graphics

##
Pat Hanrahan

### Description

This course provides a broad overview of the basic concepts of
computer graphics. Both 2d raster graphics and 3d graphics will
be covered.
Topics from raster graphics include color theory,
tone reproduction, quantization, dithering and halftoning,
basic signal processing and sampling,
aliasing and antialiasing algorithms,
and scan conversion of lines and polygons.
Topics from 3d graphics include
projective geometry,
representations of curves and surfaces,
modeling and viewing transformations,
hidden surface removal algorithms, reflection models
and illumination algorithms.
In addition the general features of graphics hardware and
system architectures will be covered.

### Requirements

In addition to regularly scheduled readings,
the workload for this course consists of four
programming assignments and two exams (a midterm and a final).
The programming assignments will count 60% and the exams 40%
of the final grade.

### Prerequisites

CS 248 assumes no prior knowledge of computer graphics.
However, most students taking CS 248
have had some exposure to graphical user interfaces and interaction techniques,
usually through CS 108.
We assume solid programming skills in C (or C++) on a UNIX workstation
and a knowledge of basic computer algorithms and data structures.
We also assume a basic knowledge of calculus and linear algebra
(one college-level course of each), and
basic familiarity with 2D and 3D geometry.
Exposure to digital signal processing or Fourier analysis is useful,
but it is not required.

hanrahan@cs.stanford.edu

**Copyright © 1996 Pat Hanrahan**