MEETING TIMES -
Mondays and Wednesdays 12:30 - 1:45
INSTRUCTOR -
Leonard McMillan
Room 213 -- Sitterson Hall
Office Phone: 962-1797
Office Hours: Mon/Wed 1:45 - 2:30, Fri 12:30-2:00, and by appointment
I am a graduate student in the
computer science department
here at UNC. Computer
graphics and imaging is my area of specialization.
CLASS -
TEXTBOOKS -
Hearn,Donald and M. Pauline Baker, Computer Graphics, C version,
2nd Edition,
Prentice Hall, Inc.
Upper Saddle River, New Jersey, 1997, 652 pages, ISBN 0-13-530924-7.
Hearn and Baker will be the primary textbook this semester. This book is well organized and provides a good introduction to most of the topics that we will cover this term. You will find that the illustrations and code fragments are an excellent suppliment to the materials covered in the lectures. Reading assignments will accompany the lecture notes, which will be placed on the web. You may read the course materials either before or after the lecture that they are associated with. All reading assignments will be considered fair game for inclusion on the mid-term and final exams, whether or not the material was covered in class. I'm sorry for the expense of this book. You will find no used books, because this is a new edition of the book that was used last year.
Flanagan, David, Java in a Nutshell,
O'Reilly and Associates, Inc.,
Sebastopol, California, 1996, 438 pages, ISBN 1-56592-183-6.
Flanagan's Java in a Nutshell is also a required supplimentary textbook this term. The first part is an excellent introduction to the Java language for anyone with previous C or C++ experience. This book contains very little of the hype that is typical of most Java books. It presents a thoughful and unbiased introduction to Java's object oriented approach. The second part of the book is largely a reference manual of the Java language and its associated APIs. My initial enthusiasm for this book has waned a little of late, because it never seems to document the classes in quite enough detail. I've still decided to use it as a textbook, because I haven't come across any other good alternative. I also like The Java Handbook, by Patrick Naughton (Osborne/McGraw-Hill, 1996, ISBN 0-07-882199-1) as a introductory text. It has lots of good examples and thoughful discussions. However, I think that it is inadequate as a Java reference, and is a little over priced at $27.95.
WHAT IS THIS COURSE ABOUT?
The primary goal of COMP 136 is to introduce many important data structures and algorithms that are useful for presenting data visually on a computer. For many students it will also be their first exposure to the design of user interfaces. COMP 136 does not cover the use of graphics design applications such as Photoshop and AutoCAD. Nor, does it focus on the various graphics programming interfaces or graphics languages such as OpenGL or Renderman. In short, COMP 136 is a programming class. The goal of this class is to provide you with sufficent background to write computer graphics applications.
Roughly speaking, the first half of this course will address a broad range of topics that I will refer to as Raster Methods. These include two dimensional computer graphics, raster operations, imaging methods, and user interface design and construction. The second half of the course will cover topics related to three-dimensional computer graphics, including representation, illumination, shading, visibility determination, and rendering.
This is a lot of stuff to cover in 30 class meetings, and you can expect the pace to be frantic at times. But, I hope that you will find, as I have, that this stuff, computer graphics, is a blast.
WHAT DO I NEED TO KNOW BEFORE I TAKE THIS COURSE?
I expect everyone taking COMP 136 to have taken courses in both calculus and linear algebra. I warn you now because these topics will not come up to a significant extent until the second part of the course (after the drop date). I also expect everyone to be familar with at least one of the following programming languages: C, C++, or Pascal.
GRADING
Programming Projects (5) .................................. 50%
Final Examination ............................................... 20%
Mid-term Quiz ..................................................... 20%
Exercises and Class Participation .................... 10%
COURSE OUTLINE
Part I - Raster Graphics
W 08/21 - Lecture 1.
Introductions, Display technologies
M 08/26 - Lecture 2.
Java Overview, Pixels, a Raster Object,
(Assign Project #1)
W 08/28 - Lecture 3.
More Java, Images, Sprites, Raster-ops, and Bitblts
M 09/02 - (No Class) Labor Day
W 09/04 - Lecture 4.
Color topics, (models, and frame-buffer structure)
M 09/09 - Lecture 5. Lamenting Fran
W 09/11 - Fran Clean-up (Class canceled)
M 09/16 - Lecture 6.
Line drawing (DDAs, Bresenham's) (Project #1 Due)
W 09/18 - Lecture 7.
Curve drawing (circles)
M 09/23 - Lecture 7.5.
More Curve drawing (conics)
W 09/25 - Lecture 8.
Area filling (Assign Project #2)
M 09/30 - Lecture 9.
Scan Conversion of Triangles and Interpolation
W 10/02 - Lecture 10.
2-D geometric transformations and dithering
M 10/07 - Lecture 12. User Interface design, Interaction Models (Project #2 Due)
W 10/09 - Lecture 13. Mid-term Quiz
Part II - Three Dimensional Graphics
M 10/14 -
Lecture 14.
Transformations, Homogeneous Coordinates - Part 1
W 10/16 -
Lecture 15.
Transformations, Homogeneous Coordinates - Part 2
M 10/21 -
Lecture 16.
Viewing and Projection (Assign Project #3)
W 10/23 - Lecture 16b. Viewing and Projection - Part 2
M 10/28 - Lecture 16c. Viewing and Projection - Part 3
W 10/30 -
Lecture 17.
Modeling primitives and hierarchies
M 11/04 -
Lecture 20.
Three-dimensional Clipping
W 11/06 -
Lecture 21.
Visible-surface determination
M 11/11 -
Lecture 22.
Illumination and Shading - Part 1 (Project #3 due)
W 11/13 -
Lecture 23.
Illumination and Shading - Part 2
M 11/18 -
Lecture 24.
Illumination and Shading - Part 3
W 11/20 -
Lecture 25.
Illumination and Shading - Part 4
(Project #4 Assigned)
M 11/25 - Lecture 26. Ray Tracing
W 11/27 - Lecture 27. Discuss final 2 projects, More Ray Tracing
(Project #5 Assigned)
M 12/02 - Lecture 28. Textures and Animation (Project #4 due)
W 12/04 - Lecture 29. Radiosity and Global Illumination (Project #5 due)
W 12/11 - Final Exam (8:00 - 11:00 SN011)
This page was last modified Monday, September 09, 1996