Visibility Problems for Polyhedral Terrains

Published: 1989, Last Modified: 12 May 2025J. Symb. Comput. 1989EveryoneRevisionsBibTeXCC BY-SA 4.0
Abstract: In this paper we study several problems concerning the visibility of a polyhedral terrain σ from a point (or several points) lying above it. Our results are: (1) For a fixed point a, one can preproeess a in time O(nα(n) log n), to produce a data structure of size O(nα(n) log n), which supports fast ray shooting queries, where each such query asks for the point on σ that is visible from a in a specified direction. Here n is the number of faces of σ and α(n) is the extremely slowly growing functional inverse of Ackermann's function. (2) If the viewing point a can vary along a fixed vertical line L, then the entire visibility structure of σ from L is of combinatorial complexity O(nλ4(n)), where λ4(n) is the maximal length of an (n, 4) Davenport-Sehinzel sequence, and is nearly linear in n, and where the visibility structure in question is the decomposition of L x S2 into maximal connected regions, such that for each such region R, all points (a, u)∈ R are such that the ray from a ∈ L in direction u ∈ S2 first intersects σ at a point on the same face of σ. Furthermore, we present an O(nλ4(n)log n)-time algorithm that preprocesses L and σ into a data-structure of size O(nλ4(n)) which supports O(log2n) time ray shooting queries. (3) Concerning the results in (2) we show that (i) if L is not vertical, then the resulting visibility structure can be of size Ω(n3); (ii) there exist a vertical line L and a polyhedral terrain a with n faces, for which the resulting visibility structure is of size Ω(n2α(n)). (4) Finally, we consider the problem of placing on the surface σ one or several viewing points which collectively cover the entire surface (i.e. each point on σ is visible from at least one of these viewing “stations”). We show (i) in the case of a single viewing station, one can determine in time O(n log n) whether such a station exists, and if so, produce such a point; (ii) the problem of finding the smallest number of points on σ that can collectively see the entire surface σ is NP-hard.
Loading