Navigation: Up, Table of Contents, Bibliography, Index, Title Page

Geometric Optimisation



Introduction

This chapter describes routines for solving geometric optimisation problems.

The first three sections contain algorithms for computing and updating the

of a finite point set.

Section reference describes several functions to compute the smallest enclosing region r of a planar convex polygon P where r is to be chosen from a set of candidate regions.

The remaining sections describe algorithms for searching in matrices with specific properties and some applications. In particular, there are general implementations of

Traits Class

The class and function templates are parameterized with a traits class which defines the abstract interface between the optimisation algorithm and the primitives it uses. We provide traits class implementations that interface the optimisation algorithms with the CGAL kernel. For some algorithms, in addition, we provide traits class adapters to user supplied point classes. Finally, we describe the requirements that must be fulfilled by traits classes for optimisation algorithms. This is at the same time a specification for using the provided traits class implementations as for users who want to supply their own traits class.

Assertions

The optimisation code uses infix OPTIMISATION in the assertions, e.g. defining the compiler flag CGAL_OPTIMISATION_NO_PRECONDITIONS switches precondition checking off, cf. Section 2 of the Reference Manual Part 0, General Introduction

Smallest Enclosing Circles

This section describes routines for computing and updating the smallest enclosing circle of a finite point set. Formally, the `smallest enclosing circle' is the boundary of the closed disk of minimum area covering the point set. It is known that this disk is unique. We usually identify the disk with its bounding circle, allowing us to talk about points being on the boundary of the circle, etc.

The algorithm works in an incremental manner. It is implemented as a semi-dynamic data structure, thus allowing to insert points while maintaining the smallest enclosing circle.


begin of advanced section


end of advanced section

Smallest Enclosing Ellipses

This section describes routines for computing and updating the smallest enclosing ellipse of a finite point set. Formally, the `smallest enclosing ellipse' is the boundary of the closed disk of minimum area covering the point set. It is known that this disk is unique. We usually identify the disk with its bounding ellipse, allowing us to talk about points being on the boundary of the ellipse, etc.

The algorithm works in an incremental manner. It is implemented as a semi-dynamic data structure, thus allowing to insert points while maintaining the smallest enclosing ellipse.


begin of advanced section


end of advanced section

Smallest Enclosing Spheres

This section describes routines for computing and updating the smallest enclosing sphere of a finite point set. Formally, the `smallest enclosing sphere' is the boundary of the closed ball of minimum volume covering the point set. It is known that this ball is unique. We usually identify the ball with its bounding sphere, allowing us to talk about points being on the boundary of the sphere, etc.

The algorithm is implemented as a semi-dynamic data structure, thus allowing to insert points while maintaining the smallest enclosing sphere.


begin of advanced section


end of advanced section

Minimum Enclosing Quadrilaterals

This section describes several functions to compute the smallest enclosing region r of a planar convex polygon P where r is to be chosen from a set of candidate regions.


begin of advanced section


end of advanced section

Computing Extremal Polygons

This section describes several functions to compute a maximal k-gon Pk that can be inscribed into a given convex polygon P. The criterion for maximality can be chosen freely by defining an appropriate traits class as specified in section reference. For CGAL point classes there are two predefined traits classes to compute a maximum area (see section reference) resp. perimeter (see section reference) inscribed k-gon.


begin of advanced section


end of advanced section

All Furthest Neighbors

This section describes a function to compute all furthest neighbors for the vertices of a convex polygon.


begin of advanced section


end of advanced section

Rectangular p-Centers

This section describes a function to compute rectilinear p-centers of a planar point set, i.e. a set of p points such that the maximum minimal distance between both sets is minimized.


begin of advanced section


end of advanced section


begin of advanced section

Monotone Matrix Search

In this section we describe a general function to compute the maxima for all rows of a totally monotone matrix.


end of advanced section


begin of advanced section

Sorted Matrix Search

This section describes a general function to select the smallest entry in a set of sorted matrices that fulfills a certain criterion.


end of advanced section


Navigation: Up, Table of Contents, Bibliography, Index, Title Page
The GALIA project. Jan 18, 2000.