Berlin: Springer. xii, 366 p. DM 48.00; öS 350.40; sFr 43.00; £20.00; $ 32.95 (1997).
This remarkable textbook offers a “hands-on” introduction to computational geometry. It is intended as a textbook, with a discussion of various topics related to the implementation of such algorithms: the data representation used in most of the geometric structures is the doubly-connected edge-list (Chapter 2); legible pseudo-code is given for all the algorithms; and a short motivation introduces each chapter to give some ideas on how the algorithm could be used. I found the latter a good and useful innovation (even though I would have picked different examples for some chapters). It also gives the reader a sense of in what domains computational geometry could be applied: the motivations stem among other fields from geographic information systems (GIS), manufacturing, computer graphics, and robotics. This makes it an ideal reference to use it for introductory lectures on computational geometry. Since the goals and methods of this textbook are similar to that by J. O’Rourke [Computational geometry in C, Cambridge Univ. Press (1994; Zbl 0816.68124)], many comments made for that book also apply to this one.
As for the contents, one finds convex hulls (Chapters 1 and 11) and linear programming (Chapter 4); line segments intersections and related problems about planar maps (Chapter 2) and point location (Chapter 6); arrangements of lines (Chapter 8); triangulations (Chapters 3 and 9) and Voronoi diagrams (Chapter 7); geometric data structures for searching (Chapters 5, 10, 12, 14, and 16) and visibility (Chapter 15).
The book treats quite well all the aspects of two- and three-dimensional geometry. It does not give the most theoretically efficient solution to some problems, but always one simple and reasonably efficient solution can be derived from the material. One should not expect in the text a treatment of four- and higher-dimensional structures (except for orthogonal range searching and linear programming). Nevertheless, the notes give some pointers in this direction. The reader looking for such information should consult the more advanced books by H. Edelsbrunner [Algorithms in combinatorial geometry (1987; Zbl 0634.52001)] or J.-D. Boissonnat and M. Yvinec [Géométrie algorithmique, Ediscience, Paris (1995)].