Glassner | Graphics Gems | E-Book | sack.de
E-Book

E-Book, Englisch, 864 Seiten, Web PDF

Reihe: Graphics Gems - IBM

Glassner Graphics Gems


1. Auflage 2013
ISBN: 978-0-08-050753-8
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark

E-Book, Englisch, 864 Seiten, Web PDF

Reihe: Graphics Gems - IBM

ISBN: 978-0-08-050753-8
Verlag: Elsevier Science & Techn.
Format: PDF
Kopierschutz: 1 - PDF Watermark



'The GRAPHICS GEMS Series' was started in 1990 by Andrew Glassner. The vision and purpose of the Series was - and still is - to provide tips, techniques, and algorithms for graphics programmers. All of the gems are written by programmers who work in the field and are motivated by a common desire to share interesting ideas and tools with their colleagues. Each volume provides a new set of innovative solutions to a variety of programming problems.

Glassner Graphics Gems jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Front Cover;1
2;Graphics Gems;4
3;Copyright Page;5
4;Table of Contents;8
5;Preface;16
6;Introduction;18
7;Mathematical Notation;20
8;Pseudo-Code;22
9;Contributors;27
10;CHAPTER 1. 2D GEOMETRY;32
10.1;Useful 2D Geometry;34
10.2;Trigonometry Summary;43
10.3;Useful Trigonometry;44
10.4;Trigonometric Functions at Select Points;49
10.5;Triangles;51
10.6;Generating Random Points in Triangles;55
10.7;Fast Line–Edge Intersections on a Uniform Grid;60
10.8;Anti-Aliasing Summary;68
10.9;Area of Intersection: Circle and a Half-Plane;69
10.10;Area of Intersection: Circle and a Thick Line;71
10.11;Area of Intersection: Two Circles;74
10.12;Vertical Distance from a Point to a Line;78
10.13;A Fast 2D Point-on-Line Test ;80
10.14;Fast Circle–Rectangle Intersection Checking ;82
11;CHAPTER 2. 2D RENDERING;86
11.1;Circles of Integral Radius on Integer Lattices;88
11.2;Nice Numbers for Graph Labels;92
11.3;Efficient Generation of Sampling Jitter Using Look-up Tables;95
11.4;Scan Conversion Summary;106
11.5;Fast Anti-Aliasing Polygon Scan Conversion ;107
11.6;Generic Convex Polygon Scan Conversion and Clipping ;115
11.7;Concave Polygon Scan Conversion ;118
11.8;Fast Scan Conversion of Arbitrary Polygons;123
11.9;Line-Drawing Summary;129
11.10;Digital Line Drawing;130
11.11;Symmetric Double Step Line Algorithm;132
11.12;Rendering Anti-Aliased Lines ;136
11.13;An Algorithm for Filling in 2D Wide Line Bevel Joints;138
11.14;Rendering Fat Lines on a Raster Grid;145
11.15;Two-Dimensional Clipping: A Vector-Based Approach;152
11.16;Periodic Tilings of the Plane on a Raster Grid;160
12;CHAPTER 3. IMAGE PROCESSING;172
12.1;Anti-Aliasing Filters Summary;174
12.2;Convenient Anti-Aliasing Filters That Minimize "Bumpy" Sampling;175
12.3;Filters for Common Resampling Tasks;178
12.4;Smoothing Enlarged Monochrome Images;197
12.5;Median Finding on a 3 X 3 Grid;202
12.6;Ordered Dithering ;207
12.7;A Fast Algorithm for General Raster Rotation;210
12.8;Useful 1-to-1 Pixel Transforms;227
12.9;Alpha Blending;241
13;CHAPTER 4. FRAME BUFFER TECHNIQUES;244
13.1;Frame Buffers and Color Maps;246
13.2;Reading a Write-Only Write Mask;250
13.3;A Digital "Dissolve" Effect ;252
13.4;Mapping RGB Triples onto Four Bits ;264
13.5;What Are the Coordinates of a Pixel?;277
13.6;Proper Treatment of Pixels as Integers ;280
13.7;Normal Coding;288
13.8;Recording Animation in Binary Order for Progressive Temporal Refinement ;296
13.9;1 -to-1 Pixel Transforms Optimized through Color-Map Manipulation;301
13.10;A Seed Fill Algorithm;306
13.11;Filling a Region in a Frame Buffer;309
13.12;Precalculating Addresses for Fast Fills, Circles, and Lines;316
13.13;A Simple Method for Color Quantization: Octree Quantization;318
14;CHAPTER 5. 3D GEOMETRY;326
14.1;Useful 3D Geometry;328
14.2;An Efficient Bounding Sphere ;332
14.3;Intersection of Two Lines in Three-Space;335
14.4;Intersection of Three Planes;336
14.5;Mapping Summary;337
14.6;Digital Cartography for Computer Graphics;338
14.7;Albers Equal-Area Conic Map Projection;352
14.8;Boxes and Spheres Summary;357
14.9;Spheres-to-Voxels Conversion;358
14.10;A Simple Method for Box-Sphere Intersection Testing ;366
15;CHAPTER 6. 3D RENDERING;372
15.1;3D Grid Hashing Function ;374
15.2;Backface Culling;377
15.3;Fast Dot Products for Shading;379
15.4;Scanline Depth Gradient of a Z-Bufifered Triangle;392
15.5;Simulating Fog and Haze;395
15.6;Interpretation of Texture Map Indices;397
15.7;Multidimensional Sum Tables;407
16;CHAPTER 7. RAY TRACING;414
16.1;A Simple Ray Rejection Test;416
16.2;Ray–Object Intersection Summary;418
16.3;Intersection of a Ray with a Sphere;419
16.4;An Efficient Ray–Polygon Intersection ;421
16.5;Fast Ray–Polygon Intersection;425
16.6;Fast Ray–Box Intersection;426
16.7;Shadow Attenuation for Ray Tracing Transparent Objects;428
17;CHAPTER 8. NUMERICAL AND PROGRAMMING TECHNIQUES;432
17.1;Root Finding Summary;434
17.2;Cubic and Quartic Roots;435
17.3;A Bézier Curve-Based Root-Finder ;439
17.4;Using Sturm Sequences to Bracket Real Roots of Polynomial Equations ;447
17.5;Distance Measures Summary;454
17.6;A High-Speed, Low Precision Square Root;455
17.7;A Fast Approximation to the Hypotenuse;458
17.8;A Fast Approximation to 3D Euclidean Distance;463
17.9;Full-Precision Constants;465
17.10;Converting between Bits and Digits;466
17.11;Storage-free Swapping;467
17.12;Generating Random Integers;469
17.13;Fast 2D–3D Rotation;471
17.14;Bit Patterns for Encoding Angles;473
17.15;Bit Interleaving for Quad- or Octrees ;474
17.16;A Fast HSL-to-RGB Transform;479
18;CHAPTER 9. MATRIX TECHNIQUES;482
18.1;Matrix Identities;484
18.2;Rotation Matrix Methods Summary;486
18.3;Transforming Axes;487
18.4;Fast Matrix Multiplication;491
18.5;A Virtual Trackball;493
18.6;Matrix Orthogonalization;495
18.7;Rotation Tools;496
18.8;Matrix Inversion;501
18.9;Matrices and Transformations;503
18.10;Efficient Post-Concatenation of Transformation Matrices;507
19;CHAPTER 10. MODELING AND TRANSFORMATIONS;514
19.1;Transformation Identities;516
19.2;Fixed-Point Trigonometry with CORDIC Iterations;525
19.3;Using Quaternions for Coding 3D Transformations ;529
19.4;3D Viewing and Rotation Using Orthonormal Bases ;547
19.5;The Use of Coordinate Frames in Computer Graphics;553
19.6;Forms, Vectors, and Transforms ;564
19.7;Properties of Surface-Normal Transformations;570
19.8;Transforming Axis-Aligned Bounding Boxes ;579
19.9;Constructing Shapes Summary;582
19.10;Defining Surfaces from Sampled Data;583
19.11;Defining Surfaces from Contour Data;589
19.12;Computing Surface Normals for 3D Models;593
19.13;Calculation of Reference Frames along a Space Curve;598
20;CHAPTER 11. CURVES AND SURFACES;604
20.1;Planar Cubic Curves;606
20.2;Explicit Cubic Spline Interpolation Formulas;610
20.3;Fast Spline Drawing;616
20.4;Some Properties of Bézier Curves;618
20.5;Tutorial on Forward Differencing;625
20.6;Integration of Bernstein Basis Functions;635
20.7;Solving the Nearest-Point-on-Curve Problem ;638
20.8;An Algorithm for Automatically Fitting Digitized Curves;643
21;APPENDIX I: C UTILITIES;658
21.1;Graphics Gems C Header File;660
21.2;2D and 3D Vector C Library;664
21.3;Memory Allocation in C;674
21.4;Two Useful C Macros;675
21.5;How To Build Circular Structures in C;676
21.6;How To Use C Register Variables to Point to 2D Arrays;677
22;APPENDIX II: C IMPLEMENTATIONS;678
22.1;Generating Random Points in Triangles;680
22.2;A Fast 2D Point-on-Line Test;685
22.3;Fast Circle–Rectangle Intersection Checking;687
22.4;Nice Numbers for Graph Labels;688
22.5;Efficient Generation of Sampling Jitter Using Look-Up Tables;691
22.6;Fast Anti-Aliasing Polygon Scan Conversion;693
22.7;Generic Convex Polygon Scan Conversion and Clipping;698
22.8;Concave Polygon Scan Conversion;712
22.9;Digital Line Drawing;716
22.10;Symmetric Double Step Line Algorithm;717
22.11;Rendering Anti-Aliased Lines;721
22.12;Two-Dimensional Clipping: A Vector-Based Approach;725
22.13;Median Finding on A 3×3 Grid;742
22.14;Ordered Dithering;744
22.15;A Digital "Dissolve" Effect;746
22.16;Mapping Rgb Triples onto Four Bits;749
22.17;Proper Treatment of Pixels as Integers;750
22.18;Recording Animation in Binary Order for Progressive Temporal Refinement;751
22.19;A Seed Fill Algorithm;752
22.20;An Efficient Bounding Sphere;754
22.21;Albers Equal-Area Conic Map Projection;757
22.22;A Simple Method for Box–Sphere Intersection Testing;761
22.23;3D Grid Hashing Function;764
22.24;An Efficient Ray –Polygon Intersection;766
22.25;Fast Ray–Box Intersection;767
22.26;Cubic and Quartic Roots;769
22.27;Using Sturm Sequences to Bracket Real Roots of Polynomial Equations;774
22.28;A High-Speed, Low Precision Square Root;787
22.29;A Fast Approximation to The Hypotenuse;789
22.30;Bit Interleaving for Quad- Or Octrees;790
22.31;A Fast Hsl-To-Rgb Transform;794
22.32;Matrix Orthogonalization;796
22.33;Efficient Post-Concatenation of Transformation Matrices;801
22.34;Fixed-Point Trigonometry with Cordic Iterations;804
22.35;Using Quaternions for Coding 3D Transformations;806
22.36;3D Viewing and Rotation Using Orthonormal Bases;809
22.37;Forms, Vectors, and Transforms;811
22.38;Transforming Axis-Aligned Bounding Boxes;816
22.39;Solving The Nearest-Point-On-Curve Problem and A Bézier Curve-Based Root-Finder;818
22.40;An Algorithm for Automatically Fitting Digitized Curves;828
23;References ;839
24;Index;853



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.