All Categories
Arrangements of curves constitute fundamental structures that have been intensively studied in computational geometry. Arrangements have numerous applications in a wide range of areas – examples include geographic information systems, robot motion planning, statistics, computer-assisted surgery and molecular biology. Implementing robust algorithms for arrangements is a notoriously difficult task, and the CGAL arrangements package is the first robust, comprehensive, generic and efficient implementation of data structures and algorithms for arrangements of curves. This book is about how to use CGAL two-dimensional arrangements to solve problems. The authors first demonstrate the features of the arrangement package and related packages using small example programs. They then describe applications, i.e., complete standalone programs written on top of CGAL arrangements used to solve meaningful problems – for example, finding the minimum-area triangle defined by a set of points, planning the motion of a polygon translating among polygons in the plane, computing the offset polygon, finding the largest common point sets under approximate congruence, constructing the farthest-point Voronoi diagram, coordinating the motion of two discs moving among obstacles in the plane, and performing Boolean operations on curved polygons. The book contains comprehensive explanations of the solution programs, many illustrations, and detailed notes on further reading, and it is supported by a website that contains downloadable software and exercises. It will be suitable for graduate students and researchers involved in applied research in computational geometry, and for professionals who require worked-out solutions to real-life geometric problems. It is assumed that the reader is familiar with the C++ programming-language and with the basics of the generic-programming paradigm.