%% ============================================================================= %% The CGAL Reference Manual %% Chapter: Geometric Optimisation %% ----------------------------------------------------------------------------- %% file : doc_tex/basic/Optimisation/Optimisation_ref/intro.tex %% package: Optimisation_doc %% author : Sven Schönherr %% ----------------------------------------------------------------------------- %% $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 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}\\[1ex] \ccRefIdfierPage{CGAL::Min_circle_2_traits_2}\\[1ex] \ccRefConceptPage{MinCircle2Traits} \smallskip \ccRefIdfierPage{CGAL::Min_ellipse_2}\\[1ex] \ccRefIdfierPage{CGAL::Min_ellipse_2_traits_2}\\[1ex] \ccRefConceptPage{MinEllipse2Traits} \smallskip \ccRefIdfierPage{CGAL::Approximate_min_ellipsoid_d}\\ \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}\\[1ex] \ccRefConceptPage{MinQuadrilateralTraits_2} \smallskip \ccRefIdfierPage{CGAL::rectangular_p_center_2}\\[1ex] \ccRefIdfierPage{CGAL::Rectangular_p_center_default_traits_2}\\[1ex] \ccRefConceptPage{RectangularPCenterTraits_2} \smallskip \ccRefIdfierPage{CGAL::Min_sphere_d}\\ \ccRefIdfierPage{CGAL::Min_annulus_d}\\[1ex] \ccRefIdfierPage{CGAL::Optimisation_d_traits_2}\\ \ccRefIdfierPage{CGAL::Optimisation_d_traits_3}\\ \ccRefIdfierPage{CGAL::Optimisation_d_traits_d}\\[1ex] \ccRefConceptPage{OptimisationDTraits} \smallskip \ccRefIdfierPage{CGAL::Min_sphere_of_spheres_d}\\ \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}\\[1ex] \ccRefIdfierPage{CGAL::Extremal_polygon_area_traits_2}\\ \ccRefIdfierPage{CGAL::Extremal_polygon_perimeter_traits_2}\\[1ex] \ccRefConceptPage{ExtremalPolygonTraits_2}\\ \ccRefConceptPage{LargestEmptyIsoRectangleTraits_2} %% ----------------------------------------------------------------------------- \subsection*{Optimal Distances} %%\ccRefIdfierPage{CGAL::width_2}%\\[1ex] %%\ccRefIdfierPage{CGAL::Min_quadrilateral_default_traits_2}\\[1ex] %%\ccRefConceptPage{MinQuadrilateralTraits_2} %%\smallskip \ccRefIdfierPage{CGAL::all_furthest_neighbors_2}\\[1ex] %%\ccRefIdfierPage{CGAL::All_furthest_neighbors_default_traits_2}\\[1ex] \ccRefConceptPage{AllFurthestNeighborsTraits_2} \smallskip \ccRefIdfierPage{CGAL::Width_3}\\[1ex] \ccRefIdfierPage{CGAL::Width_default_traits_3}\\[1ex] \ccRefConceptPage{WidthTraits_3} \smallskip \ccRefIdfierPage{CGAL::Polytope_distance_d}\\[1ex] \ccRefIdfierPage{CGAL::Optimisation_d_traits_2}\\ \ccRefIdfierPage{CGAL::Optimisation_d_traits_3}\\ \ccRefIdfierPage{CGAL::Optimisation_d_traits_d}\\[1ex] \ccRefConceptPage{OptimisationDTraits} %% ----------------------------------------------------------------------------- \subsection*{Advanced Techniques} \ccRefIdfierPage{CGAL::monotone_matrix_search}\\[1ex] \ccRefIdfierPage{CGAL::Dynamic_matrix}\\[1ex] \ccRefConceptPage{MonotoneMatrixSearchTraits}\\ \ccRefConceptPage{BasicMatrix} \smallskip \ccRefIdfierPage{CGAL::sorted_matrix_search}\\[1ex] \ccRefIdfierPage{CGAL::Sorted_matrix_search_traits_adaptor}\\[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 ===================================================================