I bought this book long ago and I have used it more than any other book I own. This book covers the basics of graphics theory. The book assumes some mathematical knowledge (linear algebra), but provides a solid review in the appendix. Beginning graphics student often worry about the technical details of their particular platform (how to put a pixel), and this book doesn't cover those issues; you'll need an OpenGL guide and a C book for that. Hearn and Baker write far more lucid prose than most academics.
Author(s): Donald Hearn, M. Pauline Baker
Edition: 2 Sub
Publisher: Prentice Hall
Year: 1996
Language: English
Commentary: +OCR
Pages: 662
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