This is an HTML rendering of a working paper draft that led to a publication. The publication should always be cited in preference to this draft using the following reference:
Max K Agoston
Computer Graphics and Geometric Modeling: Implementation and Algorithms, 907 pp.
Computer Graphics and Geometric Modeling: Mathematics, 958 pp.
Springer-Verlag, London, 2005
Handling the mathematical aspects of computer graphics has always been a thorny issue for textbooks and monographs in this area. The typical solution authors employ is to tuck the basics in an extremely condensed appendix, and magically swipe the rest under the carpet. As a result, demanding readers get shortchanged, as they have to hunt in, often obscure, mathematics sources to locate the material they are looking for. Max K. Agoston, Professor Emeritus of Mathematics and Computer Science at the San Jose State University, in his two volume monograph “Computer Graphics and Geometric Modeling” adopted a different approach. Agoston boldly addressed the way computer graphics books typically treat mathematics as their ugly duckling sibling by awarding equal treatment to each subject.
One volume of this opus magnum, subtitled “Mathematics” deals with the mathematical background: linear algebra, affine, projective, differential, and algebraic geometry, calculus, and point set, combinatorial, algebraic, and differential topology. Six appendices complement this volume with tabulating the employed notation and summarizing algebra, linear algebra, calculus, and complex and numerical analysis.
The work’s other volume deals with implementation and algorithmic issues. This volume is divided into three parts. Basic computer graphics covers raster algorithms, clipping, transformations, geometric modeling, visual surface algorithms, color, illumination and shading methods, and rendering techniques. The second part on geometric modeling covers curves, surfaces, intersection, as well as global, local and intrinsic geometric modeling. (As the reader will have by now realized the material’s organization is exemplary.) The book’s last part covers special topics like computational geometry, interval analysis, the finite element method, quaternions, digital image processing, chaos, and fractals. An appendix presents the IGES product definition interface.
Both volumes contain numerous bibliographic references ordered in a practical way that allows the reader to browse them by subject, and to locate the details of a reference in the text. Specifically, the full references are listed under the subject they cover (about 25 subjects in the mathematics volume and another 70 in the implementation and algorithm volume), while a separate bibliographic index allows the reader to see both where each reference is made and its full bibliographic details.
The writing on both volumes is that of a mathematician: formal but clear. In both volumes the text’s flow follows the standard of mathematical exposition using terms like definition, proposition, theorem, proof, lemma, corollary, example, and solution as signposts. Most theorems contain proofs or references to where a proof can be found. Numerous figures illustrate the text; unfortunately in the implementation volume they are rendered in a relatively low resolution, slightly marring the book’s otherwise impeccable typesetting. In addition, both volumes contain numerous examples that help the reader see the applications of the discussed theory. The “Implementation and Algorithms” volume illustrates most algorithms in the form of pseudocode. Although the algorithms are clear, the code’s style leaves some room for improvement. The volume is accompanied by a CD containing the C++ source code and Microsoft Windows executables for a geometric modeling and a manifold exploration program.
The two volumes could be suitable for an advanced undergraduate or graduate course on computer graphics. They will also form a valuable reference for professionals looking for material that gives the mathematical aspect of computer graphics the importance it deserves.