Computing $k$-Crossing Visibility through $k$-levels
Frank Duque
TL;DR
This paper addresses computing $k$-crossing visibility for sets of geometric objects, notably lines in the plane and planes in $\mathbb{R}^3$. It introduces a linear-time reduction to $(\le k)$-level problems via a self-inverse transformation $\mathcal{T}$ that maps lines/planes to lines/planes and preserves incidences, enabling computation of $\V_k(p,\mathcal{A})$ through $(\le k)$-level queries. The main results are $O(n\log n + kn)$ time for planar line sets and $O(n\log n + k^2n)$ time for 3D plane arrangements, with corresponding arrangement complexities of $\Theta(kn)$ and $\Theta(k^2n)$, respectively; these bounds are optimal for certain regimes of $k$. The approach also yields a linear-time solution for polygon visibility and can be adapted to other settings where $(\le k)$-levels are known, illustrating broad applicability of level-based reductions in visibility problems.
Abstract
Let $\mathcal{A}$ be a set of straight lines in the plane (or planes in $\mathbb{R}^3$). The $k$-crossing visibility of a point $p$ on $\mathcal{A}$ is the set $Q$ of points in the elements of $\mathcal{A}$ such that the segment $pq$, where $q\in Q$, intersects at most $k$ elements of $\mathcal{A}$. In this paper, we present algorithms for computing the $k$-crossing visibility. Specifically, we provide $O(n\log n + kn)$ and $O(n\log n + k^2n)$ time algorithms for sets of $n$ lines in the plane and arrangements of $n$ planes in $\mathbb{R}^3$, which are optimal for $k=Ω(\log n)$ and $k=Ω(\sqrt{\log n})$, respectively. We also introduce an algorithm for computing $k$-crossing visibilities on polygons, which achieves the same asymptotic time complexity as the one presented by Bahoo et al. The techniques proposed in this paper can be easily adapted for computing $k$-crossing visibilities on other instances where the $(\leq k)$-level is known.
