C.S. 360 Special Topics: Computer Graphics

An introduction to interactive computer graphics, including: bit mapped graphics (low level routines), line drawing algorithms, circle generators, two-dimensional transformations, clipping and windowing, solid area scan conversion, graphics packages and hardware, three-dimensional transformations, and graphics animation.

Prerequisite: C.S.300 (Math 206 Helpful)
Professor: Douglas J. Ryan
Office: Strain 201
Office Hours: 11:00 - 12:00 M-F
Phone: 357-6151 x2335

Book(s): Computer Graphics The Principles Behind The Art and Science by Cornel Pokorny

Approximate Course Grading:

1) Programming Projects (250 pts)
2) 2 Midterms (200 pts)
3) 1 Final (100 pts)
4) Orals (50 pts)

Total (600 pts)

Percent Breakdown:

92-100 (A) 90-92 (A-)
87-90 (B+) 82-87 (B) 80-82 (B-)
76-80 (C+) 68-76 (C) 65-68 (C-)
62-65 (D+) 55-62 (D)
0-55 (F)

Program Grading:

1) 70% successful execution
2) 20% acceptable structure and style (no redundant code, looking for speed and efficiency)
3) 10% documentation

Policies:

1) A program can be turned in up to 48 hours late with a penalty of 20% of the program points. Any program turned in more than 48 hours late will not be accepted.
2) A program that does not successfully assemble/compile or produces no output loses 70%.
3) The instructor reserves the right to raise or lower a student's grade based on class participation and attendance.
4) To pass the course, you must attempt and turn in each assignment on or before the assignment's late date.
5) No early or late exams/finals will be given. Do not make early Thanksgiving/Spring Break or end of term arrangements.
6) Anyone caught cheating on any project, exam, or quiz will receive negative credit for the project, exam, or quiz. As an example, if a project was worth 20 points then a -20 would be recorded. A second occurrence of cheating results in an automatic "F" for the course.
7) Neither computer failure, software failure, nor lack of computer access are accepted as excuses for late programs; therefore, start work on the programs as soon as they are assigned, don't put them off until the last minute!!! Further, corruption of programs due to bad disk media is also not accepted as an excuse for late programs; therefore, always keep a current backup of all programs on a separate disk!!!

Tentative Course Outline

Chapter 1
(a) Mathematics review & overview
(b) Assembly language revisited

Chapter 2
(a) Bit-Mapped graphics (text, low resolution, and high resolution graphics)
(b) Discussion of structural line drawing algorithms
(c) Discussion of conditional line drawing algorithms
(d) Polygons and pattern fill algorithms

Chapter 3
(a) Discussion of circle generating algorithms
(b) Simple graphics packages
(c) Introduction to Object Oriented Programming
(d) Classes in C++

Chapter 4
(a) The mathematics of two-dimensional windowing
(b) Clipping algorithms for lines and polygons

Chapter 5
(a) Basic two-dimensional transformations
(b) The mathematics of concatenation of transformations
(c) Basic three-dimensional transformations

Chapter 6
(a) Perspective projections
(b) Three-dimensional windowing and clipping

Chapter 11
(a) Backface removal
(b) Hidden surface removal

Special Topics: Chosen from the remainder of the book
(a) Light and color
(b) Fractals
(c) Advanced hidden lines and surfaces
(d) Reflections
(e) Shading
(f) Shadows
(g) Ray Tracing

Final (December 12, 1995 (Tuesday); 12:00 - 2:30pm)


©1995 Douglas J. Ryan
Douglas J. Ryan/ryand@tardis.pacificu.edu