图书介绍
交互式计算机图形学2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)(安杰尔)EdwardAngel著 著
- 出版社: 北京:高等教育出版社
- ISBN:7040137240
- 出版时间:2003
- 标注页数:722页
- 文件大小:151MB
- 文件页数:755页
- 主题词:图形软件,OpenGL-高等学校-教材-英文
PDF下载
下载说明
交互式计算机图形学PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
CHAPTER 1 Graphics Systems and Models1
1.1 Applications of Computer Graphics2
1.1.1 Display of Information2
1.1.2 Design3
1.1.3 Simulation and Animation3
1.1.4 User Interfaces4
1.2 A Graphics System5
1.2.1 Pixels and the Frame Buffer5
1.2.2 Output Devices7
1.2.3 Input Devices9
1.3 Images: Physical and Synthetic9
1.3.1 Objects and Viewers9
1.3.2 Light and Images11
1.3.3 Ray Tracing13
1.4 The Human Visual System15
1.5 The Pinhole Camera17
1.6 The Synthetic-Camera Model19
1.7 The Programmer's Interface21
1.7.1 Application Programmer's Interfaces22
1.7.2 The Pen-Plotter Model22
1.7.3 Three-Dimensional APIs24
1.7.4 A Sequence of Images26
1.7.5 The Modeling-Rendering Paradigm27
1.8 Graphics Architectures28
1.8.1 Display Processors29
1.8.2 Pipeline Architectures29
1.8.3 Transformations31
1.8.4 Clipping31
1.8.5 Projection32
1.8.6 Rasterization32
1.8.7 Performance Characteristics32
1.9 Summary and Notes33
1.10 Suggested Readings34
Exercises35
CHAPTER 2 Graphics Programming37
2.1 The Sierpinski Gasket37
2.2 Programming Two-Dimensional Applications39
2.2.1 Coordinate Systems44
2.3 The OpenGL API44
2.3.1 Graphics Functions44
2.3.2 The Graphics Pipeline and State Machines46
2.3.3 The OpenGL Interface46
2.4 Primitives and Attributes47
2.4.1 Polygon Basics50
2.4.2 Polygon Types in OpenGL51
2.4.3 Drawing a Sphere52
2.4.4 Text53
2.4.5 Curved Objects55
2.4.6 Attributes56
2.5 Color57
2.5.1 RGB Color61
2.5.2 Indexed Color63
2.5.3 Setting of Color Attributes64
2.6 Viewing65
2.6.1 Two-Dimensional Viewing66
2.6.2 The Orthographic View67
2.6.3 Matrix Modes68
2.7 Control Functions68
2.7.1 Interaction with the Window System69
2.7.2 Aspect Ratio and Viewports70
2.7.3 The main,display,and myinit Functions72
2.7.4 Program Structure73
2.8 The Gasket Program74
2.9 Polygons and Recursion75
2.10 The Three-Dimensional Gasket77
2.10.1 Use of Three-Dimensional Points78
2.10.2 Use of Polygons in Three Dimensions79
2.10.3 Hidden-Surface Removal81
2.11 Summary and Notes82
2.12 Suggested Readings84
Exercises85
CHAPTER 3 Input and Interaction89
3.1 Interaction89
3.2 Input Devices90
3.2.1 Physical Input Devices91
3.2.2 Logical Devices94
3.2.3 Measure and Trigger95
3.2.4 Input Modes95
3.3 Clients and Servers97
3.4 Display Lists98
3.4.1 Definition and Execution of Display Lists100
3.4.2 Text and Display Lists102
3.4.3 Fonts in GLUT105
3.5 Programming Event-Driven Input106
3.5.1 Using the Pointing Device106
3.5.2 Window Events110
3.5.3 Keyboard Events111
3.5.4 The Display and Idle Callbacks112
3.5.5 Window Management113
3.6 Menus113
3.7 Picking114
3.7.1 Picking and Selection Mode116
3.8 A Simple Paint Program121
3.9 Animating Interactive Programs127
3.9.1 The Rotating Square127
3.9.2 Double Buffering129
3.9.3 Other Buffering Problems130
3.10 Design of Interactive Programs132
3.10.1 Toolkits,Widgets,and the Frame Buffer132
3.11 Logic Operations133
3.11.1 Drawing Erasable Lines135
3.11.2 XORand Color137
3.11.3 Cursors and Overlay Planes137
3.12 Summary and Notes138
3.13 Suggested Readings139
Exercises140
CHAPTER 4 Geometric Objects and Transforrnations143
4.1 Scalars,Points,and Vectors144
4.1.1 The Geometric View144
4.1.2 Coordinate-Free Geometry146
4.1.3 The Mathematical View:Vector and Affine Spaces146
4.1.4 The Computer-Science View147
4.1.5 Geometric ADTs148
4.1.6 Lines149
4.1.7 Affine Sums149
4.1.8 Convexity150
4.1.9 Dot and Cross Products150
4.1.10 Planes151
4.2 Three-Dimensional Primitives152
4.3 Coordinate Systems and Frames154
4.3.1 Representations and N-tuples156
4.3.2 Changes of Coordinate Systems157
4.3.3 Example of Change of Representation159
4.3.4 Homogeneous Coordinates160
4.3.5 Example of Change in Frames163
4.3.6 Working with Representations165
4.3.7 Frames and ADTs166
4.3.8 Frames in OpenGL168
4.4 Modeling a Colored Cube171
4.4.1 Modeling of a Cube172
4.4.2 Inward- and Outward-Pointing Faces173
4.4.3 Data Structures for Object Representation173
4.4.4 The Color Cube174
4.4.5 Bilinear Interpolation175
4.4.6 Vertex Arrays176
4.5 Affine Transformations179
4.6 Translation,Rotation,and Scaling181
4.6.1 Translation182
4.6.2 Rotation182
4.6.3 Scaling184
4.7 Transformations in Homogeneous Coordinates184
4.7.1 Translation184
4.7.2 Scaling185
4.7.3 Rotation186
4.7.4 Shear188
4.8 Concatenation of Transformations189
4.8.1 Rotation About a Fixed Point190
4.8.2 General Rotation191
4.8.3 The Instance Transformation192
4.8.4 Rotation About an Arbitrary Axis193
4.9 OpenGL Transformation Matrices196
4.9.1 The Current Transformation Matrix197
4.9.2 Rotation,Translation,and Scaling198
4.9.3 Rotation About a Fixed Point in OpenGL199
4.9.4 Order of Transformations199
4.9.5 Spinning of the Cube200
4.9.6 Loading,Pushing,and Popping Matrices201
4.10 Interfaces to Three-Dimensional Applications202
4.10.1 UsingAreas of the Screen203
4.10.2 AVirtual Trackball203
4.10.3 Smooth Rotations206
4.10.4 Incremental Rotation207
4.11 Quaternions208
4.11.1 Complex Numbers and Quaternions208
4.11.2 Quaternions and Rotation209
4.12 Summary and Notes211
4.13 Suggested Readings212
Exercises213
CHAPTER 5 Viewing217
5.1 Classical and Computer Viewing217
5.1.1 Classical Viewing219
5.1.2 Orthographic Projections220
5.1.3 Axonometric Projections221
5.1.4 Oblique Projections222
5.1.5 Perspective Viewing223
5.2 Viewing with a Computer225
5.3 Positioning of the Camera226
5.3.1 Positioning of the Camera Frame226
5.3.2 Two Viewing APIs231
5.3.3 The Look-At Function234
5.3.4 Other Viewing APIs235
5.4 Simple Projections236
5.4.1 Perspective Projections236
5.4.2 Orthogonal Projections239
5.5 Projections in OpenGL240
5.5.1 Perspective in OpenGL241
5.5.2 Parallel Viewing in OpenGL243
5.6 Hidden-Surface Removal244
5.6.1 Culling246
5.7 Walking Through a Scene247
5.8 Parallel-Projection Matrices248
5.8.1 Projection Normalization249
5.8.2 Orthogonal-Projection Matrices249
5.8.3 Oblique Projections252
5.9 Perspective-Projection Matrices255
5.9.1 Perspective Normalization256
5.9.2 OpenGL Perspective Transformations259
5.10 Projections and Shadows261
5.11 Summary and Notes264
5.12 Suggested Readings265
Exercises265
CHAPTER 6 Shading267
6.1 Light and Matter267
6.2 Light Sources271
6.2.1 Color Sources272
6.2.2 Ambient Light272
6.2.3 Point Sources273
6.2.4 Spotlights274
6.2.5 Distant Light Sources274
6.3 The Phong Reflection Model275
6.3.1 Ambient Reflection277
6.3.2 Diffuse Reflection277
6.3.3 Specular Reflection278
6.4 Computation of Vectors280
6.4.1 Normal Vectors281
6.4.2 Angle of Reflection283
6.4.3 Use of the Halfway Vector284
6.4.4 Transmitted Light285
6.5 Polygonal Shading286
6.5.1 Flat Shading286
6.5.2 Interpolative and Gouraud Shading288
6.5.3 Phong Shading290
6.6 Approximation of a Sphere by Recursive Subdivision291
6.7 Light Sources in OpenGL294
6.8 Specification of Materials in OpenGL296
6.9 Shading of the Sphere Model298
6.10 Global Rendering299
6.11 Summary and Notes301
6.12 Suggested Readings302
Exercises302
CHAPTER 7 Discrete Techniques305
7.1 Buffers305
7.2 Digital Images307
7.3 Writing into Buffers310
7.3.1 Writing Modes311
7.3.2 Writing with XOR313
7.4 Bit and Pixel Operations in OpenGL314
7.4.1 OpenGL Buffers and the Pixel Pipeline314
7.4.2 Bitmaps316
7.4.3 Raster Fonts317
7.4.4 Pixels and Images318
7.4.5 Lookup Tables319
7.4.6 Buffers for Picking321
7.5 Mapping Methods321
7.6 Texture Mapping323
7.6.1 Two-Dimensional Texture Mapping323
7.6.2 Texture Mapping in OpenGL330
7.6.3 Texture Objects337
7.6.4 Multitexturing337
7.6.5 Texture Generation337
7.7 Environmental Maps338
7.8 Bump Maps341
7.9 Compositing Techniques343
7.9.1 Opacity and Blending343
7.9.2 Image Compositing345
7.9.3 Blending and Compositing in OpenGL345
7.9.4 Antialiasing346
7.9.5 Back-to-Front and Front-to-Back Rendering348
7.9.6 Depth Cueing and Fog349
7.10 Multirendering and the Accumulation Buffer350
7.10.1 Scene Antialiasing351
7.10.2 Bump Mapping and Embossing351
7.10.3 Image Processing352
7.10.4 Imaging Extensions353
7.10.5 Other Multipass Methods354
7.11 Sampling and Aliasing355
7.11.1 Sampling Theory355
7.11.2 Reconstruction360
7.11.3 Quantization362
7.12 Summary and Notes363
7.13 Suggested Readings363
Exercises364
CHAPTER 8 Implementation of a Renderer367
8.1 Basic Implementation Strategies367
8.2 Four Major Tasks370
8.2.1 Modeling370
8.2.2 Geometric Processing370
8.2.3 Rasterization371
8.2.4 Display372
8.3 Implementation of Transformations372
8.4 Line-Segment Clipping374
8.4.1 Cohen-Sutherland Clipping375
8.4.2 Liang-Barsky Clipping377
8.5 Polygon Clipping379
8.6 Clipping of Other Primitives382
8.6.1 Bounding Boxes and Volumes382
8.6.2 Curves,Surfaces,and Text383
8.6.3 Clipping in the Frame Buffer384
8.7 Clipping in Three Dimensions384
8.8 Hidden-Surface Removal388
8.8.1 Object-Space and Image-Space Approaches388
8.8.2 Sorting and Hidden-Surface Removal390
8.8.3 Back-Face Removal390
8.8.4 The z-Buffer Algorithm391
8.8.5 Depth Sort and the Painter's Algorithm393
8.8.6 The Scan-Line Algorithm396
8.9 Scan Conversion397
8.10 Bresenham's Algorithm399
8.11 Scan Conversion of Polygons401
8.11.1 Inside-Outside Testing401
8.11.2 OpenGL and Concave Polygons403
8.11.3 Scan Conversion with the z Buffer404
8.11.4 Fill and Sort405
8.11.5 Flood Fill406
8.11.6 Scan-Line Algorithms406
8.11.7 Singularities407
8.12 Antialiasing408
8.13 Display Considerations410
8.13.1 Color Systems410
8.13.2 The Color Matrix413
8.13.3 Gamma Correction414
8.13.4 Dithering and Halftoning415
8.14 Summary and Notes416
8.15 References417
Exercises418
CHAPTER 9 Hierarchical and Object-Oriented Modeling421
9.1 Symbols and Instances422
9.2 Hierarchical Models423
9.3 A Robot Arm425
9.4 Trees and Traversal428
9.4.1 A Stack-Based Traversal429
9.5 Use of Tree Data Structures431
9.6 Animation435
9.7 Graphical Objects437
9.7.1 Methods,Attributes,and Messages438
9.7.2 A Cube Object439
9.7.3 Implementing the Cube Object442
9.7.4 Objects and Hierarchy442
9.7.5 Geometric Objects443
9.8 Scene Graphs444
9.9 A Simple Scene Graph API446
9.9.1 The Node Class447
9.9.2 Geometry Nodes448
9.9.3 Camera Class451
9.9.4 Lights and Materials451
9.9.5 Transformations453
9.9.6 The Robot Figure454
9.9.7 Implementing the Viewer456
9.9.8 Implementing a Node459
9.10 Other Tree Structures463
9.10.1 CSG Trees463
9.10.2 Shade Trees464
9.10.3 BSP Trees466
9.10.4 Quadtrees and Octrees468
9.11 Graphics and the Web469
9.11.1 Networks and Protocols470
9.11.2 Hypermedia and HTML471
9.11.3 Databases and VRML472
9.11.4 Java and Applets473
9.12 Summary and Notes473
9.13 Suggested Readings474
Exercises474
CHAPTER 10 Curves and Surfaces477
10.1 Representation of Curves and Surfaces477
10.1.1 Explicit Representation477
10.1.2 Implicit Representations479
10.1.3 Parametric Form480
10.1.4 Parametric Polynomial Curves481
10.1.5 Parametric Polynomial Surfaces482
10.2 Design Criteria483
10.3 Parametric Cubic Polynomial Curves484
10.4 Interpolation485
10.4.1 Blending Functions487
10.4.2 The Cubic Interpolating Patch489
10.5 Hermite Curves and Surfaces491
10.5.1 The Hermite Form491
10.5.2 Geometric and Parametric Continuity493
10.6 Bezier Curves and Surfaces494
10.6.1 Bezier Curves494
10.6.2 Bezier Surface Patches497
10.7 Cubic B-Splines498
10.7.1 The Cubic B-Spline Curve498
10.7.2 B-Splines and Bases501
10.7.3 Spline Surfaces502
10.8 General B-Splines503
10.8.1 Recursively Defined B-Splines504
10.8.2 Uniform Splines505
10.8.3 Nonuniform B-Splines506
10.8.4 NURBS506
10.9 Rendering of Curves and Surfaces507
10.9.1 Polynomial Evaluation Methods508
10.9.2 Recursive Subdivision of Bezier Polynomials509
10.9.3 Rendering of Other Polynomial Curves by Subdivision512
10.9.4 Subdivision of Bezier Surfaces512
10.10 The Utah Teapot513
10.11 Algebraic Surfaces516
10.11.1 Quadrics516
10.11.2 Rendering of Surfaces by Ray Casting517
10.11.3 Subdivision Curves and Surfaces517
10.12 Curves and Surfaces in OpenGL520
10.12.1 Bezier Curves520
10.12.2 Bezier Surfaces521
10.12.3 Displaying the Teapot522
10.12.4 NURBS Functions524
10.12.5 Quadrics524
10.13 Summary and Notes525
10.14 References and Notes526
Exercises526
CHAPTER 11 Procedural Methods529
11.1 Reasons for Using Procedural Models529
11.2 Physically Based Models and Particle Systems531
11.3 Newtonian Particles532
11.3.1 Independent Particles534
11.3.2 Spring Forces534
11.3.3 Attractive and Repulsive Forces536
11.4 Solving Particle Systems537
11.5 Constraints540
11.5.1 Collisions540
11.5.2 Particles Inside a Sphere543
11.5.3 Soft Constraints544
11.6 Language-Based Models545
11.7 Recursive Methods and Fractals548
11.7.1 Rulers and Length549
11.7.2 Fractal Dimension550
11.7.3 Midpoint Division and Brownian Motion551
11.7.4 Fractal Mountains553
11.8 The Mandelbrot Set554
11.9 Summary and Notes556
11.10 Suggested Readings557
Exercises557
CHAPTER 12 Visualization559
12.1 Data+Geometry559
12.2 Height Fields and Contours560
12.2.1 Meshes561
12.2.2 Contour Plots563
12.2.3 Marching Squares564
12.3 Visualizing Surfaces and Scalar Fields570
12.3.1 Volumetric Data Sets571
12.3.2 Visualization of Implicit Functions572
12.4 Isosurfaces and Marching Cubes574
12.5 Mesh Simplification578
12.6 Direct Volume Rendering578
12.6.1 Assignment of Color and Opacity579
12.6.2 Splatting580
12.6.3 Volume Ray Tracing582
12.6.4 Texture Mapping of Volumes583
12.7 Vector-Field Visualization584
12.7.1 Hedgehogs584
12.7.2 Glyphs585
12.7.3 Color585
12.7.4 Particle Traces and Streamlines586
12.8 Tensor Visualization589
12.9 Summary and Notes591
12.10 Suggested Readings591
Exercises592
CHAPTER 13 Advanced Rendering595
13.1 Going Beyond Pipeline Rendering595
13.2 Ray Tracing596
13.3 Building a Simple Ray Tracer599
13.3.1 Recursive Ray Tracing600
13.3.2 Calculating Intersections601
13.3.3 Ray-Tracing Variations604
13.4 The Rendering Equation605
13.5 Radiosity607
13.5.1 The Radiosity Equation607
13.5.2 Solving the Radiosity Equation609
13.5.3 Computing Form Factors610
13.5.4 Carrying Out Radiosity613
13.6 RenderMan614
13.7 Large-Scale Rendering615
13.7.1 Sort-Middle Rendering616
13.7.2 Sort-Last Rendering617
13.7.3 Sort-First Rendering620
13.8 Image-Based Rendering621
13.8.1 A Simple Example622
13.9 Summary and Notes624
13.10 Suggested Readings625
Exercises625
APPENDIX A Sample Programs629
A.1 Sierpinski Gasket Program630
A.2 Recursive Generation of Sierpinski Gasket632
A.3 Three-Dimensional Sierpinski Gasket633
A.4 Recursive Three-Dimensional Sierpinski Gasket635
A.5 Square Drawing Program637
A.6 Paint Program640
A.7 Double-Buffering Example647
A.8 Selection-Mode Picking Program649
A.9 Rotating-Cube Program652
A.10 Rotating Cube Using Vertex Arrays655
A.11 Rotating Cube with a Virtual Trackball657
A.12 Moving Viewer661
A.13 Sphere Program664
A.14 Pixel-Reading Program668
A.15 Rotating Cube with Texture669
A.16 Scene-Graph Example672
A.17 Program for Drawing Bezier Curves677
APPENDIX B Spaces681
B.1 Scalars681
B.2 Vector Spaces682
B.3 Affine Spaces684
B.4 Euclidean Spaces685
B.5 Projections686
B.6 Gram-Schmidt Orthogonalization687
B.7 Suggested Readings688
Exercises688
APPENDIX C Matrices689
C.1 Definitions689
C.2 Matrix Operations690
C.3 Row and Column Matrices691
C.4 Rank692
C.5 Change of Representation693
C.6 The Cross Product695
C.7 Eigenvalues and Eigenvectors696
C.8 Suggested Readings697
Exercises698
References699
Function Index707
Subject Index709
热门推荐
- 3270129.html
- 1604136.html
- 1952988.html
- 1792802.html
- 2766248.html
- 3074364.html
- 3029918.html
- 3039688.html
- 3094101.html
- 1984152.html
- http://www.ickdjs.cc/book_3135566.html
- http://www.ickdjs.cc/book_2936475.html
- http://www.ickdjs.cc/book_3894550.html
- http://www.ickdjs.cc/book_222557.html
- http://www.ickdjs.cc/book_801330.html
- http://www.ickdjs.cc/book_2069511.html
- http://www.ickdjs.cc/book_105903.html
- http://www.ickdjs.cc/book_3487741.html
- http://www.ickdjs.cc/book_2132365.html
- http://www.ickdjs.cc/book_3701266.html