Recent advances in 3D modeling provide us with real 3D datasets to answer queries, such as "What is the best position for a new billboard?" and "Which hotel room has the best view?" in the presence of obstacles. These applications require measuring and differentiating the visibility of an object (target) from different viewpoints in a dataspace, e.g., a billboard may be seen from two viewpoints but is readable only from the viewpoint closer to the target. In this paper, we formulate the above problem of quantifying the visibility of (from) a target object from (of) the surrounding area with a visibility color map (VCM). A VCM is essentially defined as a surface color map of the space, where each viewpoint of the space is assigned a color value that denotes the visibility measure of the target from that viewpoint. Measuring the visibility of a target even from a single viewpoint is an expensive operation, as we need to consider factors such as distance, angle, and obstacles between the viewpoint and the target. Hence, a straightforward approach to construct the VCM that requires visibility computation for every viewpoint of the surrounding space of the target, is prohibitively expensive in terms of both I Os and computation, especially for a real dataset comprising of thousands of obstacles. We propose an efficient approach to compute the VCM based on a key property of the human vision that eliminates the necessity of computing the visibility for a large number of viewpoints of the space. To further reduce the computational overhead, we propose two approximations; namely, minimum bounding rectangle and tangential approaches with guaranteed error bounds. Our extensive experiments demonstrate the effectiveness and efficiency of our solutions to construct the VCM for real 2D and 3D datasets.
In computer graphics, the visibility map refers to a planar subdivision that encodes the visibility information, i.e., which points are mutually @cite_5 . Two points are mutually visible if the straight line segment connecting these points does not intersect with any obstacle. If a scene is represented using a planar straight-line graph, a horizontal (vertical) visibility map is obtained by drawing a horizontal (vertical) straight line @math through each vertex @math of that graph until @math intersects an edge @math of the graph or extends to infinity. The edge @math is horizontally (vertically) visible from @math . A large body of works @cite_3 @cite_18 @cite_7 @cite_19 @cite_22 construct such visibility maps efficiently.
@cite_18 @cite_22 @cite_7 @cite_3 @cite_19 @cite_5
1482503584 1835934527 2175974654 2094665988
The visibility graph of a set of nonintersecting polygonal obstacles in the plane is an undirected graph whose vertex set consists of the vertices of the obstacles and whose edges are pairs of vertices @math such that the open line segment between u and v does not intersect any of the obstacles. The visibility graph is an important combinatorial structure in computational geometry and is used in applications such as solving visibility problems and computing shortest paths. This paper presents an algorithm that computes the visibility graph of a set of obstacles in time @math , where E is the number of edges in the visibility graph and n is the total number of vertices in all the obstacles. This paper describes a robust, hardware-accelerated algorithm to compute an approximate visibility map, which describes the visible scene from a particular viewpoint. The user can control the degree of approximation, choosing more accuracy at the cost of increased execution time. The algorithm exploits item buffer hardware to coarsely determine visibility, which is later refined. The paper also describes a conceptually simple algorithm to compute a subset of the discontinuity mesh using the visibility map. In this paper, we present two necessary conditions for recognizing point visibility graphs. We show that this recognition problem lies in PSPACE. We state new properties of point visibility graphs along with some known properties that are important in understanding point visibility graphs. For planar point visibility graphs, we present a complete characterization which leads to a linear time recognition and reconstruction algorithm. We present an algorithm that efficiently constructs a visibility map for a given view of a polygonal scene. The view is represented by a BSP tree and the visibility map is obtained by postprocessing of that tree. The scene is organised in a kD-tree that is used to perform an approximate occlusion sweep. The occlusion sweep is interleaved with hierarchical visibility tests what results in expected output sensitive behaviour of the algorithm. We evaluate our implementation of the method on several scenes and demonstrate its application to discontinuity meshing.