Skip to content

Best of Two Worlds: Combining High and Low Resolution to Compute Viewsheds on terrains

Laura Toma

cs.DSarXiv:2610.00941

Abstract

The viewshed of a point v on a grid terrain T, viewshedT(v), is defined as the set of grid points in T that are visible from v. We describe a novel algorithm for computing viewshedT(v) using a multi-resolution approach: Given a parameter k >1 that represents the block size, we create a grid T' which is a lower-resolution version of T, such that each point in T' corresponds to a block of k -by- k points in T. The key of our approach is using T' to speed up the computation of viewshedT(v) while not introducing approximation. We compute viewshedT(v) in two steps: First we compute the viewshed of v on T', while maintaining the invariant that any block in T' that is labeled as invisible may not contain any visible points. Thus, the first step's role is to use T' to filter out blocks in T that are guaranteed to be invisible. The second step considers the blocks that were labeled as visible in T' and computes the visibility of their points with full accuracy using the data in T. Overall the algorithm runs in O(n + nk nk + k k + l · n), where l is the total size of visible blocks in T'. When k = Ω(1) and l = o(n) , the running time of our algorithm improves on the previous best bound of O(n n). Our experimental results show the performance of the new algorithm in practice and a speedup of more than an order of magnitude compared to previous algorithms.

Create a lesson