Visibility polygon

From Wikipedia, the free encyclopedia

Visibility polygon shown in yellow. Four obstacles are shown in blue.

In computational geometry, the visibility polygon or visibility region for a point p in the plane among obstacles is the possibly unbounded polygonal region of all points of the plane visible from p. The visibility polygon can also be defined for visibility from a segment, or a polygon. Visibility polygons are useful in robotics, video games, and in various optimization problems such as the facility location problem and the art gallery problem.

If the visibility region is bounded then it is a star-shaped polygon. A visibility polygon is bounded if all rays shooting from the point eventually terminate in some obstacle. This is the case, e.g., if the obstacles are the edges of a simple polygon and p is inside the polygon. In the latter case the visibility polygon may be found in linear time.[1][2][3][4]

Formally, we can define the planar visibility polygon problem as such. Let be a set of obstacles (either segments, or polygons) in . Let be a point in that is not within an obstacle. Then, the point visibility polygon is the set of points in , such that for every point in , the segment does not intersect any obstacle in .

Likewise, the segment visibility polygon or edge visibility polygon is the portion visible to any point along a line segment.

Applications

Visibility polygons are useful in robotics. For example, in robot localization, a robot using sensors such as a lidar will detect obstacles that it can see, which is similar to a visibility polygon.[5]

They are also useful in video games, with numerous online tutorials explaining simple algorithms for implementing it.[6][7]

Algorithms for point visibility polygons

References

Related Articles

Wikiwand AI