Includes bibliographical references (p. 1113-1151) and index.
James D. Foley
(Ph.D., University of Michigan) is the founding director of the interdisciplinary Graphics, Visualization & Usability Center at Georgia Institute of Technology, and Professor of Computer Science and of Electrical Engineering. Coauthor with Andries van Dam of Fundamentals of Interactive Computer Graphics
, Foley is a member of ACM, ACM SIGGRAPH, ACM SIGCHI, the Human Factors Society, IEEE, and the IEEE Computer Society. He recently served as Editor-in-Chief of ACM Transactions on Graphics
, and is on the editorial boards of Computers and Graphic
s, User Modeling and User-Adapted Interaction
, and Presence
. His research interests include model-based user interface development tools, user interface software, information visualization, multimedia, and human factors of the user interface. Foley is a Fellow of the IEEE, and a member of Phi Beta Kappa, Tau Beta Phi, Eta Kappa Nu, and Sigma Xi. At Georgia Tech, he has received College of Computing graduate student awards as Most Likely to Make Students Want to Grow Up to Be Professors, Most Inspirational Faculty Member, the campus Interdisciplinary Activities Award, and the Sigma Xi Sustained Research Award. In 1997, Foley received the SIGGRAPH Steven A. Coons Award.
Andries van Dam (Ph.D., University of Pennsylvania) was the first chairman of the Computer Science Department at Brown University. Currently Thomas J. Watson, Jr. University Professor of Technology and Education and Professor of Computer Science at Brown, he is also Director of the NSF/ARPA Science and Technology Center for Computer Graphics and Scientific Visualization. His research interests include computer graphics, hypermedia systems, and workstations. He is past Chairman of the Computing Research Association, Chief Scientist at Electronic Book Technologies, Chairman of Object Power's Technical Advisory Board, and a member of Microsoft's Technical Advisory Board. A Fellow of both the IEEE Computer Society and of ACM, he is also cofounder of ACM SIGGRAPH. Coauthor of the widely used book Fundamentals of Interactive Computer Graphics with James Foley, and of Object-Oriented Programming in Pascal: A Graphical Approach, with D. Brookshire Conner and David Niguidula, he has, in addition, published over eighty papers. In 1990 van Dam received the NCGA Academic Award, in 1991, the SIGGRAPH Steven A. Coons Award, and in 1993 the ACM Karl V. Karlstrom Outstanding Educator Award.
Steven K. Feiner (Ph.D., Brown University) is Associate Professor of Computer Science at Columbia University, where he directs the Computer Graphics and User Interfaces Lab. His current research focuses on 3D user interfaces, virtual worlds, augmented reality, knowledge-based design of graphics and multimedia, animation, visualization, and hypermedia. Dr. Feiner is on the editorial boards of ACM Transactions on Graphics, IEEE Transactions on Visualizations and Computer Graphics, and Electronic Publishing, and is on the executive board of the IEEE Technical Committee on Computer Graphics. He is a member of ACM SIGGRAPH and the IEEE Computer Society. In 1991 he received an ONR Young Investigator Award. Dr. Feiner's work has been published in over fifty papers and presented in numerous talks, tutorials, and panels.
John F. Hughes (Ph.D., University of California, Berkeley) is an Assistant Professor of Computer Science at Brown University, where he codirects the computer graphics group with Andries van Dam. His research interests are in applications of mathematics to computer graphics, scientific visualization, mathematical shape description, mathematical fundamentals of computer graphics, and low-dimensional topology and geometry. He is a member of the AMS, IEEE, and ACM SIGGRAPH. His recent papers have appeared in Computer Graphics, and in Visualization Conference Proceedings. He also has a long-standing interest in the use of computer graphics in mathematics education.
Image Processing as Picture Analysis.
The Advantages of Interactive Graphics.
Representative Uses of Computer Graphics.
Classification of Applications.
Development of Hardware and Software for Computer Graphics.
Conceptual Framework for Interactive Graphics.
2. Programming in the Simple Raster Graphics Package (SRGP)/.
Drawing with SRGP/.
Basic Interaction Handling/.
Raster Graphics Features/.
Limitations of SRGP/.
3. Basic Raster Graphics Algorithms for Drawing 2d Primitives.
Scan Converting Lines.
Scan Converting Circles.
Scan Convertiing Ellipses.
Filling Ellipse Arcs.
Line Style and Pen Style.
Clipping in a Raster World.
Clipping Circles and Ellipses.
4. Graphics Hardware.
Raster-Scan Display Systems.
The Video Controller.
Random-Scan Display Processor.
Input Devices for Operator Interaction.
5. Geometrical Transformations.
Homogeneous Coordinates and Matrix Representation of 2D Transformations.
Composition of 2D Transformations.
The Window-to-Viewport Transformation.
Matrix Representation of 3D Transformations.
Composition of 3D Transformations.
Transformations as a Change in Coordinate System.
6. Viewing in 3D.
Specifying an Arbitrary 3D View.
Examples of 3D Viewing.
The Mathematics of Planar Geometric Projections.
Implementing Planar Geometric Projections.
7. Object Hierarchy and Simple PHIGS (SPHIGS).
Characteristics of Retained-Mode Graphics Packages.
Defining and Displaying Structures.
Hierarchical Structure Networks.
Matrix Composition in Display Traversal.
Appearance-Attribute Handling in Hierarchy.
Screen Updating and Rendering Modes.
Structure Network Editing for Dynamic Effects.
Additional Output Features.
Optimizing Display of Hierarchical Models.
Limitations of Hierarchical Modeling in PHIGS.
Alternative Forms of Hierarchical Modeling.
8. Input Devices, Interaction Techniques, and Interaction Tasks.
Basic Interaction Tasks.
Composite Interaction Tasks.
9. Dialogue Design.
The Form and Content of User-Computer Dialogues.
Important Design Considerations.
Modes and Syntax.
The Design Methodology.
10. User Interface Software.
Basic Interaction-Handling Models.
Output Handling in Window Systems.
Input Handling in Window Systems.
User-Interface Management Systems.
11. Representing Curves and Surfaces.
Parametric Cubic Curves.
Parametric Bicubic Surfaces.
12. Solid Modeling.
Regularized Boolean Set Operations.
Constructive Solid Geometry.
Comparison of Representations.
User Interfaces for Solid Modeling.
13. Achromatic and Colored Light.
Color Models for Raster Graphics.
Using Color in Computer Graphics.
14. The Quest for Visual Realism.
Rendering Techniques for Line Drawings.
Rendering Techniques for Shaded Images.
Improved Object Models.
Interacting with Our Other Senses.
Aliasing and Antialiasing.
15. Visible-Surface Determination.
Functions of Two Variables.
Techniques for Efficient Visible-Surface Determination.
Algorithms for Visible-Line Determination.
The z-Buffer Algorithm.
Algorithms for Octrees.
Algorithms for Curved Surfaces.
Visible-Surface Ray Tracing.
16. Illumination And Shading.
Shading Models for Polygons.
Physically Based Illumination Models.
Extended Light Sources.
Improving the Camera Model.
Global Illumination Algorithms.
Recursive Ray Tracing.
The Rendering Pipeline.
17. Image Manipulation and Storage.
What Is an Image?
Geometric Transformations of Images.
Mechanisms for Image Storage.
Special Effects with Images.
18. Advanced Raster Graphic Architecture.
Simple Raster-Display System.
Standard Graphics Pipeline.
Introduction to Multiprocessing.
Pipeline Front-End Architecture.
Parallel Front-End Architectures.
Multiprocessor Rasterization Architectures.
Enhanced Display Capabilities.
19. Advanced Geometric and Raster Algorithms.
The Special Problems of Text.
Making copyPixel Fast.
The Shape Data Structure and Shape Algebra.
Managing Windows with bitBlt.
Page Description Languages.
20. Advanced Modeling Techniques.
Extensions of Previous Techniques.
Physically Based Modeling.
Special Models for Natural and Synthetic Objects.
Automating Object Placement.
Conventional and Computer-Assisted Animation.
Methods of Controlling Animation.
Basic Rules of Animation.
Problems Peculiar to Animation.
Appendix: Mathematics for Computer Graphics.
Vector Spaces and Affine Spaces.
Some Standard Constructions in Vector Spaces.
Dot Products and Distances.
Linear and Affine Transformations.
Eigenvalues and Eigenvectors.
Newton-Raphson Iteration for Root Finding.