Abstract.
Given a set P of polygons in three-dimensional space, two points p and q are said to be visible from each other with respect to P if the line segment joining them does not intersect any polygon in P . A point p is said to be completely visible from an area source S if p is visible from every point in S . The completely visible region CV(S, P) from S with respect to P is defined as the set of all points in three-dimensional space that are completely visible from S .
We present two algorithms for computing CV(S, P) for P with a total of n vertices and a convex polygonal source S with m vertices. Our first result is a divide-and-conquer algorithm which runs in O(m 2 n 2 α(mn)) time and space, where α(mn) is the inverse of Ackermann's function. We next give an incremental algorithm for computing CV(S,P) in O(m 2 n+mn 2 α(n)) time and O(mn+n 2 ) space. We also prove that CV(S,P) consists of Θ(mn+n 2 ) surface elements such as vertices, edges, and faces.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received November 16, 1995; revised November 11, 1996.
Rights and permissions
About this article
Cite this article
Dae Seoung Kim, ., Kwan-Hee Yoo, ., Kyung-Yong Chwa, . et al. Efficient Algorithms for Computing a Complete Visibility Region in Three-Dimensional Space . Algorithmica 20, 201–225 (1998). https://doi.org/10.1007/PL00009193
Issue Date:
DOI: https://doi.org/10.1007/PL00009193