Computer Graphics, C Version (2nd Edition)
معرفی کتاب «Computer Graphics, C Version (2nd Edition)» نوشتهٔ Donald Hearn, M. Pauline Baker در سال 1996. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Computer Graphics, C Version (2nd Edition)» در دستهٔ بدون دستهبندی قرار دارد.
This timely new version of a popular computer graphics book features the C language in programming examples to demonstrate the implementation of graphics application. These well-known authors assume no prior knowledge of computer graphics when presenting the basic principles for the design, use, and understanding of computer graphics systems. However, some knowledge of C programming is assumed as the reader learns how to use algorithms for creating and manipulating graphics displays. Computer Graphics, C Version (2nd Ed.)......Page 1 Contents......Page 2 Ch1 A Survey of Computer Graphics......Page 12 1.1 Computer-Aided Design......Page 14 1.2 Presentation Graphics......Page 21 1.3 Computer Art......Page 23 1.4 Entertainment......Page 28 1.5 Education & Training......Page 31 1.6 Visualization......Page 35 1.7 Image Processing......Page 42 1.8 Graphical User Interfaces......Page 44 Ch2 Overview of Graphics Systems......Page 45 2.1 Video Display Devices......Page 46 2.2 Raster-Scan Systems......Page 63 2.3 Random-Scan Systems......Page 66 2.4 Graphics Monitors & Workstations......Page 67 2.5 Input Devices......Page 70 2.6 Hard-Copy Devices......Page 82 2.7 Graphics Software......Page 85 Summary......Page 89 Exercise......Page 91 Ch3 Output Primitives......Page 93 3.1 Points & Lines......Page 94 3.2 Line-Drawing Algorithms......Page 96 3.3 Loading the Frame Buffer......Page 104 3.4 Line Function......Page 105 3.5 Circle-Generating Algorithms......Page 107 3.6 Ellipse-Generating Algorithms......Page 112 3.7 Other Curves......Page 120 3.8 Parallel Curve Algorithms......Page 122 3.9 Curve Functions......Page 123 3.10 Pixel Addressing & Object Geometry......Page 124 3.11 Filled-Area Primitives......Page 127 3.14 Character Generation......Page 141 Summary......Page 144 Applications......Page 146 Exercises......Page 150 Ch4 Attributes of Output Primitives......Page 153 4.1 Line Attributes......Page 154 4.2 Curve Attributes......Page 162 4.3 Color & Grayscale Levels......Page 164 4.4 Area-Fill Attributes......Page 168 4.5 Character Attributes......Page 173 4.6 Bundled Attributes......Page 178 4.7 Inquiry Functions......Page 180 4.8 Antialiasing......Page 181 Summary......Page 188 Exercises......Page 190 Ch5 Two-Dimensional Geometric Transformations......Page 193 5.1 Basic Transformations......Page 194 5.2 Matrix Representations & Homogeneous Coordinates......Page 198 5.3 Composite Transformations......Page 201 5.4 Other Transformations......Page 211 5.5 Transformations between Coordinate Systems......Page 215 5.7 Tansformation Functions......Page 218 5.8 Raster Methods for Transformations......Page 220 Summary......Page 222 Exercises......Page 223 Ch6 Two-Dimensional Viewing......Page 226 6.1 The Viewing Pipeline......Page 227 6.2 Viewing Coordinate Reference Frame......Page 229 6.3 Window-to-Viewport Coordinate Transformation......Page 230 6.4 Two-Dimensional Viewing Functions......Page 232 6.5 Clipping Operations......Page 234 6.7 Line Clipping......Page 235 6.8 Polygon Clipping......Page 247 6.10 Text Clipping......Page 254 Summary......Page 255 Exercises......Page 258 Ch7 Structures & Hierarchical Modeling......Page 260 7.1 Structure Concepts......Page 261 7.2 Editing Structures......Page 264 7.3 Basic Modeling Concepts......Page 270 7.4 Hierarchical Modeling with Structures......Page 275 Summary......Page 278 Exercises......Page 279 Ch8 Graphic User Interfaces & Interactive Input Methods......Page 281 8.1 The User Dialogue......Page 282 8.2 Input of Graphical Data......Page 286 8.3 Input Functions......Page 291 8.4 Initial Values for Input-Device Parameters......Page 297 8.5 Interactive Picture-Construction Techniques......Page 298 8.6 Virtual-Reality Environments......Page 302 Summary......Page 303 Exercises......Page 304 Ch9 Three Dimensional Concepts......Page 306 9.1 Three-Dimensional Display Methods......Page 307 9.2 Three-Dimensional Graphics Packages......Page 312 Ch10 Three-Dimensional Object Representations......Page 314 10.1 Polygon Surfaces......Page 315 10.3 Quadric Surfaces......Page 320 10.4 Superquadrics......Page 322 10.5 Blobby Objects......Page 324 10.6 Spline Representations......Page 325 10.7 Cubic Spline Interpolation Methods......Page 330 10.8 Bezier Curves & Surfaces......Page 337 10.9 B-Spline Curves & Surfaces......Page 344 10.10 Beta-Splines......Page 355 10.11 Rational Splines......Page 357 10.12 Conversion between Spline Representations......Page 359 10.13 Displaying Spline Curves & Surfaces......Page 361 10.14 Sweep Representaions......Page 365 10.15 Constructive Solid-Geometry Methods......Page 366 10.16 Octrees......Page 369 10.18 Fractal-Geometry Methods......Page 372 10.19 Shape Grammars & Other Procedural Methods......Page 397 10.20 Particle Systems......Page 400 10.21 Physically Based Modeling......Page 403 10.22 Visualization of Data Sets......Page 405 Exercises......Page 414 Ch11 Three-Dimensional Geometric & Modeling Transformations......Page 417 11.1 Translation......Page 418 11.2 Rotation......Page 419 11.3 Scaling......Page 430 11.4 Other Transformations......Page 432 11.5 Composite Transformations......Page 433 11.6 Three-Dimensional Transformation Functions......Page 435 11.7 Modeling & Coordinate Transformations......Page 436 References......Page 439 Exercises......Page 440 Ch12 Three-Dimensional Viewing......Page 441 12.1 Viewing Pipeline......Page 442 12.2 Viewing Coordinates......Page 443 12.3 Projections......Page 448 12.4 View Volumes & General Projection Transformations......Page 457 12.5 Clipping......Page 466 12.6 Hardware Implementations......Page 473 12.7 Three-Dimensional Viewing Functions......Page 474 Summary......Page 477 Exercises......Page 478 Ch13 Visible-Surface Detection methods......Page 479 13.1 Classification of Visible-Surface Detection Algorithms......Page 480 13.2 Back-Face Detection......Page 481 13.3 Depth-Buffer Method......Page 482 13.4 A-Buffer Method......Page 485 13.5 Scan-Line Method......Page 486 13.6 Depth-Sorting Method......Page 488 13.7 BSP-Tree Method......Page 491 13.8 Area-Subdivision Method......Page 492 13.9 Octree Methods......Page 495 13.10 Ray-Casting Method......Page 497 13.11 Curved Surfaces......Page 498 13.13 Visibility-Detection Functions......Page 500 Summary......Page 501 Exercises......Page 502 Ch14 Illustration Models & Surface-Rendering Methods......Page 504 14.1 Light Sources......Page 506 14.2 Basic Illumination Models......Page 507 14.3 Displaying Light Intensities......Page 521 14.4 Halftone Patterns & Dithering Techniques......Page 526 14.5 Polygon-Rendering Methods......Page 532 14.6 Ray-Tracing Methods......Page 537 14.7 Radiosity Lighting Model......Page 554 14.8 Environment Mapping......Page 562 14.9 Adding Surface Detail......Page 563 Summary......Page 570 References......Page 571 Exercises......Page 572 Ch15 Color Models & Color Applications......Page 574 15.1 Properties of Light......Page 575 15.2 Standard Primaries & Chromaticity Diagram......Page 578 15.3 Intuitive Color Concepts......Page 581 15.4 RGB Color Model......Page 582 15.6 CMY Color Model......Page 584 15.7 HSV Color model......Page 585 15.8 Conversion between HSV & RGB Models......Page 588 15.9 HLS Color Model......Page 589 15.10 Color Selection & Applications......Page 590 References......Page 591 Exercises......Page 592 Ch16 Computer Animation......Page 593 16.1 Design of Animation Sequences......Page 594 16.3 Raster Animations......Page 596 16.4 Computer-Animation Languages......Page 597 16.5 Key-Frame Systems......Page 598 16.6 Motion Specifications......Page 604 Summary......Page 606 Exercises......Page 607 AppA Mathematics for Computer Graphics......Page 609 A.1 Coordinate Reference Frames......Page 610 A.2 Points & Vectors......Page 615 A.3 Basis Vectors & the Metric Tensor......Page 619 A.4 Matrices......Page 621 A.5 Complex Numbers......Page 625 A.6 Quaternions......Page 627 A.7 Nonparametric Representations......Page 628 A.8 Parametric Representations......Page 629 A.9 Numerical Methods......Page 630 Bibliography......Page 636 Subject Index......Page 649 Function Index......Page 661 Computer Graphics, C Version (2nd Ed.) 1 Contents 2 Ch1 A Survey of Computer Graphics 12 1.1 Computer-Aided Design 14 1.2 Presentation Graphics 21 1.3 Computer Art 23 1.4 Entertainment 28 1.5 Education & Training 31 1.6 Visualization 35 1.7 Image Processing 42 1.8 Graphical User Interfaces 44 Ch2 Overview of Graphics Systems 45 2.1 Video Display Devices 46 2.2 Raster-Scan Systems 63 2.3 Random-Scan Systems 66 2.4 Graphics Monitors & Workstations 67 2.5 Input Devices 70 2.6 Hard-Copy Devices 82 2.7 Graphics Software 85 Summary 89 References 91 Exercise 91 Ch3 Output Primitives 93 3.1 Points & Lines 94 3.2 Line-Drawing Algorithms 96 3.3 Loading the Frame Buffer 104 3.4 Line Function 105 3.5 Circle-Generating Algorithms 107 3.6 Ellipse-Generating Algorithms 112 3.7 Other Curves 120 3.8 Parallel Curve Algorithms 122 3.9 Curve Functions 123 3.10 Pixel Addressing & Object Geometry 124 3.11 Filled-Area Primitives 127 3.12 Fill-Area Functions 141 3.13 Cell Array 141 3.14 Character Generation 141 Summary 144 Applications 146 References 150 Exercises 150 Ch4 Attributes of Output Primitives 153 4.1 Line Attributes 154 4.2 Curve Attributes 162 4.3 Color & Grayscale Levels 164 4.4 Area-Fill Attributes 168 4.5 Character Attributes 173 4.6 Bundled Attributes 178 4.7 Inquiry Functions 180 4.8 Antialiasing 181 Summary 188 References 190 Exercises 190 Ch5 Two-Dimensional Geometric Transformations 193 5.1 Basic Transformations 194 5.2 Matrix Representations & Homogeneous Coordinates 198 5.3 Composite Transformations 201 5.4 Other Transformations 211 5.5 Transformations between Coordinate Systems 215 5.6 Affine Transformations 218 5.7 Tansformation Functions 218 5.8 Raster Methods for Transformations 220 Summary 222 References 223 Exercises 223 Ch6 Two-Dimensional Viewing 226 6.1 The Viewing Pipeline 227 6.2 Viewing Coordinate Reference Frame 229 6.3 Window-to-Viewport Coordinate Transformation 230 6.4 Two-Dimensional Viewing Functions 232 6.5 Clipping Operations 234 6.6 Point Clipping 235 6.7 Line Clipping 235 6.8 Polygon Clipping 247 6.9 Curve Clipping 254 6.10 Text Clipping 254 6.11 Exterior Clipping 255 Summary 255 References 258 Exercises 258 Ch7 Structures & Hierarchical Modeling 260 7.1 Structure Concepts 261 7.2 Editing Structures 264 7.3 Basic Modeling Concepts 270 7.4 Hierarchical Modeling with Structures 275 Summary 278 References 279 Exercises 279 Ch8 Graphic User Interfaces & Interactive Input Methods 281 8.1 The User Dialogue 282 8.2 Input of Graphical Data 286 8.3 Input Functions 291 8.4 Initial Values for Input-Device Parameters 297 8.5 Interactive Picture-Construction Techniques 298 8.6 Virtual-Reality Environments 302 Summary 303 References 304 Exercises 304 Ch9 Three Dimensional Concepts 306 9.1 Three-Dimensional Display Methods 307 9.2 Three-Dimensional Graphics Packages 312 Ch10 Three-Dimensional Object Representations 314 10.1 Polygon Surfaces 315 10.2 Curved Lines & Surfaces 320 10.3 Quadric Surfaces 320 10.4 Superquadrics 322 10.5 Blobby Objects 324 10.6 Spline Representations 325 10.7 Cubic Spline Interpolation Methods 330 10.8 Bezier Curves & Surfaces 337 10.9 B-Spline Curves & Surfaces 344 10.10 Beta-Splines 355 10.11 Rational Splines 357 10.12 Conversion between Spline Representations 359 10.13 Displaying Spline Curves & Surfaces 361 10.14 Sweep Representaions 365 10.15 Constructive Solid-Geometry Methods 366 10.16 Octrees 369 10.17 BSP Trees 372 10.18 Fractal-Geometry Methods 372 10.19 Shape Grammars & Other Procedural Methods 397 10.20 Particle Systems 400 10.21 Physically Based Modeling 403 10.22 Visualization of Data Sets 405 Summary 414 References 414 Exercises 414 Ch11 Three-Dimensional Geometric & Modeling Transformations 417 11.1 Translation 418 11.2 Rotation 419 11.3 Scaling 430 11.4 Other Transformations 432 11.5 Composite Transformations 433 11.6 Three-Dimensional Transformation Functions 435 11.7 Modeling & Coordinate Transformations 436 Summary 439 References 439 Exercises 440 Ch12 Three-Dimensional Viewing 441 12.1 Viewing Pipeline 442 12.2 Viewing Coordinates 443 12.3 Projections 448 12.4 View Volumes & General Projection Transformations 457 12.5 Clipping 466 12.6 Hardware Implementations 473 12.7 Three-Dimensional Viewing Functions 474 Summary 477 References 478 Exercises 478 Ch13 Visible-Surface Detection methods 479 13.1 Classification of Visible-Surface Detection Algorithms 480 13.2 Back-Face Detection 481 13.3 Depth-Buffer Method 482 13.4 A-Buffer Method 485 13.5 Scan-Line Method 486 13.6 Depth-Sorting Method 488 13.7 BSP-Tree Method 491 13.8 Area-Subdivision Method 492 13.9 Octree Methods 495 13.10 Ray-Casting Method 497 13.11 Curved Surfaces 498 13.12 Wireframe Methods 500 13.13 Visibility-Detection Functions 500 Summary 501 References 502 Exercises 502 Ch14 Illustration Models & Surface-Rendering Methods 504 14.1 Light Sources 506 14.2 Basic Illumination Models 507 14.3 Displaying Light Intensities 521 14.4 Halftone Patterns & Dithering Techniques 526 14.5 Polygon-Rendering Methods 532 14.6 Ray-Tracing Methods 537 14.7 Radiosity Lighting Model 554 14.8 Environment Mapping 562 14.9 Adding Surface Detail 563 Summary 570 References 571 Exercises 572 Ch15 Color Models & Color Applications 574 15.1 Properties of Light 575 15.2 Standard Primaries & Chromaticity Diagram 578 15.3 Intuitive Color Concepts 581 15.4 RGB Color Model 582 15.5 YIQ Color Model 584 15.6 CMY Color Model 584 15.7 HSV Color model 585 15.8 Conversion between HSV & RGB Models 588 15.9 HLS Color Model 589 15.10 Color Selection & Applications 590 Summary 591 References 591 Exercises 592 Ch16 Computer Animation 593 16.1 Design of Animation Sequences 594 16.2 General Computer-Animation Functions 596 16.3 Raster Animations 596 16.4 Computer-Animation Languages 597 16.5 Key-Frame Systems 598 16.6 Motion Specifications 604 Summary 606 References 607 Exercises 607 AppA Mathematics for Computer Graphics 609 A.1 Coordinate Reference Frames 610 A.2 Points & Vectors 615 A.3 Basis Vectors & the Metric Tensor 619 A.4 Matrices 621 A.5 Complex Numbers 625 A.6 Quaternions 627 A.7 Nonparametric Representations 628 A.8 Parametric Representations 629 A.9 Numerical Methods 630 Bibliography 636 Subject Index 649 Function Index 661 ISBN: 0135309247; Date: May 22, 1996; Pub: Prentice Hall Assuming the reader has no prior familiarity with computer graphics, the authors present basic principles for design, use, and understanding of computer graphics systems. The book also contains the following additional features: discussion of hardware and software components of graphics systems, as well as various applications; exploration of algorithms for creating and manipulating graphics displays, and techniques for implementing the algorithms; use of programming examples written in C to demonstrate the implementation and application of graphics algorithms; and exploration of GL, PHIGS, PHIGS+, GKS, and other graphics libraries. In addition, this book includes an appendix containing detailed discussions on a variety of mathematical methods used in graphics algorithms such as analytic geometry, linear algebra, vector and tensor manipulations, complex numbers, and numerical analysis. The C Version of this best seller can serve as a basic or supplemental text for undergraduate and graduate level courses. It is also used widely for professional self-study geared to the specific interests of the reader. Survey of computer graphics -- Overiview of graphic systems -- Output -- Attributes of output primitives -- Rwo-dimensional geometric transformations -- Two-dimensional viewving -- Structures and hieratchical modeling -- Graphical user interfaces and interactive input methdods -- Three-dimensional concepts -- Three-dimensional object representations -- Three dimensional geometric and modeling transformations -- Three-dimensional viewing -- Visible-surface detection methods -- Illuminaytition models and surface-rendering methods -- Color models and color applications -- Computer animation -- Mathematics for computer graphics.
دانلود کتاب Computer Graphics, C Version (2nd Edition)