@inproceedings{bcb43f643725465c9d3336c37789d4ff,
title = "Trajectory Visibility",
abstract = "We study the problem of testing whether there exists a time at which two entities moving along different piece-wise linear trajectories among polygonal obstacles are mutually visible. We study several variants, depending on whether or not the obstacles form a simple polygon, trajectories may intersect the polygon edges, and both or only one of the entities are moving. For constant complexity trajectories contained in a simple polygon with n vertices, we provide an 풪(n) time algorithm to test if there is a time at which the entities can see each other. If the polygon contains holes, we present an 풪(n log n) algorithm. We show that this is tight. We then consider storing the obstacles in a data structure, such that queries consisting of two line segments can be efficiently answered. We show that for all variants it is possible to answer queries in sublinear time using polynomial space and preprocessing time. As a critical intermediate step, we provide an efficient solution to a problem of independent interest: preprocess a convex polygon such that we can efficiently test intersection with a quadratic curve segment. If the obstacles form a simple polygon, this allows us to answer visibility queries in 풪(n³/4log³ n) time using 풪(nlog⁵ n) space. For more general obstacles the query time is 풪(log^k n), for a constant but large value k, using 풪(n^{3k}) space. We provide more efficient solutions when one of the entities remains stationary.",
keywords = "trajectories, visibility, data structures, semi-algebraic range searching",
author = "Patrick Eades and {van der Hoog}, I.D. and M. L{\"o}ffler and F. Staals",
year = "2020",
doi = "10.4230/LIPIcs.SWAT.2020.23",
language = "English",
isbn = "978-3-95977-150-4",
series = "Leibniz International Proceedings in Informatics (LIPIcs)",
publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik",
booktitle = "17th Scandinavian Symposium and Workshops on Algorithm Theory (SWAT 2020)",
}