mirror of https://github.com/CGAL/cgal
196 lines
6.3 KiB
TeX
196 lines
6.3 KiB
TeX
%% =============================================================================
|
|
%% The CGAL Reference Manual
|
|
%% Chapter: Geometric Optimisation
|
|
%% -----------------------------------------------------------------------------
|
|
%% file : doc_tex/basic/Optimisation/Optimisation_ref/intro.tex
|
|
%% package: Optimisation_doc
|
|
%% author : Sven Schönherr <sven@inf.ethz.ch>
|
|
%% -----------------------------------------------------------------------------
|
|
%% $Id$
|
|
%% $Date$
|
|
%% =============================================================================
|
|
|
|
\newcommand{\inputOpt}[1]{\input{Optimisation_ref/#1.tex}}
|
|
|
|
\newcommand{\linebreakByHand}{\ccTexHtml{\linebreak[4]}{}}
|
|
\newcommand{ \newlineByHand}{\ccTexHtml{\\}{}}
|
|
|
|
%% cross references
|
|
\ccIndexSubitemSeeAlso{minimum enclosing}{smallest enclosing}
|
|
\ccIndexSubitemSeeAlso{minimum spanning}{smallest enclosing}
|
|
\ccIndexSubitemSeeAlso{concentric spheres}{annulus}
|
|
|
|
%% -----------------------------------------------------------------------------
|
|
\ccRefChapter{Geometric Optimization}
|
|
\ccChapterAuthor{Kaspar Fischer \and Bernd G{\"a}rtner \and Thomas Herrmann \and Michael Hoffmann
|
|
\and Eli Packer \and Sven Sch{\"o}nherr}
|
|
|
|
|
|
This chapter describes concepts, classes, and functions for solving
|
|
geometric optimization problems. They are divided into four categories.
|
|
|
|
\paragraph{Bounding Areas and Volumes.}
|
|
Smallest enclosing circle and ellipse (2D), smallest enclosing rectangle,
|
|
parallelogram, and strip (2D), rectangular $p$-center (2D), smallest
|
|
enclosing sphere and annulus (dD), approximate
|
|
minimum-volume enclosing ellipsoid with user-specified
|
|
approximation ratio (dD).
|
|
|
|
\paragraph{Inscribed Areas.}
|
|
Maximum area and perimeter inscribed $k$-gon (2D), extremal inscribed
|
|
$k$-gon (2D), largest empty isorectangle (2D).
|
|
|
|
\paragraph{Optimal Distances.}
|
|
All furthest neigbors (2D), width of point set (3D), polytope distance (dD).
|
|
|
|
\paragraph{Advanced Techniques.}
|
|
Monotone and sorted matrix search.
|
|
|
|
\section*{Assertions}
|
|
The optimization code uses infix \ccc{OPTIMISATION} in the assertions,
|
|
e.g.\ defining the compiler flag
|
|
\ccc{CGAL_OPTIMISATION_NO_PRECONDITIONS} switches precondition
|
|
checking off, cf.~Section~\ref{sec:checks}.
|
|
|
|
\section{Classified References Pages}
|
|
|
|
%% -----------------------------------------------------------------------------
|
|
\subsection*{Bounding Areas and Volumes}
|
|
|
|
\ccRefIdfierPage{CGAL::Min_circle_2<Traits>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Min_circle_2_traits_2<K>}\\[1ex]
|
|
\ccRefConceptPage{MinCircle2Traits}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Min_ellipse_2<Traits>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Min_ellipse_2_traits_2<K>}\\[1ex]
|
|
\ccRefConceptPage{MinEllipse2Traits}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Approximate_min_ellipsoid_d<Traits>}\\
|
|
\ccRefConceptPage{ApproximateMinEllipsoid_d_Traits_d}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::min_rectangle_2}\\
|
|
\ccRefIdfierPage{CGAL::min_parallelogram_2}\\
|
|
\ccRefIdfierPage{CGAL::min_strip_2}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Min_quadrilateral_default_traits_2<R>}\\[1ex]
|
|
\ccRefConceptPage{MinQuadrilateralTraits_2}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::rectangular_p_center_2}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Rectangular_p_center_default_traits_2<R>}\\[1ex]
|
|
\ccRefConceptPage{RectangularPCenterTraits_2}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Min_sphere_d<Traits>}\\
|
|
\ccRefIdfierPage{CGAL::Min_annulus_d<Traits>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_2<K,ET,NT>}\\
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_3<K,ET,NT>}\\
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_d<K,ET,NT>}\\[1ex]
|
|
\ccRefConceptPage{OptimisationDTraits}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Min_sphere_of_spheres_d<Traits>}\\
|
|
\ccRefConceptPage{MinSphereOfSpheresTraits}
|
|
|
|
%% -----------------------------------------------------------------------------
|
|
\subsection*{Inscribed Areas}
|
|
|
|
\ccRefIdfierPage{CGAL::maximum_area_inscribed_k_gon_2}\\
|
|
\ccRefIdfierPage{CGAL::maximum_perimeter_inscribed_k_gon_2}\\
|
|
\ccRefIdfierPage{CGAL::extremal_polygon_2}\\
|
|
\ccRefIdfierPage{CGAL::Largest_empty_iso_rectangle_2<T>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Extremal_polygon_area_traits_2<K>}\\
|
|
\ccRefIdfierPage{CGAL::Extremal_polygon_perimeter_traits_2<K>}\\[1ex]
|
|
\ccRefConceptPage{ExtremalPolygonTraits_2}\\
|
|
\ccRefConceptPage{LargestEmptyIsoRectangleTraits_2}
|
|
|
|
%% -----------------------------------------------------------------------------
|
|
\subsection*{Optimal Distances}
|
|
|
|
%%\ccRefIdfierPage{CGAL::width_2}%\\[1ex]
|
|
%%\ccRefIdfierPage{CGAL::Min_quadrilateral_default_traits_2<K>}\\[1ex]
|
|
%%\ccRefConceptPage{MinQuadrilateralTraits_2}
|
|
|
|
%%\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::all_furthest_neighbors_2}\\[1ex]
|
|
%%\ccRefIdfierPage{CGAL::All_furthest_neighbors_default_traits_2<R>}\\[1ex]
|
|
\ccRefConceptPage{AllFurthestNeighborsTraits_2}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Width_3<Traits>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Width_default_traits_3<K>}\\[1ex]
|
|
\ccRefConceptPage{WidthTraits_3}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::Polytope_distance_d<Traits>}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_2<K,ET,NT>}\\
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_3<K,ET,NT>}\\
|
|
\ccRefIdfierPage{CGAL::Optimisation_d_traits_d<K,ET,NT>}\\[1ex]
|
|
\ccRefConceptPage{OptimisationDTraits}
|
|
|
|
%% -----------------------------------------------------------------------------
|
|
\subsection*{Advanced Techniques}
|
|
|
|
\ccRefIdfierPage{CGAL::monotone_matrix_search}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Dynamic_matrix<M>}\\[1ex]
|
|
\ccRefConceptPage{MonotoneMatrixSearchTraits}\\
|
|
\ccRefConceptPage{BasicMatrix}
|
|
|
|
\smallskip
|
|
|
|
\ccRefIdfierPage{CGAL::sorted_matrix_search}\\[1ex]
|
|
\ccRefIdfierPage{CGAL::Sorted_matrix_search_traits_adaptor<F,M>}\\[1ex]
|
|
\ccRefConceptPage{SortedMatrixSearchTraits}
|
|
|
|
\smallskip
|
|
|
|
%% =============================================================================
|
|
|
|
%% Bounding Areas and Volumes
|
|
|
|
\inputOpt{main_Min_circle_2}
|
|
\inputOpt{main_Min_ellipse_2}
|
|
\inputOpt{main_Min_quadrilateral_2}
|
|
\inputOpt{main_Rectangular_p_centers}
|
|
|
|
\inputOpt{main_Min_sphere_d}
|
|
\inputOpt{main_Min_annulus_d}
|
|
|
|
\inputOpt{main_Min_sphere_of_spheres_d}
|
|
\inputOpt{main_Approximate_min_ellipsoid_d}
|
|
|
|
\inputOpt{main_Optimisation_d_traits}
|
|
|
|
%% Inscribed Areas
|
|
|
|
\inputOpt{main_Extremal_polygons}
|
|
|
|
\inputOpt{main_Largest_empty_iso_rectangle_2}
|
|
|
|
%% Optimal Distances
|
|
|
|
\inputOpt{main_All_furthest_neighbors}
|
|
|
|
\inputOpt{main_Width_3}
|
|
|
|
\inputOpt{main_Polytope_distance_d}
|
|
|
|
|
|
%% Advanced Techniques
|
|
|
|
\inputOpt{main_Matrix_search}
|
|
|
|
|
|
%% ===== EOF ===================================================================
|