计算机图形学导论(英文版)
作者 : James D.Foley,Andries van Dam,Steven K.Feiner,John F.Hughes,Richard L.Phillips
丛书名 : 经典原版书库
出版日期 : 2003-12-01
ISBN : 7-111-13413-3
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 556
开本 : 16开
原书名 : Introduction to Computer Graphics
原出版社: Addison-Wesley
属性分类: 教材
包含CD :
绝版 :
图书简介

图形学领域的权威之作《计算机图形学原理及实践——C语言描述》是经典的计算机图形学教材,本书是《计算机图形学原理及实践——C语言描述》一书的简写版。本书主要面向计算机图形学的初学者和没有相关技术背景的读者,主题包括基本图形学编程、硬件及应用,二维和三维图形学的重要算法,同时还包括大量的习题、示例和彩色插图。本书的程序代码全部采用C语言编写,增强了可用性。
  本书非常适合作为计算机专业计算机图形学课程的教材。

图书特色

James Foley (Ph.D., University of Michigan) is founder and Director of the Graph-ics, Visualization & Usability Center at Georgia Institute of Technology, where he is also Professor of Computer Science and Professor of Electrical Engineering.
Coauthor with Andries van Dam of Fundamentals of lnteractive Computer Graphics, Dr. Foley is a member of ACM, ACM SIGGRAPH, ACM SIGCHI, the Human Factors Society, IEEE, and the IEEE Computer Society. He is editor-in-chief of ACM Transactions on Graphics, and serves on the editorial boards of Computers and Graphics and Presence. His research interests are UIDE (the User Interface Design Environment, a model-based user interface development tool), user interface software, information visualization, multimedia, and human factors of the user interface. Dr. Foley is a Fellow of the IEEE, and a member of Phi Beta Kappa,Tau Beta Pi, and Sigma Xi.
Andries van Dam (Ph.D., University of Pennsylvania) was one of the founders and the first chairman of the computer science department at Brown University. He is currently L. Herbert Ballou University Professor and professor of computer science at Brown, and senior consulting scientist at BLOC Development and Electronic Book Technologies, and on Technical Advisory Boards for ShoGraphics and Microsoft. A member of the IEEE Computer Society and ACM, he is also
cofounder of ACM SIGGRAPH. Dr. van Dam helped found and was an editor of Computer Graphics and Image Processing and of ACM Transactions on Graphics.
Coauthor of the widely used book Fundamentals oflnteractive Computer Graphics with James Foley and of Pascal on the Macintosh: A Graphical Approach with David Niguidula, he has, in addition, published over eighty papers. In 1984 he received an IEEE Centennial Medal; in 1988 the state of Rhode Island Governor's Science and Technology Award; in 1990, the NCGA Academic Award; and in
1991, the SIGGRAPH Steven A. Coons Award. Dr. van Dam's research interests include hypermedia, electronic books, and high-,performance workstations for teaching and research.
Steven Feiner (Ph.D., Brown University) is associate professor of computer science at Columbia University where he directs the computer graphics and user interface laboratory. His current research focuses on picture synthesis, applications of artificial intelligence to computer graphics, user interfaces, animation, virtual worlds, and hypermedia systems. He is also involved with the development of knowledge-based systems that automate the design and layout of graphical user interfaces. Dr. Feiner is on the editorial boards of Electronic Publishing and ACM
Transactions on Information Systems, and 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 forty papers and presented in numerous tutorials and panels.
John 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 include the application of mathematics to computer graphics for scientific and mathematical visualization,automated computer animation, foundations of computer graphics, and interactive illustration. He is a member of ACM SIGGRAPH and the IEEE Computer Society.
Recent papers have appeared in Computer Graphics and Topology, and his work on sphere eversions was described in a cover article for Science News.
Richard Phillips (Ph.D., University of Michigan) is principally responsible for this adaptation of CGPP. Dr. Phillips is Professor Emeritus of Electrical and Computer Engineering, and Aerospace Engineering at the University of Michigan. There, as founding director of the Computer Aided Engineering Network, he was instrumental in establishing a several hundred node workstation network for student and faculty use in the College of Engineering. He was also founding director of the Center for Information Technology Integration. He is currently a technical staff member at
Los Alamos National Laboratory, where his current research interests are scientific visualization, multimedia workstations, distributed computing, and multimedia digital publication. He is a member of IEEE and ACM and serves on the editorial board of Computers and Graphics.

图书前言

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. There are chapters, however, where, because of the dizzying pace at which the field is moving, older material was dropped and hardware performance and cost figures were updated. One such example can be found in Chapter4, where the statement from CGPP--which, bear in mind was just published in1990--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 Graphicsare:
  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 corre spondence 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 page 559).
  ~ 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 B6zier parametric cubic curves.
  ~ The importance of computer graphics to the emerging field of multimedia is introduced by describing some examples, complete with figures, and providng 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 can 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.
  A two-semester course covering 2D and 3D graphics, modeling, and rendering. All chapters (possibly 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. 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 eim@cs.brown.edu. 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 Intemet 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 halftones, 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 provided.

Acknowledgments
  First, it should be stated that while all the authors 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 wa.s a guest author for CGPP, and much of the material he contributed to that book remains here in Chapters 2 and 7. He was also 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.             
R.L.P.

作者简介

James D.Foley,Andries van Dam,Steven K.Feiner,John F.Hughes,Richard L.Phillips:James D.Foley: James D. Foley(密歇根大学博士)是美国佐治亚理工学院计算机科学系和电子工程系教授,图形学、可视化及可用性研究中心主任、创始人。他和Andries van Dam一起是《Fundamentals of Interactive Computer Graphics》一书的作者。他是ACM、ACM SIGGRAPH、ACM SIGCHI、the Human Factors Society、IEEE、IEEE 计算机学会会员、《ACM Transactions on Graphics》主编。《Computers and Graphics》和许多著名杂志的编委。研究领域是用户界面设计环境(UIDE,一种基于模型的用户界面开发工具)、用户界面软件、信息可视化、多媒体和用户界面中的人的因素。他还是IEEE会员,Phi Beta Kappa、Tau Beta Pi和Sigma Xi的成员。
Andries van Dam: Andries van Dam(宾夕法尼亚大学博士)是美国布朗大学计算机科学系创始人和首任系主任,目前是L. Herbert Ballou大学和布朗大学计算机科学系教授,BLOC Development 和 Electronic Book Technologies公司的高级顾问科学家,ShoGraphics和Microsoft公司的技术顾问委员会成员,IEEE 计算机学会会员和ACM会员,也是 ACM SIGGRAPH创始人之一。van Dam帮助创建了《Computer Graphics and Image Processing》和《ACM Transactions on Graphics》杂志,并曾任其编辑。他和James Foley一起是《Funda mentals of Interactive Computer Graphics》一书的作者,和David Niguidula一起是《Pascal on the Macintosh: A Graphical Approach》一书的作者。已发表了80余篇论文。1984年获IEEE Centennial Medal奖,1988年获罗得岛州政府的科学技术奖,1990年获NCGA学术奖;1991年获SIGGRAPH Steven A. Coons奖。他的研究领域包括超媒体、电子书和用于教学研究的高性能工作站。
Steven K.Feiner: 于布朗大学获得博士学位,是哥伦比亚大学计算机科学系副教授,负责计算机图形学组。他也是ACM SIGGRAPH和IEEE计算机学会成员。
John F.Hughes: 于加州大学伯克利分校获得博士学位,是布朗大学计算机科学和数学系教授,他与[URL=/Authors/ShowAuthors.aspx?AuthorID=43]Andries van Dam[/URL]共同负责计算机图形学组。他也是ACM SIGGRAPH和IEEE计算机学会成员。
Richard L.Phillips: 于密歇根大学获得博士学位,是密歇根大学电子与计算机工程系退休教授。他现在是Los Alamos国家实验室科学家,也是ACM和IEEE成员。

图书目录

1 Introducing: Computer Graphics 1
1.1 A Few Uses of Computer Graphics 1
1.2 A Brief History of Computer Graphics 6
1.2.1 Output Technology 8
1.2.2 Input Technology 11
1.2.3 Software Portability and Graphics Standards 12
1.3 The Advantages of Interactive Graphics 14
1.4 Conceptual Framework for Interactive Graphics 15
1.4.1 Application Modeling 16
1.4.2 Display of the Model 16
1.4.3 Interaction Handling 17
SUMMARY 18
Exercises 19
2 Programming in the Simple Raster
Graphics Package (SRGP)   21
2.1 Drawing with SRGP 22
2.1.1 Specification of Graphics Primitives 22
2.1.2 Attributes 27
2.1.3 Filled Primitives and Their Attributes 29
2.1.4 Saving and Restoring Attributes 33
2.1.5 Text 33
2.2 Basic Interaction Handling 36
2.2.1 Human Factors 36
2.2.2 Logical Input Devices 37
2.2.3 Sampling Versus Event-Driven Processing 38
2.2.4 Sample Mode 40
2.2.5 Event Mode 41
2.2.6 Pick Correlation for Interaction Handling 45
2.2.7 Setting Device Measure and Attributes 47
2.3 Raster Graphics Features 49
2.3.1 Canvases 49
2.3.2 Clipping Rectangles 52
2.3.3 The SRGP_copyPixel Operation 52
2.3.4 Write Mode or RasterOp 54
2.4 Limitations of SRGP 58
2.4.1 Application Coordinate Systems 58
2.4.2 Storage of Primitives for Respecification 59
SUMMARY 61
Exercises 62
Programming Projects 63
3 Basic Raster Graphics Algorithms for Drawing
2D Primitives  65
3.1 Overview 66
3.1.1 Implications of Display-System Architecture 66
3.1.2 The Output Pipeline in Software 69
3.2 Scan Converting Lines 70
3.2.1 The Basic Incremental Algorithm 71
3.2.2 Midpoint Line Algorithm 73
3.2.3 Additional Issues 77
3.3 Scan Converting Circles 80
3.3.1 Eight-Way Symmetry 80
3.3.2 Midpoint Circle Algorithm 81
3.4 Filling Rectangles 85
3.5 Filling Polygons 87
3.5.1 Horizontal Edges 89
3.5.2 Slivers 90
3.5.3 Edge Coherence and the Scan-Line Algorithm 90
3.6 Pattern Filling 94
3.6.1 Pattern Filling Using Scan Conversion 94
3.6.2 Pattern Filling Without Repeated Scan Conversion 95
3.7 Thick Primitives 97
3.7.1 Replicating Pixels 98
3.7.2 The Moving Pen 99
3.8 Clipping in a Raster World 100
3.9 Clipping Lines 101
3.9.1 Clipping Endpoints 102
3.9.2 Clipping Lines by Solving Simultaneous Equations 102
3.9.3 The Cohen-Sutherland Line-Clipping Algorithm 103
3.9.4 A Parametric Line-Clipping Algorithm 107
3.10 Clipping Circles 111
3.11 Clipping Polygons 112
3.11.1 The Sutherland-Hodgman Polygon-Clipping Algorithm 112
3.12 Generating Characters 116
3.12.1 Defining and Clipping Characters 116
3.12.2 Implementing a Text Output Primitive 117
3.13 SRGP_copyPixel 119
3.14 Antialiasing 119
3.14.1 Increasing Resolution 119
3.14.2 Unweighted Area Sampling 120
3.14.3 Weighted Area Sampling 122
3.15 Advanced Topics 125
SUMMARY 126
Exercises 126
4 Graphics Hardware  129
4.1 Hardcopy Technologies 130
4.2 Display Technologies 135
4.3 Raster-scan Display Systems 141
4.3.1 Simple Raster Display System 142
4.3.2 Raster Display System with Peripheral Display Processor 145
4.3.3 Additional Display-Processor Functionality 148
4.3.4 Raster Display System with Integrated Display Processor 150
4.4 The Video Controller 151
4.4.1 Video Mixing 152
4.5 Input Devices for Operator Interaction 153
4.5.1 Locator Devices 153
4.5.2 Keyboard Devices 156
4.5.3 Valuator Devices 156
4.5.4 Choice Devices 157
4.6 Image Scanners 157
Exercises 158
5 Geometrical Transformations  161
5.1 Mathematical Preliminaries 161
5.1.1 Vectors and Their Properties 162
5.1.2 The Vector Dot Product 164
5.1.3 Properties of the Dot Product 164
5.1.4 Matrices 165
5.1.5 Matrix Multiplication 165
5.1.6 Determinants 166
5.1.7 Matrix Transpose 166
5.1.8 Matrix Inverse 167
5.2 2D Transformations 168
5.3 Homogeneous Coordinates and Matrix Representation of 2D
Transformations 170
5.4 Composition of 2D Transformations 175
5.5 The Window-to-Viewport Transformation 177
5.6 Efficiency 179
5.7 Matrix Representation of 3D Transformations 180
5.8 Composition of 3D Transformations 183
5.9 Transformations as a Change in Coordinate System 187
Exercises 191
6 Viewing in 3D  193
6.1 The Synthetic Camera and Steps In 3D Viewing 193
6.2 Projections 195
6.2.1 Perspective Projections 197
6.2.2 Parallel Projections 198
6.3 Specification of an Arbitrary 3D View 201
6.4 Examples of 3D Viewing 206
6.4.1 Perspective Projections 207
6.4.2 Parallel Projections 211
6.4.3 Finite View Volumes 212
6.5 The Mathematics of Planar Geometric Projections 213
6.6 Implementation of Planar Geometric Projections 216
6.6.1 The Parallel Projection Case 217
6.6.2 The Perspective Projection Case 222
6.6.3 Clipping Against a Canonical View Volume in 3D 227
6.6.4 Clipping in Homogeneous Coordinates 229
6.6.5 Mapping into a Viewport 231
6,6.6 Implementation Summary 233
6.7 Coordinate Systems 234
Exercises 235
7 Object Hierarchy and Simple PHIGS (SPHIGS)    239
7.1 Geometric Modeling 240
7.1.1 Geometric Models 242
7.1.2 Hierarchy in Geometric Models 243
7.1.3 Relationship Among Model, Application Program, and Graphics
System 245
7.2 Characteristics of Retained-Mode Graphics Packages 247
7.2.1 Central Structure Storage and Its Advantages 247
7.2.2 Limitations of Retained-Mode Packages 248
7.3 Defining and Displaying Structures 249
7.3.1 Opening and Closing Structures 249
7.3.2 Specifying Output Primitives and Their Attributes 250
7.3.3 Posting Structures for Display Traversal 253
7.3.4 Viewing 253
7.3.5 Graphics Applications Sharing a Screen via Window
Management 256
7.4 Modeling Transformations 257
7.5 Hierarchical Structure Networks 262
7.5.1 Two-Level Hierarchy 262
7.5.2 Simple Three-Level Hierarchy 263
7.5.3 Bottom-Up Construction of the Robot 265
7.5.4 Interactive Modeling Programs 268
7.6 Matrix Composition in Display Traversal 269
7.7 Appearance-Attribute Handling in Hierarchy 273
7.7.1 Inheritance Rules 273
7.7.2 SPHIGS Attributes and Text Unaffected by
Transformations 275
7.8 Screen Updating and Rendering Modes 276
7.9 Structure Network Editing for Dynamic Effects 277
7.9.1 Accessing Elements with Indices and Labels 278
7.9.2 Intrastructure Editing Operations 278
7.9.3 Instance Blocks for Editing Convenience 279
7.9.4 Controlling Automatic Regeneration of the Screen Image 281
7.10 Interaction 282
7.10.1 Locator 282
7.10.2 Pick Correlation 282
7.11 Advanced Issues 289
7.11.1 Additional Output Features 289
7.11.2 Implementation Issues 290
7.11.3 Optimizing Display of Hierarchical Models 292
7.11.4 Limitations of Hierarchical Modeling in PHIGS 292
7.11.5 Alternative Forms of Hierarchical Modeling 293
7.11.6 Other (Industry) Standards 293
SUMMARY 294
Exercises 295
8 Input Devices, Interaction Techniques, and
Interaction Tasks 297
8.1 Interaction Hardware 298
8.1.1 Locator Devices 299
8.1.2 Keyboard Devices 300
8.1.3 Valuator Devices 300
8.1.4 Choice Devices 301
8.1.5 Other Devices 301
8.1.6 3D Interaction Devices 301
8.2 Basic Interaction Tasks 304
8.2.1 The Position Interaction Task 304
8.2.2 The Select Interaction Task--Variable-Sized Set of
Choices 305
8.2.3 The Select Interaction Task--Relatively Fixed-Sized Choice
Set 308
8.2.4 The Text Interaction Task 311
8.2.5 The Quantify Interaction Task 311
8.2.6 3D Interaction Tasks 312
8.3 Composite Interaction Tasks 314
8.3.1 Dialogue Boxes 315
8.3.2 Construction Techniques 315
8.3.3 Dynamic Manipulation 316
8.4 Interaction-Technique Toolkits 318
SUMMARY 319
Exercises 319
9 Representation of Curves and Surfaces   321
9.1 Polygon Meshes 323
9.1.1 Representing Polygon Meshes 323
9.1.2 Plane Equations 325
9.2 Parametric Cubic Curves 328
9.2.1 Basic Characteristics 329
9.2.2 Hermite Curves 332
9.2.3 Bezier Curves 336
9.2.4 Uniform Nonrational B-Splines 342
9.2.5 Nonuniform, Nonrational B-Splines 345
9.2.6 Nonuniform, Rational Cubic Polynomial Curve Segments 348
9.2.7 Fitting Curves to Digitized Points 348
9.2.8 Comparison of the Cubic Curves 349
9,3 Parametric Bicubic Surfaces 351
9.3.1 Hermite Surfaces 351
9.3.2 Bezier Surfaces 353
9.3.3 B-Spline Surfaces 354
9.3.4 Normals to Surfaces 354
9.3.5 Displaying Bicubic Surfaces 355
9.4 Quadric Surfaces 357
9.5 Specialized Modeling Techniques 358
9.5.1 Fractal Models 358
9.5.2 Grammar-Based Models 363
SUMMARY 366
Exercises 367
10 Solid Modeling   369
10.1 Representing Solids 370
10.2 Regularized Boolean Set Operations 371
10.3 Primitivelnstancing 375
10.4 Sweep Representations 376
10.5 Boundary Representations 377
10.5.1 Polyhedra and Euler's Formula 378
10.5.2 Boolean Set Operations 380
10.6 Spatial-PartitioningRepresentations 381
10.6.1 Cell Decomposition 381
10.6.2 Spatial-Occupancy Enumeration 382
10.6.3 0ctrees 383
10.6.4 Binary Space-Partitioning Trees 386
10.7 Constructive Solid Geometry 388
10.8 Comparison of Representations 390
10.9 User Interfaces for Solid Modeling 392
SUMMARY 392
Exercises 393
11 Achromatic and Colored Light    395
11.1 Achromatic Light 395
11.1.1 Selection of Intensities 396
11.1.2 Halftone Approximation 399
11.2 Chromatic Color 402
11.2.1 Psychophysics 403
11.2.2 The CIE Chromaticity Diagram 406
11.3 Color Models for Raster Graphics 410
11.3.1 The RGB Color Model 410
11.3.2 The CMY Color Model 411
11.3.3 The YIO Color Model 412
11.3.4 The HSV Color Model 413
11.3.5 Interactive Specification of Color 417
11.3.6 Interpolation in Color Space 418
11.4 Use of Color in Computer Graphics 418
SUMMARY 421
Exercises 421
12 The Quest for Visual Realism   423
12.1 Why Realism 424
12.2 Fundamental Difficulties 425
12.3 Rendering Techniques for Line Drawings 427
12.3.1 Multiple Orthographic Views 427
12.3.2 Perspective Projections 428
12.3.3 Depth Cueing 428
12.3.4 Depth Clipping 429
12.3.5 Texture 429
12.3.6 Color 429
12.3.7 Visible-Line Determination 429
12.4 Rendering Techniques for Shaded Images 430
12.4.1 Visible-Surface Determination 430
12.4.2 Illumination and Shading 430
12.4.3 Interpolated Shading 431
12.4.4 Material Properties 431
12.4.5 Modeling Curved Surfaces 432
12.4.6 Improved Illumination and Shading 432
12.4.7 Texture 432
12.4.8 Shadows 432
12.4.9 Transparency and Reflection 432
12.4.10 Improved Camera Models 433
12.5 Improved Object Models 433
12.6 Dynamics and Animation 434
12.6.1 The Value of Motion 434
12.6.2 Animation 434
12.7 Stereopsis 437
12.8 Improved Displays 438
12.9 Interacting with Our Other Senses 438
SUMMARY 439
Exercises 440
13 Visible-Surface Determination   441
13.1 Techniques for Efficient Visible-Surface Algorithms 443
13.1.1 Coherence 443
13.1.2 The Perspective Transformation 444
13.1.3 Extents and Bounding Volumes 446
13.1.4 Back-Face Culling 448
13.1.5 Spatial Partitioning 449
13.1.6 Hierarchy 450
13.2 The z-Buffer Algorithm 451
13.3 Scan-Line Algorithms 454
13.4 Visible-Surface Ray Tracing 459
13.4.1 Computing Intersections 460
13.4.2 Efficiency Considerations for Visible-Surface Ray
Tracing 462
13.5 0therApproaches 465
13.5.1 List-PriorityAIgorithms 465
13.5.2 Area-Subdivision Algorithms 468
13.5.3 Algorithms for Curved Surfaces 471
SUMMARY 473
Exercises 474
14 Illumination and Shading   477
14.1 Illumination Models 478
14.1.1 Ambient Light 478
14.1.2 Diffuse Reflection 479
14.1.3 Atmospheric Attenuation 483
14.1.4 Specular Reflection 484
14.1.5 Improving the Point-Light-Source Model 487
14.1.6 Multiple Light Sources 488
14.1.7 Physically Based Illumination Models 489
14.2 Shading Models for Polygons 491
14.2.1 Constant Shading 492
14.2.2 Interpolated Shading 492
14.2.3 Polygon Mesh Shading 493
14.2.4 Gouraud Shading 494
14.2.5 Phong Shading 495
14.2.6 Problems with Interpolated Shading 496
14.3 Surface Detail 498
14.3.1 Surface-Detail Polygons 498
14.3.2 Texture Mapping 498
14.3.3 Bump Mapping 500
14.3.4 0therApproaches 501
14.4 Shadows 501
14.4.1 Scan-Line Generation of Shadows 502
14.4.2 Shadow Volumes 503
14.5 Transparency 505
14.5.1 Nonrefractive Transparency 505
14.5.2 Refractive Transparency 507
14.6 Global Illumination Algorithms 509
14.7 Recursive Ray Tracing 510
14.8 Radiosity Methods 514
14.8.1 The Radiosity Equation 515
14.8.2 Computing Form Factors 517
14.8.3 Progressive Refinement 519
14.9 The Rendering Pipeline 521
14.9.1 Local Illumination Pipelines 521
14.9.2 Global Illumination Pipelines 523
14.9.3 Progressive Refinement 524
SUMMARY 525
Exercises 525
Bibliography 527
Index 545

教学资源推荐
作者: (英)Maria Petrou, (希)Panagiota Bosdogianni
作者: [加] 励泽年(Ze-Nian Li) 马克·S.德鲁(Mark S. Drew) 刘江川(Jiangchuan Liu)著
作者: 彭波 孙一林 等
作者: 杨晓钟 孙振萍 陈建 宫兵 等
参考读物推荐
作者: 柯霖廷 等编著
作者: 陈小龙 编著
作者: 张璇等编