We give a comprehensive theoretical treatment for calculating the viewshed of a given point, present an analytical solution to the viewshed problem and a new algorithm for finding the viewshed on a triangulated terrain. We implement our algorithm on a real terrain. Some algorithms make use of the horizon information of the terrain to calculate viewshed. The vertices of the horizon of the terrain are projected onto the supporting plane of the triangle of interest to find the visible region on the triangle. We show that this approach is erroneous. We offer an alternative model in which we project relevant triangles of the terrain onto the triangle of interest. It is shown that the invisible region on a given triangle caused by another triangle is characterized by a nonlinear system of equations, for which a closed-form solution is given. Our analytical treatment results in a new exact algorithm which can be used in studies such as optimal placement of guards on terrains where exact viewsheds of guards are needed.
Bilkent University, 08/2013