This is the newly revised and expanded edition of a popular introduction to the design and implementation of geometry algorithms arising in areas such as computer graphics, robotics, and engineering design. The basic techniques used in computational geometry are all covered: polygon triangulations, convex hulls, Voronoi diagrams, arrangements, geometric searching, and motion planning. The self-contained treatment presumes only an elementary knowledge of mathematics, but reaches topics on the frontier of current research, making it a useful reference for practitioners at all levels. The second editon contains material on several new topics, such as randomized algorithms for polygon triangulation, planar point location, 3D convex hull construction, intersection algorithms for ray-segment and ray-triangle, and point-in-polyhedron. A new 'Sources' chapter points to supplemental literature for readers needing more information on any topic. A novel aspect of the book is the inclusion of working C code for many of the algorithms, with discussion of practical implementation issues. The code in this new edition is significantly improved from the first edition (more efficient and more robust), and four new routines are included. Java versions for this new edition are also available. All code is accessible from the book's Web site (http://cs.smith.edu/~orourke/) or by anonymous ftp.* Clear explanations, suitable for the novice; classroom tested; many student projects can be built on the provided code * Includes working C code producing Postscript output, also available on the web in Java. All code is significantly improved from first edition, with four completely new routines * 40 new exercises bringing total to 270, 28 new figures, new annotated further reading list'... the author does an excellent job of explaining difficult concepts in an accessible, even entertaining, manner ... If this is your field, this is your book!' Developers Review'The balanced combination of careful descriptions, examples, algorithms and exercises makes it a pleasure to read ...'. Zentralblatt'Anyone who wants to know what this field is all about should read this book! The book is a pleasure to read, as questions that arise naturally in the reader's mind are answered, in almost all cases, in the following paragraph. The style strikes an ideal balance between rigor and informality. Mr O'Rourke must be a wonderful teacher and I envy his students.' Miriam L. Lucian, Society for Industrial and Applied Mathematics