English

Trajectory Range Visibility

Computational Geometry 2023-02-28 v5

Abstract

Consider two entities with constant but not necessarily equal velocities, moving on two given piece-wise linear trajectories inside a simple polygon PP. The Trajectory Range Visibility problem deals with determining the sub-trajectories on which two entities become visible to each other. A more straightforward decision version of this problem is called Trajectory Visibility, where the trajectories are line segments. The decision version specifies whether the entities can see one another. This version was studied by P. Eades et al. in 2020, where they supposed given constant velocities for the entities. However, the approach presented in this paper supports non-constant complexity trajectories. Furthermore, we report every pair of constant velocities with which the entities can see each other. In particular, for every constant velocity of a moving entity, we specify: (1)(1) All visible parts of the other entity's trajectory. (2)(2) All possible constant velocities of the other entity to become visible. Regarding line-segment trajectories, we present O(nlogn)\mathcal{O}(n \log n) running time algorithm which obtains all pairs of sub-trajectories on which the moving entities become visible to one another, where nn is the complexity of PP. Regarding the general case, we provide an algorithm with O(nlogn+m(logm+logn))\mathcal{O}(n \log n + m(\log m + \log n)) running time, where mm indicates the complexity of both trajectories. We offer O(logn)\mathcal{O}(\log n) query time for line segment trajectories and O(logm+k)\mathcal{O}(\log m + k) for the non-constant complexity ones s.t. kk is the number of velocity ranges reported in the output. Interestingly, our results require only O(n+m)\mathcal{O}(n + m) space for non-constant complexity trajectories.

Keywords

Cite

@article{arxiv.2209.04013,
  title  = {Trajectory Range Visibility},
  author = {Seyed Mohammad Hussein Kazemi and Arash Vaezi and Mohammad Ali Abam and Mohammad Ghodsi},
  journal= {arXiv preprint arXiv:2209.04013},
  year   = {2023}
}
R2 v1 2026-06-28T00:58:57.380Z