In this thesis, we investigate the notion of weak visibility in a simple polygon, and consider three classes of visibility problems concerning the edge visibility, the diagonal visibility, and the monotone-visibility, respectively.
First, we propose a class of polygons called weakly star-shaped concerning the edge visibility. A polyon P is weakly star-shaped if there exists a point in P which is weakly visible from all edges and its weak-kernel is the maximal set of such points. It needs $Ω(n^2)$ time to explicitly compute all edge visibility polygons in order to obtain the weak-kernel of a polygon. However, we present an O(n log n) time algorithm for computing the weak-kernel of a polygon by exploiting the weak visibility of a simple polygon.
Second, we consider the diagonal visibility in a polygon. A guard diagonal is an edge or an internal diagonal from which a polygon is weakly visible. A polygon has a guard diagonal is said to be diagonal-visible. We consider the following three problems concerning the diagonal visibility in a polygon. First, determining whether or not a given polygon is diagonal-visible.
Second, compute all guard diagonals of a polygon. Third, given a query diagonal, determine whether or not it is a guard diagonal. For these problems, we first construct a data structure for keeping all guard diagonals in O(n log n) time and O(n) space. Then, using this data structure, we show that these problems can be solved in O(n log n), O(n log n k), O(1) time, respectively, where k is the number of guard diagonals.
Finally, we introduce a new notion of visibility called monotone-visibility. Two points inside a polygon are said to be monotone-visible from each other if there exists an internal path connecting them which is monotone with respect to both x-axis and y-axis. The point monotone-visibility polygon from a point z inside a polygon P is the set of points of P which are monotone-visible from z. The edge monotone-visibility polygon from an e...