Relative convex hull

In discrete geometry and computational geometry, the relative convex hull is an analogue of the convex hull for the points inside a simple polygon or a rectifiable simple closed curve.
Definition
Let be a simple polygon or a rectifiable simple closed curve, and let be any set enclosed by . A geodesic between two points in is a shortest path connecting those two points that stays entirely within . A subset of the points inside is said to be relatively convex or -convex if, for every two points of , the geodesic between them in stays within . Then the relative convex hull of can be defined as the intersection of all relatively convex sets containing .[1]
Special cases
Finite sets of points
The relative convex hull was first formulated for finite sets of points inside a simple polygon by Toussaint (1986), who provided an efficient algorithm for its construction.[2] With subsequent improvements in the time bounds for finding shortest paths between query points in a polygon,[3] and for polygon triangulation,[4] this algorithm takes time on an input with points in a polygon with vertices.[3]
The relative convex hull of a finite set of points is always a weakly simple polygon, but it might not actually be a simple polygon, because parts of it can be connected to each other by line segments or polygonal paths rather than by regions of nonzero area.
Simple polygons
Klette (2010) generalizes linear time algorithms for the convex hull of a simple polygon to the relative convex hull of one simple polygon within another. The resulting generalized algorithm is not linear time, however: its time complexity depends on the depth of nesting of certain features of one polygon within another. In this case, the relative convex hull is itself a simple polygon. A simple polygon within another simple polygon is relatively convex or -convex if every line segment contained in that connects two points of lies within . The relative convex hull of a simple polygon within can be defined as the intersection of all -convex polygons that contain , as the smallest -convex polygon that contains , or as the minimum-perimeter simple polygon that contains and is contained by .[1]
A similar definition can also be given for the relative convex hull of two disjoint simple polygons. This type of hull can be used in algorithms for testing whether the two polygons can be separated into disjoint halfplanes by a continuous linear motion,[5] and in data structures for collision detection of moving polygons.[6]
References
- ^ a b Klette, Gisela (November 2010), "A recursive algorithm for calculating the relative convex hull", 25th International Conference of Image and Vision Computing New Zealand, IEEE, doi:10.1109/ivcnz.2010.6148857
- ^ Toussaint, Godfried (1986), "An optimal algorithm for computing the relative convex hull of a set of points in a polygon", Proceedings of EURASIP, Signal Processing III: Theories and Applications, Part 2, North-Holland, pp. 853–856
- ^ a b Guibas, Leonidas J.; Hershberger, John (1989), "Optimal shortest path queries in a simple polygon", Journal of Computer and System Sciences, 39 (2): 126–152, doi:10.1016/0022-0000(89)90041-X, MR 1024124
- ^ Chazelle, Bernard (1991), "Triangulating a simple polygon in linear time", Discrete & Computational Geometry, 6 (3): 485–524, doi:10.1007/BF02574703
- ^ Toussaint, Godfried (1989), "On separating two simple polygons by a single translation", Discrete & Computational Geometry, 4 (3): 265–278, doi:10.1007/BF02187729, MR 0988749
- ^ Basch, Julien; Erickson, Jeff; Guibas, Leonidas J.; Hershberger, John; Zhang, Li (2004), "Kinetic collision detection between two simple polygons", Computational Geometry, 27 (3): 211–235, doi:10.1016/j.comgeo.2003.11.001, MR 2039172