Introduction to Computer Graphics
James D. Foley, Andries Van Dam, Steven K. Feiner
Résumé
Topic coverage includes basic graphics programming, hardware, and applications. Important algorithms are included to facilitate implementation of both 2D and 3D graphics. A separate chapter covers SPHIGS--a simplified dialect of the PHIGS 3D standard--and coincides with the availability of an updated version of the software. Chapter 9 and presents a concise overview of interaction issues and techniques. Advanced material from the larger book has been condensed, and the mathematics needed for it has been explained carefully .
The result is an accessible introduction to computer graphics, crafted to provide a solid foundation for further work in this exciting field.
Features
- Adaptation of the definitive computer graphics book in the field--half the length.
- Presents key concepts geared toward students with minimal technical background.
- Provides worked examples in C.
- Retains the high level of teaching standards of the parent graphics text.
Table of contents
- 1. Introducing: Computer Graphics
- A Few Uses of Computer Graphics
A Brief History of Computer Graphics
Output Technology
Input Technology
Software Portability
The Advantages of Interactive Graphics
Conceptual Framework for Interactive Graphics
Application Modeling
Display of the Model
Interaction Handling
Summary
Exercises- 2. Programming in the Simple Raster Graphics Package (SRGP)
- Drawing with SRGP
Specification of Graphics Primitives
Attributes
Filled Primitives and Their Attributes
Saving and Restoring Attributes
Text
Basic Interaction Handling
Human Factors
Logical Input Devices
Sampling Versus Event-Driven Processing
Sample Mode
Event Mode
Pick Correlation for Interaction Handling
Setting Device Measure and Attributes
Raster Graphics Features
Canvases
Clipping Rectangles
The SRGP_copyPixel Operation
Write Mode or RasterOp
Limitation of SRGP
Application Coordinate Systems
Storage of Primitives for Respecification
Summary
Exercises- 3. Basic Raster Graphics Algorithms for Drawing 2D Primitives
- Overview
Implications of Display-System Architectures
The Output Pipeline in Software
Scan Converting Lines
The Basic Incremental Algorithm
Midpoint Line Algorithm
Additional Issues
Scan Converting Circles
Eight-Way Symmetry
Midpoint Circle Algorithm
Filling Rectangles
Filling Polygons
Horizontal Edges
Slivers
Edge Coherence and the Scan-Line Algorithm
Pattern Filling Using Scan Conversion
Pattern Filling Without Repeated Scan Conversion
Thick Primitives
Replicating Pixels
The Moving Pen
Clipping in a Raster World
Clipping Lines
Clipping Endpoints
Clipping Lines by Solving Simultaneous Equations
The Cohen-Sutherland Line-Clipping Algorithm
A Parametric Line-Clipping Algorithm
Clipping Circles
Clipping Circles
The Sutherland-Hodgman Polygon-Clipping Algorithm
Generating Characters
Defining and Clipping Characters
Implementing a Text Output Primitive
SRGP_copyPixel
Antialiasing
Increasing Resolution
Unweighted Area Sampling
Weighted Area Sampling
Advanced Topics
Summary
Exercises- 4. Graphics Hardware
- Hardcopy Technologies
Display Technologies
Raster-scan Display Systems
Simple Raster Display System
Raster Display System with Peripheral Display Processor
Additional Display-Processor Functionality
Raster Display System with Integrated Display Processor
The Video Controller
Bitmap Transformations and Windowing
Video Mixing
Input Devices for Operator Interaction
Locator Devices
Keyboard Devices
Valuator Devices
Choice Devices
Image Scanners
Summary
Exercises- 5. Geometrical Transformations
- Mathematical Preliminaries
Vector Spaces
The Dot Product in R
Properties of the Dot Product
Orthonormal Bases
Matrices
Matrix Multiplication
Determinants
Matrix Transpose
Matrix Inverse
Exploring Further
2D Transformation
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
Exercises- 6. Viewing in 3D
- The Synthetic Camera and Steps
Projections
Perspective Projections
Parallel Projections
Specifying an Arbitrary 3D View
Examples of 3D Viewing
Perspective Projections
Parallel Projections
Finite View Volumes
The Mathematics of Planar Geometric Projections
Implementing Planar Geometric Projections
Parallel Projection
Perspective Projection
Clipping Against a Canonical View Volume in 3D
Clipping in Homogeneous Coordinates
Mapping into a Viewpoint
Implementation Summary
Coordinate Systems
Exercises- 7. Object Hierarchy and Simple PHIGS (SPHIGS)
- Geometric Modeling
Geometric Models
Hierarchy in Geometric Models
Relationship among Model, Application Program, and Graphics System
Characteristics of Retained-Mode Graphics Packages
Central Structure Storage and Its Advantages
Limitations of Retained-Mode Packages
Defining and Displaying
Opening and Closing Structures
Specifying Output Primitives and Their Attributes
Posting Structures for Display Traversal
Viewing
Graphics Applications Sharing a Screen via Window Management
Modeling Transformations
Hierarchical Structure Networks
Two-Level Hierarchy
Simple Three-Level Hierarchy
Bottom-Up Construction
Interactive Modeling Programs
Matrix Composition in Display Traversal
Appearance-Attributes Handling in Hierarchy
Inheritance Rules
SPHIGS Attributes and Text Unaffected by Transformations
Screen Updating and Rendering Modes
Structure Network Editing for Dynamic Effects
Accessing Elements with Indices and Labels
Intrastructure Editing Operations
Instance Blocks for Editing Convenience
Controlling Automatic Regeneration of the Screen Imaging
Interaction
Locator
Pick Correlation
Advanced Issues
Additional Output Features
Implementation Issues
Optimizing Display of Hierarchical Models
Limitations of Hierarchical Modeling in PHIGS
Alternative Forms of Hierarchical Modeling
Other (Industry) Standards
Summary
Exercises- 8. Input Devices, Interaction Techniques, and Interaction Tasks
- Interaction Hardware
Locator Devices
Keyboard Devices
Valuator Devices
Choice Devices
Other Devices
3D Interaction Devices
Basic Interaction Tasks
The Position Interaction Task
The Select Interaction Task-Variable-Sized Set of Choices
The Select Interaction Task-Relativity Fixed-Sized Choice
The Text Interaction Task
The Quantify Interaction Task
3D Interaction Tasks
Composite Interaction Tasks
Dialogue Boxes
Construction Techniques
Dynamic Manipulation
Interaction-Technique Toolkits
Summary
Exercises- 9. Representation of Curves and Surfaces
- Polygon Meshes
Representing Polygon Meshes
Plane Equations
Parametric Cubic Curves
Basic Characteristics
Hermite Curves
Bezier Curves
Uniforum Nonrational B-Splines
Nonuniforum, Rational Cubic Polynomial Curve Segments
Nonuniforum, Rational Cubic Polynomial Curve Segments
Fitting Curves to Digitized Points
Comparison of the Cubic Curves
Parametric Bicubic Surfaces
Hermite Surfaces
Bezier Surfaces
B-Spline Surfaces
Normals to Surfaces
Displaying Bicubic Surfaces
Quaddric Surfaces
Specialized Modeling Techniques
Fractal Models
Grammar-Based Models
Summary
Exercises- 10. Solid Modeling
- Representing Solids
Regularized Boolean Set Operation
Primitive Instancing
Sweep Representations
Boundary Representations
Polyhedra and EulerOs Formula
Boolean Set Operations
Spatial-Partioning Representations
Cell Decomposition
Spatial-Occupancy Enumeration
Octrees Binary Space-Partitioning Tress
Constructive Solid Geometry
Comparison of Representations
User Interface for Solid Modeling
Summary
Exercises- 11. Achromatic and Colored Light
- Acromatic Light
Selection of Intesities
Halftone Approximation
Chromatic Color
Psychophysics
The CIE Chromaticity Diagram
Color Models for Raster Graphics
The RGB Color Model
The CMY Color Model
The YIG Color Model
The HSV Color Model
Interactive Specification of Color
Interpolation in Color Space
Use of Color in Computer Graphics
Summary
Exercises- 12. The Quest for Visual Realism
- Why Realism?
Fundamental Difficulties
Rendering Techniques for Line Drawings
Multiple Orthographic Views
Perspective Projections
Depth Cueing
Depth Clipping
Texture
Color
Visible-Line Determination
Rendering Techniques for Shaded Images
Visible-Surface Determination
Illumination and Shading
Interpolated Shading
Material Properties
Modeling Curved Surfaces
Improved Illumination and Shading
Texture
Shadows
Transparency and Reflection
Improved Camera Models
Improved Object Models
Dynamics and Animation
The Value of Motion
Animation
Stereopsis
Improved Displays
Interacting With Our Other Senses
Summary
Exercises- 13. Visible-Surface Determination
- Techniques for Efficient Visible-Surface Algorithms
Coherence
The Perspective Transformation
Extents and Bounding Volumes
Back-Face Culling
Spatial Partitioning
Hierarchy
The z-Buffer Algorithm
Scan-Line Algorithms
Visible-Surface Ray Tracing
Computing Intersections
Efficiency Considerations for Visible-Surface Ray Tracing
Other Approaches
List Priority Algorithms
Area-Subdivision Algorithms
Algorithms for Curved Surfaces
Summary
Exercises- 14. Illumination and Shading
- Illumination Models
Ambient Light
Diffuse Reflection
Atmospheric Attenuation
Specular Reflection
Improving the Point-Light-Source Model
Multiple Light Sources
Physically Based Illumination Models
Shading Models for Polygons
Constant Shading
Interpolated Shading
Polygon Mesh Shading
Gouraud Shading
Phong Shading
Problems with Interpolated Shading
Surface Detail
Surface-Detail Polygons
Texture Mapping
Bump Mapping
Other Approaches
Shadows
Scan-Line Generation of Shadows
Shadow Volumes
Transparency
Nonrefractive Transparency
Refractive Transparency
Global Illumination Algorithms
Recursive Ray Tracing
Recursive Ray Tracing
Radiosity Methods
The Radiosity Equation
Computing Form Factors
Progressive Refinement
The Rendering Pipeline
Local Illumination Pipelines
Global Illumination Pipelines
Progressive Refinement
Summary
Exercises- Bibliography
- Index
L'auteur - 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.
L'auteur - 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 PowerOs Technical Advisory Board, and a member of MicrosoftOs Technical Advisory Board. A Fellow of both the IEEE Computer Society and of ACM, he is also cofounder of ACM SIGGRAPH.
L'auteur - Steven K. Feiner
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.
Caractéristiques techniques
PAPIER | |
Éditeur(s) | Addison Wesley |
Auteur(s) | James D. Foley, Andries Van Dam, Steven K. Feiner |
Parution | 15/08/1993 |
Nb. de pages | 556 |
Format | 19,5 x 24 |
Couverture | Relié |
Poids | 1100g |
EAN13 | 9780201609219 |
Avantages Eyrolles.com
Consultez aussi
- Les meilleures ventes en Graphisme & Photo
- Les meilleures ventes en Informatique
- Les meilleures ventes en Construction
- Les meilleures ventes en Entreprise & Droit
- Les meilleures ventes en Sciences
- Les meilleures ventes en Littérature
- Les meilleures ventes en Arts & Loisirs
- Les meilleures ventes en Vie pratique
- Les meilleures ventes en Voyage et Tourisme
- Les meilleures ventes en BD et Jeunesse