书籍详情

计算机图形学导论:英文版

计算机图形学导论:英文版

作者:(美)James D.Foley等著

出版社:机械工业出版社

出版时间:2003-12-01

ISBN:9787111134138

定价:¥59.00

购买这本书可以去
内容简介
  图形学领域的权威之作《计算机图形学原理及实践——C语言描述》是经典的计算机图形学教材,本书是《计算机图形学原理及实践——C语言描述》一书的简写版。本书主要面向计算机图形学的初学者和没有相关技术背景的读者,主题包括基本图形学编程、硬件及应用,二维和三维图形学的重要算法,同时还包括大量的习题、示例和彩色插图。本书的程序代码全部采用C语言编写,增强了可用性。本书非常适合作为计算机专业计算机图形学课程的教材。作者简介JamesD.Foley于密歇根大学获得博士学位,是佐治亚理工学院教授,图形学、可视化及可用性研究中心创始人,现任该中心主任。他还是ACM、ACMSIGGRAPH、ACMSIGCHI、IEEE成员。AndriesvanDam子宾夕法尼亚大学获得博士学位,是布朗大学计算机科学系创始人之一,而且是该系的首任系主任,现为该系教授。他是IEEE计算机学会及ACM成员,ACMSIGGRAPH的创始人之一。StevenK.Feiner于布朗大学获得博士学位,是哥伦比亚大学计算机科学系副教授,负责计算机图形学组。他也是ACMSIGGRAPH和IEEE计算机学会成员。JohnF.Hughes于加利福尼亚大学伯克利分校获得博士学位,是布朗大学计算机科学和数学系教授,他与AndriesvanDam共同负责计算机图形学组。他也是ACMSIGGRAPH和IEEE计算机学会成员。RichardL.Phillips于密歇根大学获得博士学位,是密歇根大学电子与计算机工程系退休教授。他现在是LosAlamos国家实验室科学家,也是ACM和IEEE成员。
作者简介
  JamesD.Foley于密歇根大学获得博士学位,是佐治亚理工学院教授,图形学、可视化及可用性研究中心创始人,现任该中心主任。他还是ACM、ACMSIGRAPH、ACMSIGCHI、IEEE成员。AmdriesvanDam于宾夕尼大学获得博士学位,是布朗大学计算机科学系创始人之一,而且是该系的首任系主任,现为该系教授。他是IEEE计算机学会及ACM成员,ACMSIGRAPH的创始人之一。John.F.Hughes于加利福尼大学伯克利分机关校获得博士学位,是布朗朋学计算机图形学组,他也是ACMSIGRAPH和IEEE计算机学会成员。RichardL.phillips于密歇根大学获得博士学位,是密歇根大学电子与计算机工程系退休教授,他现在是LosAlamosL国家实验室科学家,也是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                  

猜您喜欢

读书导航