計(jì)算機(jī)圖形學(xué)(第四版)(英文版)
定 價(jià):169 元
叢書(shū)名:國(guó)外計(jì)算機(jī)科學(xué)教材系列
- 作者:Donald Hearn;(美)Donald Hearn(唐納德 · 赫恩), M. Pauline Baker(M. 波林 · 巴克), Warren R. Carithers(沃倫 · R. 卡里瑟斯)
- 出版時(shí)間:2021/4/1
- ISBN:9787121408373
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP391.411
- 頁(yè)碼:864
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)是一本內(nèi)容豐富、取材新穎的計(jì)算機(jī)圖形學(xué)著作,在其前一版的基礎(chǔ)上進(jìn)行了全面擴(kuò)充,增加了許多新的內(nèi)容,覆蓋了計(jì)算機(jī)圖形學(xué)的相關(guān)發(fā)展和成就。全書(shū)層次分明、重點(diǎn)突出,并附有使用OpenGL編寫(xiě)的大量程序及各種效果圖,是一本難得的優(yōu)秀教材。全書(shū)分為24章及3個(gè)附錄,全面系統(tǒng)地講解了計(jì)算機(jī)圖形學(xué)的基本概念和相關(guān)技術(shù)。作者首先對(duì)計(jì)算機(jī)圖形學(xué)進(jìn)行綜述;然后講解二維圖形的對(duì)象表示、算法和應(yīng)用,以及三維圖形的相關(guān)技術(shù)、建模和變換等;接著介紹光照模型、顏色模型和動(dòng)畫(huà)技術(shù);最后的附錄給出了計(jì)算機(jī)圖形學(xué)中用到的基本數(shù)學(xué)概念、圖形文件格式及OpenGL的相關(guān)內(nèi)容。
Donald Hearn 從1985年開(kāi)始任教于美國(guó)伊利諾伊大學(xué)Urbana-Champaigh分校的計(jì)算機(jī)科學(xué)系。Hearn博士擔(dān)任過(guò)多門(mén)課程的教學(xué)工作,包括計(jì)算機(jī)圖形學(xué)、科學(xué)計(jì)算可視化、計(jì)算科學(xué)、數(shù)學(xué)和應(yīng)用科學(xué)等。他還指導(dǎo)過(guò)多個(gè)研究項(xiàng)目并在相關(guān)領(lǐng)域發(fā)表了許多學(xué)術(shù)論文。M. Pauline Baker是美國(guó)印第安納大學(xué)-普度大學(xué)Indianapolis聯(lián)合分校(IUPUI)信息學(xué)院的教授。Baker教授主持印第安納大學(xué)可視化和交互空間滲透技術(shù)實(shí)驗(yàn)室的相關(guān)工作,也是伊利諾伊大學(xué)美國(guó)國(guó)家超級(jí)計(jì)算應(yīng)用中心(NCSA)的主任。Baker教授在康奈爾大學(xué)獲得心理學(xué)學(xué)士學(xué)位,在Syracuse大學(xué)獲得教育學(xué)碩士學(xué)位,并在伊利諾伊大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位。Warren R. Carithers于1981年加入美國(guó)羅切斯特理工大學(xué)計(jì)算機(jī)科學(xué)系。除了擔(dān)任多個(gè)院系計(jì)算機(jī)圖形學(xué)課程的授課,Carithers教授還講授其他領(lǐng)域的課程,包括操作系統(tǒng)、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與組織、系統(tǒng)軟件、編程語(yǔ)言設(shè)計(jì)和計(jì)算機(jī)安全等。<BR>Donald Hearn 從1985年開(kāi)始任教于美國(guó)伊利諾伊大學(xué)Urbana-Champaigh分校的計(jì)算機(jī)科學(xué)系。Hearn博士擔(dān)任過(guò)多門(mén)課程的教學(xué)工作,包括計(jì)算機(jī)圖形學(xué)、科學(xué)計(jì)算可視化、計(jì)算科學(xué)、數(shù)學(xué)和應(yīng)用科學(xué)等。他還指導(dǎo)過(guò)多個(gè)研究項(xiàng)目并在相關(guān)領(lǐng)域發(fā)表了許多學(xué)術(shù)論文。M. Pauline Baker是美國(guó)印第安納大學(xué)-普度大學(xué)Indianapolis聯(lián)合分校(IUPUI)信息學(xué)院的教授。Baker教授主持印第安納大學(xué)可視化和交互空間滲透技術(shù)實(shí)驗(yàn)室的相關(guān)工作,也是伊利諾伊大學(xué)美國(guó)國(guó)家超級(jí)計(jì)算應(yīng)用中心(NCSA)的主任。Baker教授在康奈爾大學(xué)獲得心理學(xué)學(xué)士學(xué)位,在Syracuse大學(xué)獲得教育學(xué)碩士學(xué)位,并在伊利諾伊大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位。Warren R. Carithers于1981年加入美國(guó)羅切斯特理工大學(xué)計(jì)算機(jī)科學(xué)系。除了擔(dān)任多個(gè)院系計(jì)算機(jī)圖形學(xué)課程的授課,Carithers教授還講授其他領(lǐng)域的課程,包括操作系統(tǒng)、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與組織、系統(tǒng)軟件、編程語(yǔ)言設(shè)計(jì)和計(jì)算機(jī)安全等。
Brief Contents
1 A Survey of Computer Graphics 25
2 Computer Graphics Hardware 33
3 Computer Graphics Software 59
4 Graphics Output Primitives 75
5 Attributes of Graphics Primitives 129
6 Implementation Algorithms for Graphics Primitives and Attributes 161
7 Two-Dimensional Geometric Transformations 219
8 Two-Dimensional Viewing 257
9 Three-Dimensional Geometric Transformations 303
10 Three-Dimensional Viewing 331
11 Hierarchical Modeling 383
12 Computer Animation 393
13 Three-Dimensional Object Representations 417
14 Spline Representations 435
15 Other Three-Dimensional Object Representations 491
16 Visible-Surface Detection Methods 503
17 Illumination Models and Surface-Rendering Methods 531
18 Texturing and Surface-Detail Methods 579
19 Color Models and Color Applications 603
20 Interactive Input Methods and Graphical User Interfaces 623
21 Global Illumination 663
22 Programmable Shaders 689
23 Algorithmic Modeling 719
24 Visualization of Data Sets 749
Contents
1 A Survey of Computer Graphics 25
1-1 Graphs and Charts 26
1-2 Computer-Aided Design 26
1-3 Virtual-Reality Environments 28
1-4 Data Visualizations 28
1-5 Education and Training 29
1-6 Computer Art 29
1-7 Entertainment 30
1-8 Image Processing 31
1-9 Graphical User Interfaces 31
1-10 Summary 32
2 Computer Graphics Hardware 33
2-1 Video Display Devices 34
2-2 Raster-Scan Systems 46
2-3 GraphicsWorkstations and Viewing Systems 49
2-4 Input Devices 50
2-5 Hard-Copy Devices 54
2-6 Graphics Networks 56
2-7 Graphics on the Internet 56
2-8 Summary 57
3 Computer Graphics Software 59
3-1 Coordinate Representations 60
3-2 Graphics Functions 61
3-3 Software Standards 62
3-4 Other Graphics Packages 63
3-5 Introduction to OpenGL 64
3-6 Summary 72
4 Graphics Output Primitives 75
4-1 Coordinate Reference Frames 76
4-2 Specifying A Two-Dimensional World-Coordinate Reference Frame in OpenGL 78
4-3 OpenGL Point Functions 79
4-4 OpenGL Line Functions 81
4-5 OpenGL Curve Functions 82
4-6 Fill-Area Primitives 83
4-7 Polygon Fill Areas 84
4-8 OpenGL Polygon Fill-Area Functions 94
4-9 OpenGL Vertex Arrays 100
4-10 Pixel-Array Primitives 102
4-11 OpenGL Pixel-Array Functions 103
4-12 Character Primitives 107
4-13 OpenGL Character Functions 109
4-14 Picture Partitioning 110
4-15 OpenGL Display Lists 111
4-16 OpenGL Display-Window Reshape Function 113
4-17 Summary 116
5 Attributes of Graphics Primitives 129
5-1 OpenGL State Variables 130
5-2 Color and Grayscale 130
5-3 OpenGL Color Functions 133
5-4 Point Attributes 139
5-5 OpenGL Point-Attribute Functions 139
5-6 Line Attributes 139
5-7 OpenGL Line-Attribute Functions 141
5-8 Curve Attributes 143
5-9 Fill-Area Attributes 144
5-10 OpenGL Fill-Area Attribute Functions 145
5-11 Character Attributes 150
5-12 OpenGL Character-Attribute Functions 153
5-13 OpenGL Antialiasing Functions 153
5-14 OpenGL Query Functions 154
5-15 OpenGL Attribute Groups 155
5-16 Summary 155
6 Implementation Algorithms for Graphics Primitives and Attributes 161
6-1 Line-Drawing Algorithms 162
6-2 Parallel Line Algorithms 168
6-3 Setting Frame-Buffer Values 170
6-4 Circle-Generating Algorithms 171
6-5 Ellipse-Generating Algorithms 177
6-6 Other Curves 184
6-7 Parallel Curve Algorithms 187
6-8 Pixel Addressing and Object Geometry 187
6-9 Attribute Implementations for Straight-Line Segments and Curves 190
6-10 General Scan-Line Polygon-Fill Algorithm 195
6-11 Scan-Line Fill of Convex Polygons 199
6-12 Scan-Line Fill for Regions with Curved Boundaries 200
6-13 Fill Methods for Areas with Irregular Boundaries 200
6-14 Implementation Methods for Fill Styles 204
6-15 Implementation Methods for Antialiasing 207
6-16 Summary 214
7 Two-Dimensional Geometric Transformations 219
7-1 Basic Two-Dimensional Geometric Transformations 220
7-2 Matrix Representations and Homogeneous Coordinates 225
7-3 Inverse Transformations 228
7-4 Two-Dimensional Composite
7-5 Other Two-Dimensional Transformations 240
7-6 Raster Methods for Geometric Transformations 244
7-7 OpenGL Raster Transformations 245
7-8 Transformations between Two-Dimensional Coordinate Systems 246
7-9 OpenGL Functions for Two-Dimensional Geometric Transformations 248
7-10 OpenGL Geometric-Transformation Programming Examples 252
7-11 Summary 253
8 Two-Dimensional Viewing 257
8-1 The Two-Dimensional Viewing Pipeline 258
8-2 The ClippingWindow 259
8-3 Normalization and Viewport Transformations 261
8-4 OpenGL Two-Dimensional Viewing Functions 265
8-5 Clipping Algorithms 274
8-6 Two-Dimensional Point Clipping 274
8-7 Two-Dimensional Line Clipping 275
8-8 Polygon Fill-Area Clipping 287
8-9 Curve Clipping 296
8-10 Text Clipping 297
8-11 Summary 298
9 Three-Dimensional Geometric Transformations 303
9-1 Three-Dimensional Translation 304
9-2 Three-Dimensional Rotation 305
9-3 Three-Dimensional Scaling 317
9-4 Composite Three-Dimensional Transformations 319
9-5 Other Three-Dimensional Transformations 322
9-6 Transformations between Three- Dimensional Coordinate Systems 323
9-7 Affine Transformations 324
9-8 OpenGL Geometric-Transformation Functions 324
9-9 OpenGL Three-Dimensional Geometric-Transformation Programming Examples 326
9-10 Summary 327
10 Three-Dimensional Viewing 331
10-1 Overview of Three-Dimensional Viewing Concepts 332
10-2 The Three-Dimensional Viewing Pipeline 334
10-3 Three-Dimensional Viewing-Coordinate Parameters 336
10-4 Transformation from World to Viewing Coordinates 338
10-5 Projection Transformations 340
10-6 Orthogonal Projections 340
10-7 Oblique Parallel Projections 345
10-8 Perspective Projections 351
10-9 The Viewport Transformation and Three-Dimensional Screen Coordinates 365
10-10 OpenGL Three-Dimensional Viewing Functions 365
10-11 Three-Dimensional Clipping Algorithms 371
10-12 OpenGL Optional Clipping Planes 379
10-13 Summary 380
11 Hierarchical Modeling 383
11-1 Basic Modeling Concepts 384
11-2 Modeling Packages 387
11-3 General Hierarchical Modeling Methods 387
11-4 Hierarchical Modeling Using OpenGL Display Lists 390
11-5 Summary 391
12 Computer Animation 393
12-1 Raster Methods for Computer Animation 394
12-2 Design of Animation Sequences 396
12-3 Traditional Animation Techniques 397
12-4 General Computer-Animation Functions 398
12-5 Computer-Animation Languages 398
12-6 Key-Frame Systems 399
12-7 Motion Specifications 404
12-8 Character Animation 406
12-9 Periodic Motions 408
12-10 OpenGL Animation Procedures 409
12-11 Summary 412
13 Three-Dimensional Object Representations 417
13-1 Polyhedra 418
13-2 OpenGL Polyhedron Functions 418
13-3 Curved Surfaces 421
13-4 Quadric Surfaces 422
13-5 Superquadrics 424
13-6 OpenGL Quadric-Surface and Cubic-Surface Functions 425
13-7 Summary 431
14 Spline Representations 435
14-1 Interpolation and Approximation Splines 436
14-2 Parametric Continuity Conditions 437
14-3 Geometric Continuity Conditions 438
14-4 Spline Specifications 439
14-5 Spline Surfaces 440
14-6 Trimming Spline Surfaces 440
14-7 Cubic-Spline Interpolation Methods 441
14-8 Bézier Spline Curves 447
14-9 Bézier Surfaces 455
14-10 B-Spline Curves 457
14-11 B-Spline Surfaces 466
14-12 Beta-Splines 466
14-13 Rational Splines 467
14-14 Conversion Between Spline Representations 469
14-15 Displaying Spline Curves and Surfaces 470
14-16 OpenGL Approximation-Spline Functions 474
14-17 Summary 485
15 Other Three-Dimensional Object Representations 491
15-1 Blobby Objects 492
15-2 Sweep Representations 493
15-3 Constructive Solid-Geometry Methods 494
15-4 Octrees 496
15-5 BSP Trees 498
15-6 Physically Based Modeling 499
15-7 Summary 500
16 Visible-Surface Detection Methods 503
16-1 Classification of Visible-Surface Detection Algorithms 504
16-2 Back-Face Detection 504
16-3 Depth-Buffer Method 505
16-4 A-Buffer Method 508
16-5 Scan-Line Method 510
16-6 Depth-Sorting Method 511
16-7 BSP-Tree Method 514
16-8 Area-Subdivision Method 515
16-9 Octree Methods 517
16-10 Ray-Casting Method 518
16-11 Comparison of Visibility-Detection Methods 519
16-12 Curved Surfaces 520
16-13 Wire-Frame Visibility Methods 521
16-14 OpenGL Visibility-Detection Functions 523
16-15 Summary 526
17 Illumination Models and Surface-Rendering Methods 531
17-1 Light Sources 532
17-2 Surface Lighting Effects 536
17-3 Basic Illumination Models 537
17-4 Transparent Surfaces 546
17-5 Atmospheric Effects 549
17-6 Shadows 550
17-7 Camera Parameters 550
17-8 Displaying Light Intensities 550
17-9 Halftone Patterns and Dithering Techniques 553
17-10 Polygon Rendering Methods 559
17-11 OpenGL Illumination and Surface-Rendering Functions 564
17-12 Summary 575
18 Texturing and Surface-Detail Methods 579
18-1 Modeling Surface Detail with Polygons 580
18-2 Texture Mapping 580
18-3 Bump Mapping 585
18-4 Frame Mapping 586
18-5 OpenGL Texture Functions 587
18-6 Summary 599
19 Color Models and Color Applications 603
19-1 Properties of Light 604
19-2 Color Models 606
19-3 Standard Primaries and the Chromaticity Diagram 607
19-4 The RGB Color Model 610
19-5 The YIQ and Related Color Models 612
19-6 The CMY and CMYK Color Models 613
19-7 The HSV Color Model 614
19-8 The HLS Color Model 618
19-9 Color Selection and Applications 619
19-10 Summary 619
20 Interactive Input Methods and Graphical User Interfaces 623
20-1 Graphical Input Data 624
20-2 Logical Classification of Input Devices 624
20-3 Input Functions for Graphical Data 627
20-4 Interactive Picture-Construction Techniques 629
20-5 Virtual-Reality Environments 632
20-6 OpenGL Interactive Input-Device Functions 632
20-7 OpenGL Menu Functions 648
20-8 Designing a Graphical User Interface 654
20-9 Summary 657
21 Global Illumination 663
21-1 Ray-Tracing Methods 664
21-2 Radiosity Lighting Model 678
21-3 Environment Mapping 684
21-4 Photon Mapping 685
21-5 Summary 686
22 Programmable Shaders 689
22-1 A History of Shading Languages 690
22-2 The OpenGL Pipeline 694
22-3 The OpenGL Shading Language 697
22-4 Shader Effects 707
22-5 Summary 717
23 Algorithmic Modeling 719
23-1 Fractal-Geometry Methods 720
23-2 Particle Systems 743
23-3 Grammar-Based Modeling Methods 744
23-4 Summary 746
24 Visualization of Data Sets 749
24-1 Visual Representations for Scalar Fields 750
24-2 Visual Representations for Vector Fields 752
24-3 Visual Representations for Tensor Fields 752
24-4 Visual Representations for Multivariate Data Fields 753
24-5 Summary 753
A Mathematics for Computer Graphics 755
A-1 Coordinate Reference Frames 755
A-2 Points and Vectors 759
A-3 Tensors 763
A-4 Basis Vectors and the Metric Tensor 763
A-5 Matrices 766
A-6 Complex Numbers 769
A-7 Quaternions 771
A-8 Nonparametric Representations 772
A-9 Parametric Representations 773
A-10 Rate-of-Change Operators 774
A-11 Rate-of-Change Integral Transformation Theorems 776
A-12 Area and Centroid of a Polygon 779
A-13 Calculating Properties of Polyhedra 781
A-14 Numerical Methods 782
B Graphics File Formats 791
B-1 Image-File Configurations 791
B-2 Color-Reduction Methods 792
B-3 File-Compression Techniques 793
B-4 Composition of the Major File Formats 800
B-5 Summary 805
C The World of OpenGL 807
C-1 The Evolution of OpenGL 807
C-2 OpenGL beyond C and C++ 816
C-3 GPU Architecture, Past, Present, and Future 827
Bibliography 837
Index 849
OpenGL Function Index 861