did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780201848403

Computer Graphics Principles and Practice in C

by ; ; ;
  • ISBN13:

    9780201848403

  • ISBN10:

    0201848406

  • Edition: 2nd
  • Format: Hardcover
  • Copyright: 1995-08-04
  • Publisher: Addison-Wesley Professional
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $99.99

Summary

"Interactive graphics is a field whose time has come. Until recently it was an esoteric specialty involving expensive display a hardware, substantial computer resources, and idiosyncratic software. In the last few years, however, it has benefited from the steady and sometimes even spectacular reduction in the hardware price/performance ration (E.G., personal computers for home or office with their standard graphics terminals), and from the development of high-level , device -independent graphics packages that help make graphics programming rational and straightforward. Interactive graphics is now finally ready to fulfill its promise to provide us with pictorial communication and thus to become a major facilitator of man/machine interaction." (From preface, Fundamentals of Interactive Computer Graphics, James Foley and Andries van Dam, 1982)

This assertion that computer graphics had finally arrived was made before the revolution in computer culture sparked by Apple's Macintosh and the IBM PC and its clones. Now even preschool children are comfortable with interactive-graphics techniques, such as the desktop metaphor for window manipulation and menu and icon selection with a mouse. Graphics-based user interfaces have made productive users of neophytes, and the desk without its graphics computer is increasingly rare.

At the same time that interactive graphics has become common in user interfaces and visualization of data and objects, the rendering of 3D objects has become dramatically more realistic, as evidenced by the ubiquitous computer-generated commercials and movie special effects. Techniques that were experimental in the early eighties are now standard practice, and more remarkable "photorealistic" effects are around the corner. The simpler kinds of pseudorealism, which took hours of computer time per image in the early eighties, now are done routinely at animation rates (ten or more frames/second) on personal computers. Thus "real-time" vector displays in 1981 showed moving wire-frame objects made of tens of thousands of vectors without hidden-edge removal; in 1990 real-time raster displays can show not only the same kinds of line drawings but also moving objects composed of as many as one hundred thousand triangles rendered with Gouraud or Phong shading and specular highlights and with full hidden-surface removal. The highest-performance systems provide real-time texture mapping, anitialiasing, atmospheric attenuation for fog and haze, and other advanced effects.

Graphics software standards have also advanced significantly since our first edition. The SIGGRAPH Core '79 package, on which the first edition's SGP package was based, has all but disappeared, along with direct-view storage tube and refresh vector displays. The much more powerful PHIGS package, supporting storage and editing of structure hierarchy, has become an official ANSI and ISO standard, and it is widely available for real-time geometric graphics in scientific and engineering applications, along with PHIGS+, which supports lighting, shading, curves, and surfaces. Official graphics standards complement lower-level, more efficient de facto standards, such as Apple's QuickDraw X Window System's Xlip 2D integer raster graphics package, and Silicon Graphics' GL 3D library. Also widely available are implementations of Pixar's RenderMan interface for photorealistic rendering and Post Script interpreters for hardcopy page and screen image description. Better graphics software has been used to make dramatic improvements in the "look and feel" of user interfaces, and we may expect increasing use of 3D effects, both for aesthetic reasons and for providing new metaphors for organizing and presenting, and navigating through information.

Perhaps the most important new movement in graphics is the increasing concern for modeling objects, not just for creating their pictures. Furthermore, interest is growing in describing the time-varying geometry and behavior of 3D objects. Thus graphics is increasingly concerned with simulation, animation, and a "back to physics" movement in both modeling and rendering in order to create objects that look and behave as realistically as possible.

As the tools and capabilities available become more and more sophisticated and complex, we need to be able to apply them effectively. Rendering is no longer the bottleneck. Therefore researchers are beginning to apply artificial-intelligence techniques to assist in the design of object models, in motion planning, and in the layout of effective 2D and 3D graphical presentations.

Today the frontiers of graphics are moving very rapidly, and a text that sets out to be a standard reference work must periodically be updated and expanded. This book is almost a total rewrite of the Fundamentals of Interactive Computer Graphics, and although this second edition contains nearly double the original 623 pages, we remain painfully aware of how much material we have been forced to omit.

Major differences from the first edition include the following:

  • The vector-graphics orientation is replaced by a raster orientation.
  • The simple 2D floating-point graphics package (SG) is replaced by two packages--SRGP and SPHIGS--that reflect the two major schools of interactive graphics programming. SRGP combines features of the QuickDraw and Xlib 2D integer raster graphics packages. SPHIGS, based on PHIGS, provides the fundamental features of a 3D floating-point package with hierarchical display lists. We explain how to do applications programming in each of these packages and who how to implement the basic clipping, scan conversion, viewing, and display list traversal algorithms that underlie these systems.
  • User-interface issues are discussed at considerable length, both for 2D desktop metaphors and for 3D interaction devices.
  • Coverage of modeling is expanded to include NURB (nonuniform rational B-spline) curves and surfaces, a chapter on solid modeling, and a chapter on advanced modeling techniques, such as physically based modeling, procedural models, factals, L-grammar systems, and particle systems.
  • Increased coverage of rendering includes a detailed treatment of antialiasing and greatly expanded chapters on visible-surface determination, illumination, and shading, including physically based illumination models, ray tracing, and radiosity.
  • Material is added on advanced raster graphics architectures and algorithms, including clipping and scan-conversion of complex primitives and simple image-processing operations, such as compositing.
  • A brief introduction to animation is added.

This text can be used by those without prior background in graphics and only some background in Pascal programming, basic data structures and algorithms, computer architecture, and simple linear algebra. An appendix reviews the necessary mathematical foundations. The book covers enough material for a full-year course, but is partitioned into groups to make selective coverage possible. The reader, therefore, can progress through a carefully designed sequence of units, starting with simple, generally applicable fundamentals and ending with more complex and specialized subjects.

Basic Group. Chapter 1 provides a historical perspective and some fundamental issues in hardware, software, and applications. Chapters 2 and 3 describe, respectively, the use and the implementation of SRGP, a simple 2D integer graphics package. Chapter 4 introduces graphics hardware, including some hints about how to use hardware in implementing the operations described in the preceding chapters. The next two chapters, 5 and 6, introduce the ideas of transformations in the plane and 3-space, representations by matrices, the use of homogeneous coordinates unify lin

Author Biography

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 Graphics, 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.



0201848406AB04062001

Table of Contents

Introduction.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
Programming in the Simple Raster Graphics Package (SRGP)
Drawing with SRGP
Basic Interaction Handling
Raster Graphics Features
Limitations of SRGP
Basic Raster Graphics Algorithms for Drawing 2d Primitives
Overview
Scan Converting Lines
Scan Converting Circles
Scan Convertiing Ellipses
Filling Rectangles
Fillign Polygons
Filling Ellipse Arcs
Pattern Filling
Thick Primiives
Line Style and Pen Style
Clipping in a Raster World
Clipping Lines
Clipping Circles and Ellipses
Clipping Polygons
Generating Characters
SRGP_copyPixel
Antialiasing
Graphics Hardware
Hardcopy Technologies
Display Technologies
Raster-Scan Display Systems
The Video Controller
Random-Scan Display Processor
Input Devices for Operator Interaction
Image Scanners
Geometrical Transformations
2D Transformations
Homogeneous Coordinates and Matrix Representation of 2D Transformations
Composition of 2D Transformations
The Window-to-Viewport Transformation
Efficiency
Matrix Representation of 3D Transformations
Composition of 3D Transformations
Transformations as a Change in Coordinate System
Viewing in 3D
Projections
Specifying an Arbitrary 3D View
Examples of 3D Viewing
The Mathematics of Planar Geometric Projections
Implementing Planar Geometric Projections
Coordinate Systems
Object Hierarchy and Simple PHIGS (SPHIGS)
Geometric Modeling
Characteristics of Retained-Mode Graphics
Packages
Defining and Displaying Structures
Modeling Transformations
Hierarchical Structure Networks
Matrix Composition in Display Traversal
Appearance-Attribute Handling in Hierarchy
Screen Updating and Rendering Modes
Structure Network Editing for Dynamic Effects
Interaction
Additional Output Features
Implementation Issues
Optimizing Display of Hierarchical Models
Limitations of Hierarchical Modeling in PHIGS
Alternative Forms of Hierarchical Modeling
Input Devices, Interaction Techniques, and Interaction Tasks
Interaction Hardware.Basic Interaction Tasks
Composite Interaction Tasks
Dialogue Design
The Form and Content of User-Computer Dialogues
User-Interfaces Styles
Important Design Considerations
Modes and Syntax
Visual Design
The Design Methodology
User Interface Software
Basic Interaction-Handling Models
Windows-Management Systems
Output Handling in Window Systems
Input Handling in Window Systems
Interaction-Technique Toolkits
User-Interface Management Systems
Representing Curves and Surfaces.Po
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Excerpts

"Interactive graphics is a field whose time has come. Until recently it was an esoteric specialty involving expensive display a hardware, substantial computer resources, and idiosyncratic software. In the last few years, however, it has benefited from the steady and sometimes even spectacular reduction in the hardware price/performance ration (E.G., personal computers for home or office with their standard graphics terminals), and from the development of high-level , device -independent graphics packages that help make graphics programming rational and straightforward. Interactive graphics is now finally ready to fulfill its promise to provide us with pictorial communication and thus to become a major facilitator of man/machine interaction." (From preface, Fundamentals of Interactive Computer Graphics , James Foley and Andries van Dam, 1982) This assertion that computer graphics had finally arrived was made before the revolution in computer culture sparked by Apple's Macintosh and the IBM PC and its clones. Now even preschool children are comfortable with interactive-graphics techniques, such as the desktop metaphor for window manipulation and menu and icon selection with a mouse. Graphics-based user interfaces have made productive users of neophytes, and the desk without its graphics computer is increasingly rare. At the same time that interactive graphics has become common in user interfaces and visualization of data and objects, the rendering of 3D objects has become dramatically more realistic, as evidenced by the ubiquitous computer-generated commercials and movie special effects. Techniques that were experimental in the early eighties are now standard practice, and more remarkable "photorealistic" effects are around the corner. The simpler kinds of pseudorealism, which took hours of computer time per image in the early eighties, now are done routinely at animation rates (ten or more frames/second) on personal computers. Thus "real-time" vector displays in 1981 showed moving wire-frame objects made of tens of thousands of vectors without hidden-edge removal; in 1990 real-time raster displays can show not only the same kinds of line drawings but also moving objects composed of as many as one hundred thousand triangles rendered with Gouraud or Phong shading and specular highlights and with full hidden-surface removal. The highest-performance systems provide real-time texture mapping, anitialiasing, atmospheric attenuation for fog and haze, and other advanced effects. Graphics software standards have also advanced significantly since our first edition. The SIGGRAPH Core '79 package, on which the first edition's SGP package was based, has all but disappeared, along with direct-view storage tube and refresh vector displays. The much more powerful PHIGS package, supporting storage and editing of structure hierarchy, has become an official ANSI and ISO standard, and it is widely available for real-time geometric graphics in scientific and engineering applications, along with PHIGS+, which supports lighting, shading, curves, and surfaces. Official graphics standards complement lower-level, more efficient de facto standards, such as Apple's QuickDraw X Window System's Xlip 2D integer raster graphics package, and Silicon Graphics' GL 3D library. Also widely available are implementations of Pixar's RenderMan interface for photorealistic rendering and Post Script interpreters for hardcopy page and screen image description. Better graphics software has been used to make dramatic improvements in the "look and feel" of user interfaces, and we may expect increasing use of 3D effects, both for aesthetic reasons and for providing new metaphors for organizing and presenting, and navigating through information. Perhaps the most important new movement in graphics is the increasing concern for modeling objects, not just for creating their pictures. Furthermore, interest is grow

Rewards Program