diff --git a/Documentation/doc/biblio/geom.bib b/Documentation/doc/biblio/geom.bib index 68a236d9225..801a459f83e 100644 --- a/Documentation/doc/biblio/geom.bib +++ b/Documentation/doc/biblio/geom.bib @@ -4167,7 +4167,7 @@ cell neighborhood in $O(m)$ time." , succeeds = "aarx-clgta-96" , update = "98.07 rote, 98.03 mitchell, 97.03 rote" , abstract = "Exploiting the concept of so-called light edges, we introduce - a new way of defining the greedy triangulation GT(S) of a point + a new way of defining the greedy triangulation GT(S) of a point set S. It provides a decomposition of GT(S) into levels, and the number of levels allows us to bound the total edge length of GT(S). In particular, we show @@ -12292,9 +12292,9 @@ method that uses very different techniques." , pages = "201--290" , url = "http://wwwpi6.fernuni-hagen.de/Publikationen/tr198.pdf" , succeeds = "ak-vd-96" -, cites = "ahknu-vdcfc-95, abms-claho-94, aesw-emstb-91, agss-ltacv-89, ahl-sqrpc-90, aiks-fkpmd-91, a-dppuv-82, aaag-ntsp-95, aa-skfgpf-95, aacktrx-tin-96, a-nemts-83, as-vdco-95, ay-aampt1-90, ay-aampt2-90, ar-cvddp-96, a-gvdps-89, a-lbvdc-98, abky-cabmm-88, abcw-cpdts-88, ab-rdt-85, a-sdcgp-85, a-pdpaa-87, a-rpccc-87, a-iadbu-88, a-lcpd-88, a-ndrcv-90, a-vdsfg-91, ae-oacwv-84, aha-mttls-92, ai-grvd-88, as-solri-92, abi-cvus-88, br-rasas-90, bo-arcgi-79, bs-dcms-76, bwy-oetac-80, be-mgot-92i, beg-pgmg-94, b-bnvd, bt-gatuf-85, bmt-dppbp-96, bcdt-osc3d-91i, bdsty-arsol-92, bg-tdrcs-93, bsty-vdhdc-95, bt-rcdt-93, bh-cpcoe-88, b-rgsdd-89, b-vdch-79, b-gtfga-80, bms-hcvdl-94, b-gog-55, c-vmpmp-85, cd-svd-88, crw-gc-91, csy-oscpf-95, cdns-nsrgs-95, c-ochaa-93, ce-iacko-87, cgt-ecabs-95, cx-alesw-96, c-bvdcp-86, c-cdt-89, c-tapga-89, c-gqmgc-93, - cd-vdbcd-85, ckstw-vdl3s-95, csw-fmasp-95, c-wcanh-76, cms-mfdca-94, c-narsc-87, c-agmst-89, cms-frric-93, cs-arscg-89, cmrs-tspvd-93, cw-pspp-86, dj-wtacg-89, ds-oiti-89, bms-plpco-93, dfnp-stdt-91, d-eaclm-77, dk-savd-87, dk-bspwa-97, dn-cgacp-85, d-slsv-34, d-pp-44, d-rysoa-92, dv-cprac-77, dds-saeid-92, de-apphd-96, d-nhndt-87, d-tdt-90, d-fhcdt-92, d-udrdp-50, dl-cvdrp-91, ddg-fsp-83, dfs-dgaag-90, dl-pmtds-89, dl-msp-76, d-ec-83, d-fdcac-87, d-hdvdl-91, e-acg-87, e-atccd-90, e-ubids-95, egs-ueplf-89, egs-oplms-86, eks-sspp-83, em-tdas-94, eos-calha-86, es-vda-86, ess-ztha-93, es-itfwr-96, es-otatd-91, et-qtaml-93, et-ubcdt-93, etw-otama-92, ei-drmwc-79, f-sodt-90, f-iwatd-86, f-nsa2d-92, f-vddt-92, f-savd-87, gs-nsagv-69, gj-cigtn-79, g-3dmud-95, g-agt-85, grr-vdlsm-95, grss-sracp-95, - goy-cvdsl-93, gs-cdtp-78, gks-ricdv-92, gmr-vdmpp-92, gs-pmgsc-85, h-ca-75, h-rvdlp-92, h-gbitp-91, hkp-itnc-91, hn-sc-89, hns-psscp-88, h-pcprn-91, hks-uevsi-93, h-oarms-79, iklm-cdf3s-93, iki-awvdr-94, iss-nriac-92, j-3dtlt-89, j-ctddt-91, j-gspgm-91, jrz-ccdt-91, km-accvd-91, km-icdmc-92, kk-cdtmb-88, kg-cgwac-92, k-csmwt-94, ks-tpscv-93, k-eccs-79, k-ndot-80, k-osps-83, kr-fcm-85, k-cddvd-80, k-cavd-89, kl-ltrab-93, kl-fsc-95, kl-mpsp-95, kmm-ricav-93a, kw-vdbgm-88, k-sssgt-56, kl-fsacl-95, l-dtmmi-94, l-esta-94, l-scsi-77, l-vdlmh-94, l-ricsa-95, l-tdvdl-80, l-matps-82, l-knnvd-82, ld-gvdp-81, ll-gdtpg-86, lw-vdllm-80, lk-qgtam-96, l-ltcrn-94, msw-sblp-92, ms-pggrg-80, m-dtchn-84, mr-vdcdg-90, mks-cplvd-96, m-tdird-76, m-mnfcp-70, m-lpltw-84, mmo-cavd-91, m-zkav-93, +, cites = "ahknu-vdcfc-95, abms-claho-94, aesw-emstb-91, agss-ltacv-89, ahl-sqrpc-90, aiks-fkpmd-91, a-dppuv-82, aaag-ntsp-95, aa-skfgpf-95, aacktrx-tin-96, a-nemts-83, as-vdco-95, ay-aampt1-90, ay-aampt2-90, ar-cvddp-96, a-gvdps-89, a-lbvdc-98, abky-cabmm-88, abcw-cpdts-88, ab-rdt-85, a-sdcgp-85, a-pdpaa-87, a-rpccc-87, a-iadbu-88, a-lcpd-88, a-ndrcv-90, a-vdsfg-91, ae-oacwv-84, aha-mttls-92, ai-grvd-88, as-solri-92, abi-cvus-88, br-rasas-90, bo-arcgi-79, bs-dcms-76, bwy-oetac-80, be-mgot-92i, beg-pgmg-94, b-bnvd, bt-gatuf-85, bmt-dppbp-96, bcdt-osc3d-91i, bdsty-arsol-92, bg-tdrcs-93, bsty-vdhdc-95, bt-rcdt-93, bh-cpcoe-88, b-rgsdd-89, b-vdch-79, b-gtfga-80, bms-hcvdl-94, b-gog-55, c-vmpmp-85, cd-svd-88, crw-gc-91, csy-oscpf-95, cdns-nsrgs-95, c-ochaa-93, ce-iacko-87, cgt-ecabs-95, cx-alesw-96, c-bvdcp-86, c-cdt-89, c-tapga-89, c-gqmgc-93, + cd-vdbcd-85, ckstw-vdl3s-95, csw-fmasp-95, c-wcanh-76, cms-mfdca-94, c-narsc-87, c-agmst-89, cms-frric-93, cs-arscg-89, cmrs-tspvd-93, cw-pspp-86, dj-wtacg-89, ds-oiti-89, bms-plpco-93, dfnp-stdt-91, d-eaclm-77, dk-savd-87, dk-bspwa-97, dn-cgacp-85, d-slsv-34, d-pp-44, d-rysoa-92, dv-cprac-77, dds-saeid-92, de-apphd-96, d-nhndt-87, d-tdt-90, d-fhcdt-92, d-udrdp-50, dl-cvdrp-91, ddg-fsp-83, dfs-dgaag-90, dl-pmtds-89, dl-msp-76, d-ec-83, d-fdcac-87, d-hdvdl-91, e-acg-87, e-atccd-90, e-ubids-95, egs-ueplf-89, egs-oplms-86, eks-sspp-83, em-tdas-94, eos-calha-86, es-vda-86, ess-ztha-93, es-itfwr-96, es-otatd-91, et-qtaml-93, et-ubcdt-93, etw-otama-92, ei-drmwc-79, f-sodt-90, f-iwatd-86, f-nsa2d-92, f-vddt-92, f-savd-87, gs-nsagv-69, gj-cigtn-79, g-3dmud-95, g-agt-85, grr-vdlsm-95, grss-sracp-95, + goy-cvdsl-93, gs-cdtp-78, gks-ricdv-92, gmr-vdmpp-92, gs-pmgsc-85, h-ca-75, h-rvdlp-92, h-gbitp-91, hkp-itnc-91, hn-sc-89, hns-psscp-88, h-pcprn-91, hks-uevsi-93, h-oarms-79, iklm-cdf3s-93, iki-awvdr-94, iss-nriac-92, j-3dtlt-89, j-ctddt-91, j-gspgm-91, jrz-ccdt-91, km-accvd-91, km-icdmc-92, kk-cdtmb-88, kg-cgwac-92, k-csmwt-94, ks-tpscv-93, k-eccs-79, k-ndot-80, k-osps-83, kr-fcm-85, k-cddvd-80, k-cavd-89, kl-ltrab-93, kl-fsc-95, kl-mpsp-95, kmm-ricav-93a, kw-vdbgm-88, k-sssgt-56, kl-fsacl-95, l-dtmmi-94, l-esta-94, l-scsi-77, l-vdlmh-94, l-ricsa-95, l-tdvdl-80, l-matps-82, l-knnvd-82, ld-gvdp-81, ll-gdtpg-86, lw-vdllm-80, lk-qgtam-96, l-ltcrn-94, msw-sblp-92, ms-pggrg-80, m-dtchn-84, mr-vdcdg-90, mks-cplvd-96, m-tdird-76, m-mnfcp-70, m-lpltw-84, mmo-cavd-91, m-zkav-93, m-uuam-28, m-rcvdp-93, m-spop-93, mmp-dgp-87, ms-getcc-88, mp-fitcp-78, m-osclv-90, m-lavd-91, osy-gvdl-86, osy-gvdl-87, oy-rmpmd-85, oim-iimvd-84, obs-stcav-92, p-etspi-77, pl-ecgvd-95, p-kpudz-82, p-mrpdt-92, ps-cgi-85, p-scnsg-57, r-odtr-91, rr-oprav-94, r-aiv-94, r-mrpdt-90, r-tbvdm-93, rsl-ashts-77, st-pwvt-88, s-cvdhd-82, s-mplbc-85, s-chdch-86, s-nfhdv-87, s-cdtvd-88, s-sdlpc-91, s-barga-93, s-cg-78, sh-cpp-75, s-icpps-85, s-atubl-94, s-let-78, s-vidt-80, s-sagdt-91, s-facdt-87, s-mmdpsl-91a, sd-csdta-95, s-smane-92, si-cvdom-92, soi-toari-90, s-rngam-83, si-atpvd-86, t-otdt-93, too-natdv-83, t-gcvdm-86, t-rngfp-80, v-mstkd-88, v-sgagc-91, v-dmrsl-09, v-nadpc-08, w-eucdt-93, ws-oacdt-87, w-cnddt-81, w-sedbe-91a, www-sdpfo-87, y-cmstk-82, y-amp-87, y-oavds-87, zm-sdnah-91, ZZZ" , update = "00.11 smid, 00.03 bibrelex, 99.03 bibrelex, 98.11 bibrelex, 98.07 mitchell, 98.03 bibrelex, 97.03 icking" , annote = "Chapter 5 of su-hcg-00" @@ -12847,9 +12847,9 @@ method that uses very different techniques." , url = "http://www.ifor.math.ethz.ch/staff/fukuda/fukuda.html" , update = "98.03 houle, 97.03 pocchiola, 96.05 fukuda" , annote = "Reverse search is a general exhaustive search technique -which came out of the new convex hull algorithm by the authors. +which came out of the new convex hull algorithm by the authors. This technique can be applied to many enumeration problems in computer -science, operations research and geometry. +science, operations research and geometry. It is highly suitable for parallelization." } @@ -16291,7 +16291,7 @@ rendering. Contains pseudocode." , number = 4 , year = 1997 , note = "Special issue on parallel I/O. An earlier version - appears in Proc. of the 8th Annual + appears in Proc. of the 8th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA~'96), Padua, Italy, June 1996, 109--118" , update = "97.03 murali" @@ -18449,12 +18449,12 @@ the interior. Contains pseudocode." , succeeds = "d-rld-89" , update = "98.07 bibrelex, 98.03 mitchell, 93.09 held" , annote = "He considers rectilinear paths in a rectilinear simple polygon. In $O(n\log n)$ - preprocessing time and space, he builds a data structure that supports - $O(\log n)$ time queries for distance between two points ($O(1)$ time between - two polygon vertices). He is actually searching for paths that are``smallest'' in - that they are shortest simultaneously in rectilinear link distance and - $L_1$ length (which is always possible). See improvements to $O(n)$ time and - space by Lingas, Maheshwari, and Sack~\cite{lms-parld-95} and + preprocessing time and space, he builds a data structure that supports + $O(\log n)$ time queries for distance between two points ($O(1)$ time between + two polygon vertices). He is actually searching for paths that are``smallest'' in + that they are shortest simultaneously in rectilinear link distance and + $L_1$ length (which is always possible). See improvements to $O(n)$ time and + space by Lingas, Maheshwari, and Sack~\cite{lms-parld-95} and Schuierer~\cite{s-odssr-96}." } @@ -21011,10 +21011,10 @@ cubes with side-lengths not exceeding 1 in the $3$-dimensional euclidean space. Let $S$ and $T$ be two points lying outside the open cubes. Assume one needs to find a short path emanating from $S$ and terminating at $T$ avoiding the cubes of $\cal P$ -under the restriction that the cubes are not known prior to the search. +under the restriction that the cubes are not known prior to the search. In fact the positions and the side-lengths of the cubes become known to the searcher as the cubes are contacted. We give an algorithm to -construct a path of length less than +construct a path of length less than $\frac 32 d + 3 \sqrt 3 \log d + 5$, where $d > 3 \sqrt 3$ denotes the distance between S and T." } @@ -24325,7 +24325,7 @@ experimental results are given." , abstract = "This paper presents the main algorithmic and design choices that have been made -to implement triangulations in +to implement triangulations in the computational geometry algorithms library CGAL." } @@ -25614,9 +25614,9 @@ present a polynomial-time exact algorithm to solve this problem." rectangles floating in 3-space, with edges represented by vertical lines of sight. We apply an extension of the {Erd\H os}-Szekeres Theorem in a geometric setting to obtain an - upper bound of 56 for size of the largest complete graph which - is representable. On the other hand, we construct a - representation of the complete graph with 22 vertices. + upper bound of 56 for size of the largest complete graph which + is representable. On the other hand, we construct a + representation of the complete graph with 22 vertices. These are the best existing bounds." } @@ -28630,7 +28630,7 @@ determinants." , year = 1993 , update = "98.03 mitchell" , abstract = "We calculate the partition - of the configuration space $I\!\!R^2 x S^1$ + of the configuration space $I\!\!R^2 x S^1$ of a car-like robot, only moving forwards, with respect to the type of the length optimal paths. This kind of robot is subject to kinematic constraints on its path curvature and its orientation. @@ -33590,35 +33590,35 @@ determinants." Given a set of polygonal obstacles of $n$ vertices in the plane, the problem of processing the all-pairs Euclidean {\em short} path queries is that of reporting an obstacle-avoiding path $P$ (or -its length) between two arbitrary query points $p$ and $q$ in the -plane, such that the length of $P$ is within a small factor of the +its length) between two arbitrary query points $p$ and $q$ in the +plane, such that the length of $P$ is within a small factor of the length of a Euclidean {\em shortest} obstacle-avoiding path between $p$ and $q$. The goal is to answer each short path query quickly -by constructing data structures that capture path information in -the obstacle-scattered plane. For the related all-pairs Euclidean -{\em shortest} path problem, the best known algorithms for even -very simple cases (e.g., {\em rectilinear} shortest paths among +by constructing data structures that capture path information in +the obstacle-scattered plane. For the related all-pairs Euclidean +{\em shortest} path problem, the best known algorithms for even +very simple cases (e.g., {\em rectilinear} shortest paths among disjoint {\em rectangular} obstacles in the plane) require at least quadratic space and time to construct a data structure, -so that a length query can be answered in polylogarithmic time. -The previously best known solution to the all-pairs Euclidean -{\em short} path problem also uses a data structure of quadratic -space and superquadratic construction time, in order to answer a -length query in polylogarithmic time. In this paper, we present a -data structure that requires nearly linear space and takes subquadratic -time to construct. Precisely, for any given $\epsilon$ satisfying +so that a length query can be answered in polylogarithmic time. +The previously best known solution to the all-pairs Euclidean +{\em short} path problem also uses a data structure of quadratic +space and superquadratic construction time, in order to answer a +length query in polylogarithmic time. In this paper, we present a +data structure that requires nearly linear space and takes subquadratic +time to construct. Precisely, for any given $\epsilon$ satisfying $0$ $<$ $\epsilon$ $\leq$ $1$, our data structure can be built -in $o(q^{3/2})$ $+$ $O((n\log n)/\epsilon)$ time and -$O(n\log n+n/\epsilon)$ space, where $q$, $1$ $\leq$ $q$ $\leq$ $n$, -is the minimum number of faces needed to cover all the vertices of -a certain planar graph we use. This data structure enables us to +in $o(q^{3/2})$ $+$ $O((n\log n)/\epsilon)$ time and +$O(n\log n+n/\epsilon)$ space, where $q$, $1$ $\leq$ $q$ $\leq$ $n$, +is the minimum number of faces needed to cover all the vertices of +a certain planar graph we use. This data structure enables us to report the length of a short path between two arbitrary query points in $O((\log n)/\epsilon+1/\epsilon^2)$ time and the actual path -in $O((\log n)/\epsilon+1/\epsilon^2+L)$ time, where $L$ is the -number of edges of the output path. The constant approximation -factor, $6+\epsilon$, for the short paths that we compute is quite -small. Our techniques are parallelizable and can also be used -to improve the previously best known results on several related +in $O((\log n)/\epsilon+1/\epsilon^2+L)$ time, where $L$ is the +number of edges of the output path. The constant approximation +factor, $6+\epsilon$, for the short paths that we compute is quite +small. Our techniques are parallelizable and can also be used +to improve the previously best known results on several related graphic and geometric problems." } @@ -36888,7 +36888,7 @@ avoids overlap. This is useful in cartography." This paper shows that the $i$-level of an arrangement of hyperplanes in $E^d$ has at most ${{i+d-1}\choose {d-1}}$ local minima. This bound follows from ideas previously used to prove bounds on $(\leq k)$-sets. -Using linear programming duality, +Using linear programming duality, the Upper Bound Theorem is obtained as a corollary, giving yet another proof of this celebrated bound on the number of vertices of a simple polytope @@ -42606,10 +42606,10 @@ Contains C code." , succeeds = "dp-olacd-91" , update = "98.11 bibrelex, 98.07 bibrelex, 95.09 mitchell" , annote = "In this paper you will find the definition of a Constrained - Delaunay Triangulation, some theorems and the pseudocode of - the algorithms to program it. On-Line means that you can - insert points and required edges in any order. With this - algorithm you can update an old CDT without retriangulating + Delaunay Triangulation, some theorems and the pseudocode of + the algorithms to program it. On-Line means that you can + insert points and required edges in any order. With this + algorithm you can update an old CDT without retriangulating the old data." } @@ -44330,7 +44330,7 @@ Contains C code." @techreport{d-vrtdd-09 , author = "Olivier Devillers" -, title = "Vertex Removal in Two Dimensional {Delaunay} Triangulation: +, title = "Vertex Removal in Two Dimensional {Delaunay} Triangulation: Asymptotic Complexity is Pointless" , thanks = "triangles" , institution = "INRIA" @@ -53249,17 +53249,17 @@ library." , update = "98.11 bibrelex, 98.03 mitchell, 97.11 bibrelex, 97.03 rote" , abstract = "We call a line $l$ a separator for a set $S$ of objects in the plane if $l$ avoids all the objects and - partitions $S$ into two nonempty subsets, one consisting + partitions $S$ into two nonempty subsets, one consisting of objects lying above $l$ and the - other of objects lying below $l$. We present an + other of objects lying below $l$. We present an $O(n log n)$-time algorithm for - finding a separator line for a set of $n$ segments, provided - the ratio between the diameter of the set of segments and + finding a separator line for a set of $n$ segments, provided + the ratio between the diameter of the set of segments and the length of the smallest segment is bounded. - No subquadratic algorithms are known for the general case. + No subquadratic algorithms are known for the general case. Our algorithm is based on the recent results of - Matousek, Pach, Sharir, Sifrony, and Welzl (1994) concerning - the union of fat triangles, but we also include an analysis + Matousek, Pach, Sharir, Sifrony, and Welzl (1994) concerning + the union of fat triangles, but we also include an analysis which improves the bounds obtained by Matousek et al." } @@ -57348,18 +57348,18 @@ a simple polygon with vertex set P. We prove that it is NP-complete to find a minimum weight polygon or a maximum weight polygon for a given vertex set, resulting in a proof of NP-completeness for the corresponding area optimization problems. This answers a generalization -of a question stated by Suri in 1989. +of a question stated by Suri in 1989. We give evidence that it is unlikely that the minimization -problem can be approximated. +problem can be approximated. For the maximiation problem, we show that we can find in optimal time O(n log n) a polygon of more than half the area AR(conv(P)) of the convex hull conv(P) of P, yielding a fast 1/2 approximation method for the problem. We demonstrate that it is NP-complete to decide whether there -is a simple polygon of at least (2/3+eps)(AR(conv(P)). +is a simple polygon of at least (2/3+eps)(AR(conv(P)). We also sketch an NP-hardness proof for the problem of finding a minimum-link searating polygon for two finite point sets in the plane. -Finally, we turn to higher dimensions, where we prove that for +Finally, we turn to higher dimensions, where we prove that for 0Movable Separability of Sets +\cgalCite{t-mss-85}, considers the separability of sets of objects +under different kinds of motions and various definitions of +separation. The moving sofa problem or sofa problem +(see Moving sofa +problem is a classic member of this class. It is a two-dimensional +idealisation of real-life furniture-moving problems; it asks for the +rigid two-dimensional shape of largest area \f$A\f$ that can be +maneuvered through an L-shaped planar region with legs of unit width +\cgalCite{w-sf-76}. The area \f$A\f$ thus obtained is referred to as +the sofa constant. The exact value of the sofa constant is an open +problem. These problems become progressively more challenging as the +allowable separation motions becomes more complex (have more degrees +of freedom), the number of objects involved grows, or the shape of the +objects becomes more complicated. + +\cgalFigureBegin{sms_2_fig_sofa_problem,sofa_problem.png} The +Hammersley sofa has area 2.2074 but is not the largest solution. +\cgalFigureEnd + +\section sms_sec_casting Casting + Casting is a manufacturing process where liquid material is poured into a cavity inside a mold, which has the shape of a desired product. After the material solidifies, the product is pulled out of the mold. Typically a mold is used to manufacture numerous copies of a -product, in which case we need to make sure that the solidified -product can be separated from its mold without breaking it. The -challenge of designing a proper mold belongs to a larger topic termed -Movable Separability of Sets; see \cgalCite{t-mss-85} -These problems become progressively more challenging as the allowable -separation motions becomes more complex (have more degrees of -freedom), the number of objects involved grows, or the shape of the -objects becomes more complicated. +product. The challenge is design a proper mold, such that the solidified +product can be separated from its mold without breaking it. This package provides a function called `single_mold_translational_casting_2()` that given a simple closed diff --git a/Set_movable_separability_2/doc/Set_movable_separability_2/fig/sofa_problem.png b/Set_movable_separability_2/doc/Set_movable_separability_2/fig/sofa_problem.png new file mode 100644 index 00000000000..6511fc72232 Binary files /dev/null and b/Set_movable_separability_2/doc/Set_movable_separability_2/fig/sofa_problem.png differ