当前位置:首页 > 其他书籍
INTRODUCTION TO COMPUTER GRAPHICS
INTRODUCTION TO COMPUTER GRAPHICS

INTRODUCTION TO COMPUTER GRAPHICSPDF电子书下载

其他书籍

  • 电子书积分:17 积分如何计算积分?
  • 作 者:JAMES D.FOLEY
  • 出 版 社:ADDISON-WESLEY PUBLISHING COMPANY
  • 出版年份:1994
  • ISBN:0201609215
  • 页数:559 页
图书介绍:
《INTRODUCTION TO COMPUTER GRAPHICS》目录
标签:

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 Bézier 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 Bézier 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 Primitive Instancing 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-Partitioning Representations 381

10.6.1 Cell Decomposition 381

10.6.2 Spatial-Occupancy Enumeration 382

10.6.3 Octrees 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 YIQ 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 Other Approaches 465

13.5.1 List-Priority Algorithms 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 Other Approaches 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 Non refractive 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

返回顶部