This book is an adaptation of Computer Graphics: Principles and Practice, Second Edition (CGPP), by Foley, van Dam, Feiner, and Hughes. Introduction to Computer Graphics was created by abridging and modifying that comprehensive teaching and reference work to suit the needs of different courses and different professional requirements. While this book is half the size of its parent, it is not merely a shorter version of it. Indeed, it features new material and, in some cases, a different approach to exposition, all added with the needs of its intended audience in mind.
This book is designed to be used in a one-to two-semester course in computer graphics in any four-year college or university and, assuming only a small amount of mathematical preparation, for a one-semester course in community colleges or other two-year institutions. Introduction to Computer Graphics is also an ideal book for the professional who wants to learn the rudiments of this dynamic and exciting field, whether to become a practitioner or simply to gain an appreciation of the far-ranging applications of computer graphics.
This book is not meant to supplant CGPP as being more current or in any way more comprehensive. These are chapters, however, where, because of the dizzying pace at which the field is moving, older material was dropped and the hardware performance and cost figures were updated. One such example can be found in Chapter 4, where the statement from CGPP--which, bear in mind, was just published in 1990--that "...a graphics workstation typically consists of a CPU capable of executing at least several million instructions per second (MIPS) ..." was updated to reflect the fact that 20-100 MIPS are now commonplace.
Other major differences and strengths of Introduction to Computer Graphics are:
The computer language used throughout the book, both in pseudocoded
program fragments and complete working programs, is modern ANSI C. The
use of C, rather than Pascal as in CGPP, is consistent with both current
teaching and professional practice, especially in graphics.
As a direct benefit of the use of C in the book, there is now a one-to-
one correspondence between the data types and functions of the code used
in this book with those of the SRGP and SPHIGS software packages that
are available (free of charge to adopters) to accompany the book (see
The SPHIGS package mentioned above has been substantially enhanced with
many new features, such as multiple light sources, improved rendering,
and improved pick correlation for better interactive manipulation.
The book features several worked-out examples, some of which are quite
extensive. These examples are strategically located in chapters where
they best enhance the exposition of difficult concepts. One such example
is a complete working program for interactively defining Bezier
parametric cubic curves.
The importance of computer graphics to the emerging field of multimedia
is introduced by describing some examples, complete with figures, and
providing their supporting references.
A mathematical preliminaries section has been added to the chapter on
Geometrical Transformations. This section provides sufficient information
for the reader to understand and use all subsequent mathematically
oriented material in the book. Potential Syllabi There are several paths that a reader can take through this book. A few are suggested here, but it is entirely feasible to select one suiting the reader's circumstances. Even the order of study acan be permuted. For example, the material on hardware could come either earlier or later in a syllabus than is suggested by Chapter 4's ordinal positioning.
A minimal one-semester course emphasizing 2D graphics. Where the goal is to provide a good, but not rigorous, overview of elements of mostly 2D graphics, this course of study will be appropriate for students in a two- or four-year college or university. Chapter
Sect. 3.1-3.3, 3.9-3.9.3
Sect. 4 4.1, 4.2, 4.3, and 4.5
Sect. 5.1 (as appropriate), 5.2, 5.3,5.4
Sect. 6.1, 6.2,6.3,6.4.1,6.4.2
Sect. 9.1, 9.2.1-9.2.3 11
Sect. 11.1-11.2 12
Selected reading to demonstrate advanced
capabilities A one-semester course providing an overview of 2D and 3D graphics. This syllabus will provide a strong foundation in graphics for readers who are mathematically well prepared. Chapter
Sects. 3.1-3.5, 3.8-3.11, 3.14-3.15
Sect. 4.1, 4.2, 4.3 and 4.5
Sect. 5.1 (as appropriate),5.2-5.5,5.7,5.8
Sect. 6.1-6.5, Sect. 6.6 (except 6.6.4),6.7
Sect. 7.1-7.5,7.10 and 7.11.6
Sect. 9.1,9.2.1-9.2.3,9.2.7,9.3.1-9.3.2 11
Sect. 13.1-13.2, possibly 13.4 14
Sect. 14.1-14.2, possibly 14.5-14.7
A two-semester course covering 2D and 3D graphics, modeling and rendering. All chapters (posibly omitting selected topics from Chapters 9 and 10) plus selected topics from CGPP.
Since many readers of Introduction to Computer Graphics will be interested in consulting its more advanced and comprehensive parent, the preface to CGPP follows this one. Please find the this title included on the gopher site. There the reader will find a discussion of CGPP's important features and suggestions for structuring courses based on that book. Electronic Instructor's Manual
An Electronic Instructor's Manual (EIM), which supplements this book, is available from Brown University. Information on how to obtain the EIM is acquired by sending e-mail to firstname.lastname@example.org. No message body is necessary; just enter EIM (or eim) on the Subject line. The e-mail reply will contain a description of the contents of the EIM and how to obtain any part of it. It is necessary to have Internet ftp access to retrieve the EIM. No other distribution method is available. The EIM comprises four parts. They are:
Expanded versions of the syllabi suggested above. The rationale for
each syllabus is described on a step-by-step basis. Also, where
appropriate, aids to teaching the material are suggested.
Selected ANSI C source code from the book. Program fragments as well
as complete working programs are provided. In general, an instructor
must have SRGP and SPHIGS for this code to be useful.
All the artwork from the book. With the exception of stripped-in half-
tones, each figure is provided as either an Encapsulated Postscript
(EPS) or Tagged Image File Format (TIFF) file. These figures will
be useful for preparation of lecture slides. The artwork files are
organized by chapter so that an instructor can obtain just the figures
needed for a particular syllabus.
Freely available software resources. In addition to the SRGP and SPHIGS
packages which supplement the text, there are many packages available
that the instructor may wish to obtain for use in the course. Packages
such as SIPP (Simple Polygon Processor) and Rayshade, a ray tracing
program, implement many of the realistic rendering techniques described
in the text. Information on how to obtain these and other packages is
First, it should be stated that while all the a uthors of CGPP participated to some degree in the preparation of this book, I assume full responsibility for any new errors introduced in the adaptation process.
David Sklar was a guest author for CGPP, and much of the material he contributed to that book remains here in Chapters 2 and 7. He was helpful to me in locating electronic versions of computer code and artwork from the original book.
Peter Gordon, my editor, always had timely, wise, and calming advice throughout the duration of this project. Jim Rigney, my production supervisor, spent lots of helpful hours teaching me the "tricks of the trade".
Many people helped with various aspects of the book. Among them are Yvonne Martinez, Chuck Hansen, Tom Rokicki, David Cortesi, Janick (J.) Bergeron, Henry McGilton, Greg Cockroft, Mike Hawley, Ed Catmull, Loren Carpenter, Harold Borkin, Alan Paeth, Jim White, and Bert Herzog.
A special thank you is owed to Ed Angel of The University of New Mexico and his courageous students for beta--make that alpha--testing of a first draft of the book in the fall of 1992.
Finally, without D.C. this would never have happened.
Santa Fe, N.M.