View Item 
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        •   Utrecht University Student Theses Repository Home
        • UU Theses Repository
        • Theses
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Browse

        All of UU Student Theses RepositoryBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

        Computing Visibility between moving Points

        Thumbnail
        View/Open
        finalversion2_thesis.pdf (2.461Mb)
        Publication date
        2025
        Author
        Hu, Lisa
        Metadata
        Show full item record
        Summary
        We study the following problem. Let P be a simple polygon with n vertices and let B be a set of points moving along a linear path in P. In other words, the trajectory of an entity b ∈ B is a linear function [0, 1] → P. Given a query set R of linearly moving points in P, determine for each r ∈ R if it can see any entity b ∈ B. We propose a kinetic data structure to maintain the combinatorial structure of the union of visibility polygons. To capture the changes over time, we model the changes in the union as a three-dimensional structure, where the z-axis represents the time. We call this three-dimensional structure the Visibility Pillar VP. The visibility pillar is of size O(n^3m^3). On top of the union, we also maintain a vertical decomposition. Each time slice gives us an x-monotone subdivision in R^2. To detect and handle combinatorial changes, we use an event-driven approach, where our goal is to detect the critical times at which the union and the vertical decomposition changes combinatorially. Processing all combinatorial changes to VP takes O(n^3m^3 log(nm)) time, and it takes O(n^4m^4 log(nm)) time to process all combinatorial changes to the vertical decomposition. We then present an algorithm that tests if query entities see any entity b ∈ B. This algorithm uses the union boundaries and vertical decomposition boundaries to determine if a query entity crosses a trapezoid that is covered by the union at a given time, which takes O(|R|·max_{r∈R} Tr(n,m)·log(|R|+nm^2)+n^4m^4(log(|R|+nm^2)+log(nm)+k)) time execute, where Tr(n,m) is defined as the number of trapezoids a query entity r crosses over time. Since [1], solves a similar problem, i.e. point location in a three-dimensional cell complex, we adapted the approach discussed in the paper to our setting. We use their approach to build a dynamic point location structure to test if a query entity is contained in a trapezoid covered by the union at the time it appears for the first time. This also allows us to perform point location queries in the visibility pillar, where we can test if a query entity is visible at a given time. Performing such a query takes O(log^2(nm)) time.
        URI
        https://studenttheses.uu.nl/handle/20.500.12932/50188
        Collections
        • Theses
        Utrecht university logo