on 25 July 2009
This book provides a concise and fairly comprehensive introduction to the core mathematics and algorithms needed for basic computer graphics applications.
The first four chapters titled "Survival Kits" introduce the basic mathematical concepts of 1) Set Theory, 2) Vector Algebra, 3) Matrix Algebra and, 4) Linear Spaces. They present the key concepts in these areas in handbook fashion, with definitions, concise presentations of concepts, and theorems and proofs as needed. The handbook style allows the author to present important definitions and concepts quickly. However, some may find the brief presentations and minimal motivational development needing more expansion.
The final six chapters cover key transformation and rendering concepts. The implementation of techniques in C functions and pseudo-code algorithms is a definite plus. The C language's <math.h> library and pointers are widely used. The author avoids the use of "tricky" coding techniques, so code examples are generally easy to follow, particularly for those familiar with a C-related language. e.g., C++. Fortunately code examples also contain a fair amount of comments, aiding conversion to other programming languages. Although the use of C pointers may make conversion to non-C related languages a bit more difficult. Additionally, pseudo-code algorithms are written in a style easily converted to code, thus making it easy to implement the concepts presented in applications. It was a pleasure to see a book with such an extensive discussion of mathematical concepts also supported with both pseudo-code and code.
However, there are a few deficiencies present, including, e.g., presentation sequencing errors. These appear as early as the first chapter. A concept may be used before it is explained or described, as when the symbol for set membership, "belongs to" is used before it is defined in a follow-on section.
I've generally been impressed with both the quality and pricing of Springer books, especially their Undergraduate and Graduate Texts in Mathematics (UTM and GTM, "Yellow Book") series. However, unlike many of their hardcover books, e.g, in the UTM series, this undergraduate text is unexpectedly expensive.
Some final comments on the book's physical form: The book is printed on higher quality acid-free paper, so the pages will not start to brown in a few years. Although the cover is paper and not cloth, the book appears well-bound. The font used for both the text and code, while relatively small, is quite readable. However, the cover uses some, apparently, ill-chosen design elements. Even when the book is new, the diffused white markings on the solid blue-green background will appear to many to be the result of wear (see product photo). Surprisingly, these marks are part of the book's graphic design.
In spite of some sequencing issues, the occasional editing lapse and its comparatively high price, this book can be recommended for its relatively comprehensive presentation of the mathematical and algorithmic foundations of basic computer graphics applications.