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.
Here's a link to the
git.cc.class.4390 newsgroup.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.
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.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.
The class will use the web, the class page will be located at
Grading will be based on
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.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.
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 |
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 |
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 |
15.10, 16.12 |
- |
|
Mar 5 |
Ray Tracing |
15.10, 16.12 |
- |
|
Mar 8 |
TBA |
- |
- |
|
Mar 10 |
TBA |
- |
- |
|
Mar 12 |
Summary / review |
- |
- |
|
Mar 17 |
FINAL EXAM (2:50pm - 5:40pm) |
- |
- |