Efficient computation of minimum-area rectilinear convex hull under rotation and generalizations
Carlos Alegría,David Orden,Carlos Seara,Jorge Urrutia
DOI: https://doi.org/10.1007/s10898-020-00953-5
2020-10-07
Journal of Global Optimization
Abstract:Let <i>P</i> be a set of <i>n</i> points in the plane. We compute the value of <span class="mathjax-tex">\(\theta \in [0,2\pi )\)</span> for which the rectilinear convex hull of <i>P</i>, denoted by <span class="mathjax-tex">\(\mathcal {RH}_{P}({\theta })\)</span>, has minimum (or maximum) area in optimal <span class="mathjax-tex">\(O(n\log n)\)</span> time and <i>O</i>(<i>n</i>) space, improving the previous <span class="mathjax-tex">\(O(n^2)\)</span> bound. Let <span class="mathjax-tex">\(\mathcal {O}\)</span> be a set of <i>k</i> lines through the origin sorted by slope and let <span class="mathjax-tex">\(\alpha _i\)</span> be the sizes of the 2<i>k</i> angles defined by pairs of two consecutive lines, <span class="mathjax-tex">\(i=1, \ldots , 2k\)</span>. Let <span class="mathjax-tex">\(\Theta _{i}=\pi -\alpha _i\)</span> and <span class="mathjax-tex">\(\Theta =\min \{\Theta _i :i=1,\ldots ,2k\}\)</span>. We obtain: (1) Given a set <span class="mathjax-tex">\(\mathcal {O}\)</span> such that <span class="mathjax-tex">\(\Theta \ge \frac{\pi }{2}\)</span>, we provide an algorithm to compute the <span class="mathjax-tex">\(\mathcal {O}\)</span>-convex hull of <i>P</i> in optimal <span class="mathjax-tex">\(O(n\log n)\)</span> time and <i>O</i>(<i>n</i>) space; If <span class="mathjax-tex">\(\Theta < \frac{\pi }{2}\)</span>, the time and space complexities are <span class="mathjax-tex">\(O(\frac{n}{\Theta }\log n)\)</span> and <span class="mathjax-tex">\(O(\frac{n}{\Theta })\)</span> respectively. (2) Given a set <span class="mathjax-tex">\(\mathcal {O}\)</span> such that <span class="mathjax-tex">\(\Theta \ge \frac{\pi }{2}\)</span>, we compute and maintain the boundary of the <span class="mathjax-tex">\({\mathcal {O}}_{\theta }\)</span>-convex hull of <i>P</i> for <span class="mathjax-tex">\(\theta \in [0,2\pi )\)</span> in <span class="mathjax-tex">\(O(kn\log n)\)</span> time and <i>O</i>(<i>kn</i>) space, or if <span class="mathjax-tex">\(\Theta < \frac{\pi }{2}\)</span>, in <span class="mathjax-tex">\(O(k\frac{n}{\Theta }\log n)\)</span> time and <span class="mathjax-tex">\(O(k\frac{n}{\Theta })\)</span> space. (3) Finally, given a set <span class="mathjax-tex">\(\mathcal {O}\)</span> such that <span class="mathjax-tex">\(\Theta \ge \frac{\pi }{2}\)</span>, we compute, in <span class="mathjax-tex">\(O(kn\log n)\)</span> time and <i>O</i>(<i>kn</i>) space, the angle <span class="mathjax-tex">\(\theta \in [0,2\pi )\)</span> such that the <span class="mathjax-tex">\({\mathcal {O}}_{\theta }\)</span>-convex hull of <i>P</i> has minimum (or maximum) area over all <span class="mathjax-tex">\(\theta \in [0,2\pi )\)</span>.
mathematics, applied,operations research & management science