CS 4390
Computer Graphics

Winter 1999
College of Computing 101
MWF 12:05-12:55


Description

Introduction to computer graphics; hardware, algorithms, and software organization for computer graphics; two-dimensional and three-dimensional transformations; fundamentals of vector and raster graphics; programming projects implementing a subset of the above.

Instructor
Blair MacIntyre
blair@cc.gatech.edu
239 College of Computing
894-5224
Office Hours: 1:30-2:30 Wednesday and Friday (in 239 CoC)
Teaching Assistant
Wasinee Rungsarityotin
wasinee@cc.gatech.edu
Office Hours: 1:30-2:30 Monday, 2:30-3:30 Wednesday (in SGI lab)

Prerequisites

Newsgroup

Here's a link to the git.cc.class.4390 newsgroup.

Online Notes (for you to print before class)

In this section, there will be links to the notes that will be used in class. These files will be Adobe Acrobat files, which you should be able to view and print from a web browser that has the Acrobat plugin.

C2000 Online Notes

Here's a link to the automatically recorded notes from class. To access the notes, your user id is your name (in the format FirstLast) and your password is your student id number. Note that there is no audio or video recorded with the notes.

Textbook

Foley, van Dam, Feiner, and Hughes Computer Graphics: Principles and Practice (2nd edition in C) or
Foley, van Dam, Feiner, Hughes, and Phillips Introduction to Computer Graphics
Course notes will be available online, at least a day before each class. These will follow the lectures given in class.

If you are planning to take any other graphics course or are interested in Computer Graphics, you should buy the first book. If this is the only graphics course you will take, the second book is satisfactory.

Web page

The class will use the web, the class page will be located at
http://www.cc.gatech.edu/classes/cs4390_99_winter/

Grading

Grading will be based on

Programming Assignments

All programming assignments must execute on the Indy or O2 workstations in the SGI lab (room 130, CCB). You will write 4-5 programs for this course. All programs must be written in C. Documentation/code clarity will count as 20% of the grade for each program. The other 80% of the grade will be based on the program's ability to handle various requirements that will be specified when the assignment is given.

Compiling and executing without errors on the published test data is considered minimal competency for any program. Late programs will be penalized 25% per day late. Weekends count as two days. Programs that are more than 2 days late will not be graded.

You may discuss high-level design strategies and specifications of the assignments with other students in this class. However, your programs and homework are to represent your own work. All coding and detailed design decisions are to be made without consultation with others.

Here are some pointers to information that may be helpful in getting started:

Programming assignments count for 50% of your final grade. Most programming assignments require many hours of coding. Familiarity with C and programming on Unix workstations will be needed to finish the programming assignments. Do not start the night before, you will be late turning in your assignment.

Here are online version of the assignments that have been handed out so far:

Here are some sample solutions, selected from the assignments submitted. In general, we try to select samples that cover the basic assignments and the options.

Homework

There is no formal homework that needs to be turned in for this course. However, you are encouraged to use all of the practice problems in the course notes, as well as those linked to in the syllabus above, as review and extra practice.

 

Syllabus

A tentative syllabus for the class appears below. The practice problems are from a previous quarter and may contain some material not covered in our lectures. They are optional and for your benefit.

Date

Topic

Reading

Practice Problems

Jan 6

Introduction, Procedures

-

-

Jan 8

Introduction to OpenGL programming
First programming assignment

OpenGL notes

-

Jan 11

Graphics hardware

4 (Intro), 4.2, 4.4, 4.6

Problems
Solutions

Jan 13

Color & Vision

13.2-13.3.5, 13.5

Problems
Solutions

Jan 15

Color & Vision

13.2-13.3.5, 13.5

Problems
Solutions

Jan 18

Holiday

-

-

Jan 20

Drawing lines

3.1-3.2, 3.17

Problems
Solutions

Jan 22

Polygons
First programming assignment due
Second programming assignment

3.5-3.6, 13.1

-

Jan 25

2D Transformations

5.1-5.3

Problems
Solutions

Jan 27

Windows and Viewports

Clipping

5.4

3.11-3.14

Problems
Solutions

Jan 29

review

   

Feb 1

TEST 1

-

-

Feb 3

3D Mathematics

Third programming assignment

5.6-5.8

Problems
Solutions

Feb 5

3D Mathematics

Second programming assignment due

LAST DAY TO DROP

5.6-5.8

Problems
Solutions

Feb 8

Projections

6.1-6.5.2

Problems
Solutions

Feb 10

3D Clipping/Visible Surface Determination

6.5.3-6.6

Problems
Solutions

Feb 12

Visible Surface Determination

15 (Intro), 15.2, 15.4-15.6

Problems
Solutions

Feb 15

Illumination & Shading

Fourth programming assignment

16.1-16.2

Problems
Solutions

Feb 17

Illumination & Shading

Third programming assignment due

16.1-16.2

Problems
Solutions

Feb 19

Illumination & Shading

16.1-16.2

Problems
Solutions

Feb 22

Modeling Curves

11 (Intro), 11.2-11.2.2

Problems
Solutions

Feb 24

Modeling Curves

11 (Intro), 11.2-11.2.2

Problems
Solutions

Feb 26

TEST 2

-

-

Mar 1

Assignment 4 questions/answers

-

Mar 3

Ray Tracing

Fourth programming assignment due
Fifth programming assignment

15.10, 16.12

-

Mar 5

Ray Tracing

15.10, 16.12

-

Mar 8

TBA

-

-

Mar 10

TBA

-

-

Mar 12

Summary / review
Fifth programming assignment due

-

-

Mar 17

FINAL EXAM (2:50pm - 5:40pm)

-

-