The viewshed of a point on a grid terrain , viewshed, is defined as the set of grid points in that are visible from . We describe a novel algorithm for computing viewshed using a multi-resolution approach: Given a parameter that represents the block size, we create a grid which is a lower-resolution version of , such that each point in corresponds to a block of -by- points in . The key of our approach is using to speed up the computation of viewshed while not introducing approximation. We compute viewshed in two steps: First we compute the viewshed of on , while maintaining the invariant that any block in that is labeled as invisible may not contain any visible points. Thus, the first step’s role is to use to filter out blocks in that are guaranteed to be invisible. The second step considers the blocks that were labeled as visible in and computes the visibility of their points with full accuracy using the data in . Overall the algorithm runs in , where is the total size of visible blocks in . When and , the running time of our algorithm improves on the previous best bound of . 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.

生成讲解博客的中文版本

生成AI智能校验的中文版本