7 research outputs found

    Planar Visibility: Testing and Counting

    Full text link
    In this paper we consider query versions of visibility testing and visibility counting. Let SS be a set of nn disjoint line segments in R2\R^2 and let ss be an element of SS. Visibility testing is to preprocess SS so that we can quickly determine if ss is visible from a query point qq. Visibility counting involves preprocessing SS so that one can quickly estimate the number of segments in SS visible from a query point qq. We present several data structures for the two query problems. The structures build upon a result by O'Rourke and Suri (1984) who showed that the subset, VS(s)V_S(s), of R2\R^2 that is weakly visible from a segment ss can be represented as the union of a set, CS(s)C_S(s), of O(n2)O(n^2) triangles, even though the complexity of VS(s)V_S(s) can be Ω(n4)\Omega(n^4). We define a variant of their covering, give efficient output-sensitive algorithms for computing it, and prove additional properties needed to obtain approximation bounds. Some of our bounds rely on a new combinatorial result that relates the number of segments of SS visible from a point pp to the number of triangles in sSCS(s)\bigcup_{s\in S} C_S(s) that contain pp.Comment: 22 page

    Segment Visibility Counting Queries in Polygons

    Get PDF
    Let PP be a simple polygon with nn vertices, and let AA be a set of mm points or line segments inside PP. We develop data structures that can efficiently count the number of objects from AA that are visible to a query point or a query segment. Our main aim is to obtain fast, O(polylognmO(\mathop{\textrm{polylog}} nm), query times, while using as little space as possible. In case the query is a single point, a simple visibility-polygon-based solution achieves O(lognm)O(\log nm) query time using O(nm2)O(nm^2) space. In case AA also contains only points, we present a smaller, O(n+m2+εlogn)O(n + m^{2 + \varepsilon}\log n)-space, data structure based on a hierarchical decomposition of the polygon. Building on these results, we tackle the case where the query is a line segment and AA contains only points. The main complication here is that the segment may intersect multiple regions of the polygon decomposition, and that a point may see multiple such pieces. Despite these issues, we show how to achieve O(lognlognm)O(\log n\log nm) query time using only O(nm2+ε+n2)O(nm^{2 + \varepsilon} + n^2) space. Finally, we show that we can even handle the case where the objects in AA are segments with the same bounds.Comment: 27 pages, 13 figure

    Minimizing Visible Edges in Polyhedra

    Full text link
    We prove that, given a polyhedron P\mathcal P in R3\mathbb{R}^3, every point in R3\mathbb R^3 that does not see any vertex of P\mathcal P must see eight or more edges of P\mathcal P, and this bound is tight. More generally, this remains true if P\mathcal P is any finite arrangement of internally disjoint polygons in R3\mathbb{R}^3. We also prove that every point in R3\mathbb{R}^3 can see six or more edges of P\mathcal{P} (possibly only the endpoints of some these edges) and every point in the interior of P\mathcal{P} can see a positive portion of at least six edges of P\mathcal{P}. These bounds are also tight.Comment: 19 pages, 9 figure

    Algorithms for Imprecise Trajectories

    Get PDF

    LIPIcs, Volume 248, ISAAC 2022, Complete Volume

    Get PDF
    LIPIcs, Volume 248, ISAAC 2022, Complete Volum
    corecore