Illustrating the use of C, with stress on portability and speed, this book provides a mathematical background to techniques in computer graphics, before going on to develop a graphics program in C implementing these techniques. As a result, both students and professionals will find this presentation gives them a thorough understanding of the most fundamental algorithms in graphics programming, as well as providing them with a usable graphics package. Georg Glaeser covers such hot topics as hidden surfaces, shadows, reflections, patterns, and modelling curves and surfaces. Readers are assumed to be moderately familiar with programming, although all type definitions, global variables, and macros are thoroughly described prior to their first applications.
Auflage
1st ed. 1994. Corr. 2nd printing 1995
Sprache
Verlagsort
Zielgruppe
Für höhere Schule und Studium
Für Beruf und Forschung
Research
Illustrationen
26 s/w Abbildungen
1, black & white illustrations
Maße
Höhe: 24.4 cm
Breite: 17 cm
Dicke: 17 mm
Gewicht
ISBN-13
978-0-387-94288-9 (9780387942889)
DOI
10.1007/978-1-4612-2664-2
Schweitzer Klassifikation
1 A Basic Course in Spatial Analytic Geometry.- 1.1 Vectors.- 1.2 How to Measure Lengths and Angles.- 1.3 Intersections of Lines and Planes.- 1.4 Translations.- 1.5 Matrices.- 1.6 Rotations.- 2 Projections.- 2.1 Central Projections.- 2.2 The Viewing Pyramid.- 2.3 Coordinate Systems.- 2.4 Back and Forth Between Coordinate Systems.- 2.5 Clipping Algorithms.- 3 How to Describe Three-Dimensional Objects.- 3.1 Data Pools.- 3.2 The 'Polyhedron' and 'Face' Structures.- 3.3 General Convex Objects.- 3.4 Surfaces of Revolution.- 3.5 Surfaces of Translation.- 3.6 The Intersection of Objects.- 4 Graphics Output.- 4.1 Graphics Hardware.- 4.2 System-Dependent Macros and Functions.- 4.3 How to Create Color Palettes and How to Use Them.- 4.4 Wire Frames and Depth Cuing.- 4.5 Shading.- 4.6 Basic Graphics Output Algorithms.- 5 A Fast Hidden-Surface Algorithm.- 5.1 Objects with Convex Outlines.- 5.2 Surfaces of Revolution.- 5.3 Sliced Surfaces.- 5.4 Function Graphs.- 5.5 Priority Among Objects.- 5.6 Final Priority List.- 5.7 The Creation of Object Groups.- 5.8 Bounding Boxes and Separating Planes.- 6 Advanced Features.- 6.1 Convex Hulls.- 6.2 The Intersection of Convex Hulls.- 6.3 Shadows.- 6.4 Reflections.- 6.5 Patterns.- 6.6 Refraction, Transparent Objects.- 7 Hidden-Line Removal.- 7.1 A Quick Screen-Oriented Method.- 7.2 Hidden-Line Removal on Objects with Convex Outlines.- 7.3 Depth Buffering for Visibility.- 8 Mathematical Curves and Surfaces.- 8.1 Parametrized Curves.- 8.2 Classes of Parametrized Surfaces.- 8.3 Surfaces Given by Implicit Equations.- 8.4 Special Curves on Mathematical Surfaces.- 8.5 A More Sophisticated Illumination Model.- 8.6 Shadow Buffering for Shadows.- 9 Spline Curves and Spline Surfaces.- 9.1 Interpolating Curves and Surfaces.- 9.2 Approximating Curves and Surfaces.- 9.3 Special Curves on Polygonized Surfaces.- 9.4 Spatial Integral Curves.- 9.5 Some Examples of Applications.- 10 Computer-Generated Movies.- 10.1 An Economical Way of Storing a Movie.- 10.2 A Fast Movie Previewer.- 11 The Programming Package on Your Disk.- 11.1 The Contents of the Disk.- 11.2 How to Install the Program Package.- 11.3 How to Use the Program.- 11.4 How to Write Data Files and Animation Files.- 11.5 How Fast Is Your Computer?.- 12 System Dependencies and Other Programming Languages.- 12.1 How to Change the System-Dependent Commands.- 12.2 'Macromania': C, ANSI C or C++ ?.- 12.3 Pointer Arithmetic in PASCAL.- References.