Let $\mathcal{O}$ be a set of $k$ orientations in the plane, and let $P$ be a simple polygon in the plane. Given two points $p,q$ inside $P$, we say that $p$ $\mathcal{O}$-\emph{sees} $q$ if there is an $\mathcal{O}$-\emph{staircase} contained in $P$ that connects $p$ and~$q$. The \emph{$\mathcal{O}$-Kernel} of the polygon $P$, denoted by $\mathcal{O}$-$\rm kernel(P)$, is the subset of points of $P$ which $\mathcal{O}$-see all the other points in $P$. This work initiates the study of the computation and maintenance of $\mathcal{O}$-$\rm kernel(P)$ as we rotate the set $\mathcal{O}$ by an angle $\theta$, denoted by $\mathcal{O}$-$\rm kernel_{\theta}(P)$. In particular, we consider the case when the set $\mathcal{O}$ is formed by either one or two orthogonal orientations, $\mathcal{O}=\{0^\circ\}$ or $\mathcal{O}=\{0^\circ,90^\circ\}$. For these cases and $P$ being a simple polygon, we design efficient algorithms for computing the $\mathcal{O}$-$\rm kernel_{\theta}(P)$ while $\theta$ varies in $[-\frac{\pi}{2},\frac{\pi}{2})$, obtaining: (i)~the intervals of angle~$\theta$ where $\mathcal{O}$-$\rm kernel_{\theta}(P)$ is not empty, (ii)~a value of angle~$\theta$ where $\mathcal{O}$-$\rm kernel_{\theta}(P)$ optimizes area or perimeter. Further, we show how the algorithms can be improved when $P$ is a simple orthogonal polygon. In addition, our results are extended to the case of a set $\mathcal{O}=\{\alpha_1,\dots,\alpha_k\}$.
翻译:暂无翻译