|
The basic principle of visibility computation is based on the line-of-sight (LOS) problem. The problem of determining the LOS between a viewpoint V and an observed point P is illustrated in the next figure. Note that the viewpoint is raised by a height hV, which relates to the height of an observer or a watchtower. The profile between V and P needs to be tested for obstructions, which might break the LOS.
Algorithms to solve the LOS problem (LOS checks) depend on the data structure used to represent the DTM. While the basic principle of visibility is valid in any case, an implicit spatial order, as it is inherent for gridded DTM’s, greatly simplifies the determination of visibility.
A line-of-sight check requires a terrain profile between a viewpoint and a target point. An LOS check is performed for each new vertex inferred. The computation can be terminated as soon as an LOS blockage is found or the target point is reached. For a viewshed analysis the LOS between the viewpoint and each other point has to be tested and is therefore quite demanding. There are examples for a line-of-sight and an entire viewshed in the next two figures.
The solution of the visibility problem for TIN’s is substantially more complex than for grids because of two facts:
In principle, any so-called object-space hidden surface algorithm, see Sutherland et al. (1974) and Foley et al. (1992), which is used to determine the visible parts of arbitrary 3-D objects, could be applied to extract visibility regions on a TIN. However, as TIN’s represent more specific structures (they are 2.5-D, and facets are restricted to triangles), simpler algorithms can be designed based on heuristics. For instance, backface culling (see below) significantly reduces the number of triangles that have to be tested for visibility, which is quite an effort. Such heuristics are particularly useful if the number of visibility analyses required is very big, e.g. if moving viewpoints occur.
As visibility computations in TIN’s are very demanding, clever algorithms try to somehow reduce the amount of work to be done. Backface culling accelerates visibility analyses by making use of the following logical implication:
Triangles facing away can be found by calculating the normal vector for each TIN facet on the profile along the line-of-sight (figure below). If the angle between the normal and the vector to the viewpoint is larger than 90° it is certain that the facet is invisible (figure below b)).
Depending on the position of the viewpoint and on the terrain type, it is not uncommon that the number of triangles, which must further be checked (figure above a)) is reduced by 50 per cent. An algorithm based on such heuristics has been presented by De Floriani et al. (1986).