Programming Principles in Computer Graphics
By: Leendert Ammeraal.
Edition: 2nd ed.
Series: Wiley professional computing
Publisher: Wiley; John Wiley & Sons Ltd (Import)
Published: 1992
Place of publication: Chichester; New York
Language: eng
Number of pages: 233
Subjects: Computer programming.; Computer graphics.
First sentence: It is hardly possible to find a subject that is more controversial than programming languages.
Description: Back Cover

For anyone who is interested in experimenting with computer graphics (or is teaching those who are)...this book should get them hooked... -Computer Aided Design (review of first edition) 

In its second, updated edition, examples in this introduction to graphics programming have been rewritten in the C++ language.

The author uses a host of of ready-to-run programs and worked examples to illuminate general principles and geometric techniques for the creation of both 2D and 3D graphical objects.

Still accessible to the C programmer, the book benefits from some elegant programming concepts of C++. It has been expanded to include subjects related to pixels, such as Bresenham's algorithms for lines and circles, polygon-filling and hidden-surface elimination; its approach is machine-independent. Matters of perspective are looked at in detail and the use of color is discussed and illustrated.

Spread throughout the text, numerous exercises encourage the reader to test and improve programming skills. A useful instructive tool for both student and teaching professional, this book will be a fine starting point for any graphics programmer.
Notes: Includes bibliographical references (p. 229) and index.
Table of contents: title: Preface
pagenum: vii; label: 1
title: Introduction
pagenum: 1; label: 1.1
title: Graphics Programming and the C++ Language
pagenum: 1; label: 1.2
title: Our First Graphics Programs
pagenum: 2; title: Excercises
pagenum: 8; label: 2
title: Transformations, Windows and Viewports
pagenum: 11; label: 2.1
title: Translations and Rotations
pagenum: 11; label: 2.2
title: Points and Vectors in C++ Programs
pagenum: 14; label: 2.3
title: Matrix Notation
pagenum: 18; label: 2.4
title: Line Clipping
pagenum: 21; label: 2.5
title: Windows and Viewports
pagenum: 27; label: 2.6
title: Uniform Scaling
pagenum: 29; label: 2.7
title: Curve Fitting
pagenum: 38; title: Excercises
pagenum: 45; label: 3
title: Geometric Tools
pagenum: 47; label: 3.1
title: Vectors and Coordinate Systems
pagenum: 47; label: 3.2
title: Inner Product
pagenum: 49; label: 3.3
title: Determinants and Orientation
pagenum: 50; label: 3.4
title: Vector Product
pagenum: 56; label: 3.5
title: Triangulation of Polygons
pagenum: 58; label: 3.6
title: Three-dimensional Rotations
pagenum: 67; label: 3.7
title: Vectors and Recursion
pagenum: 74; title: Excercises
pagenum: 76; label: 4
title: Using Pixels
pagenum: 81; label: 4.1
title: Pixels and Colors
pagenum: 81; label: 4.2
title: Line Drawing by Writing Pixels
pagenum: 85; label: 4.3
title: Circles
pagenum: 91; label: 4.4
title: Polygon Filling
pagenum: 95; title: Excercises
pagenum: 103; label: 5
title: Perspective
pagenum: 105; label: 5.1
title: Introduction
pagenum: 105; label: 5.2
title: The Viewing Transformation
pagenum: 107; label: 5.3
title: The Perspective Transformation
pagenum: 113; label: 5.4
title: A Program to Draw Cubes
pagenum: 122; label: 5.5
title: Drawing Wire Frame Models
pagenum: 125; label: 5.6
title: Viewing Direction, Infinity, Vertical Lines
pagenum: 128; title: Excercises
pagenum: 131; label: 6
title: Hidden-line Elimination
pagenum: 133; label: 6.1
title: Backfaces and Convex Polyhedra
pagenum: 133; label: 6.2
title: A More General Approach
pagenum: 135; label: 6.3
title: Test for Visibility
pagenum: 139; label: 6.4
title: Holes; Loose Line Segments and Planes
pagenum: 148; label: 6.5
title: Reducing the Number of Visibility Tests
pagenum: 152; title: Excercises
pagenum: 153; label: 7
title: Hidden-surface Elimination
pagenum: 155; label: 7.1
title: Colors and Palettes Applies to 3D Faces
pagenum: 155; label: 7.2
title: Real and Integer Coordinates
pagenum: 161; label: 7.3
title: A Simple Painter's Algorithm
pagenum: 163; label: 7.4
title: Other Methods, Including Warnock's Algorithm
pagenum: 165; title: Excercises
pagenum: 168; label: 8
title: Some Applications
pagenum: 169; label: 8.1
title: Introduction
pagenum: 169; label: 8.2
title: Hollow Cylinder
pagenum: 173; label: 8.3
title: Beams in a Spiral
pagenum: 176; label: 8.4
title: Spiral Staircase
pagenum: 179; label: 8.5
title: Torus
pagenum: 182; label: 8.6
title: Semi-sphere
pagenum: 184; label: 8.7
title: Functions of Two Variables
pagenum: 187; title: Excercises
pagenum: 190; title: Appendix A: Program Text HIDELINE
pagenum: 193; title: Appendix B: Program Text HIDEFACE
pagenum: 207; title: Appendix C: Program Text GRSYS
pagenum: 223; title: Bibliography
pagenum: 229; title: Index
pagenum: 231