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}\)-sees q if there is an \(\mathcal {O}\)-staircase contained in P that connects p and q. The \(\mathcal {O}\)-Kernel of the polygon P, denoted by \(\mathcal {O}\)-\(\mathrm{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}\)-\(\mathrm{Kernel }(P)\) as we rotate the set \(\mathcal {O}\) by an angle \(\theta \), denoted by \(\mathcal {O}\)-\(\mathrm{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}\)-\(\mathrm{Kernel }_{\theta }(P)\) while \(\theta \) varies in \([-\frac{\pi }{2},\frac{\pi }{2})\), obtaining: (i) the intervals of angle \(\theta \) where \(\mathcal {O}\)-\(\mathrm{Kernel }_{\theta }(P)\) is not empty, (ii) a value of angle \(\theta \) where \(\mathcal {O}\)-\(\mathrm{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\}\).
Read full abstract