Relative convex hull

From HandWiki
The relative convex hull of a finite set of points in a simple polygon

In discrete geometry and computational geometry, the relative convex hull or geodesic convex hull is an analogue of the convex hull for the points inside a simple polygon or a rectifiable simple closed curve.

Definition

Let [math]\displaystyle{ P }[/math] be a simple polygon or a rectifiable simple closed curve, and let [math]\displaystyle{ X }[/math] be any set enclosed by [math]\displaystyle{ P }[/math]. A geodesic between two points in [math]\displaystyle{ P }[/math] is a shortest path connecting those two points that stays entirely within [math]\displaystyle{ P }[/math]. A subset [math]\displaystyle{ K }[/math] of the points inside [math]\displaystyle{ P }[/math] is said to be relatively convex, geodesically convex, or [math]\displaystyle{ P }[/math]-convex if, for every two points of [math]\displaystyle{ K }[/math], the geodesic between them in [math]\displaystyle{ P }[/math] stays within [math]\displaystyle{ K }[/math]. Then the relative convex hull of [math]\displaystyle{ X }[/math] can be defined as the intersection of all relatively convex sets containing [math]\displaystyle{ X }[/math].[1]

Equivalently, the relative convex hull is the minimum-perimeter weakly simple polygon in [math]\displaystyle{ P }[/math] that encloses [math]\displaystyle{ X }[/math]. This was the original formulation of relative convex hulls, by (Sklansky Chazin).[2] However this definition is complicated by the need to use weakly simple polygons (intuitively, polygons in which the polygon boundary can touch or overlap itself but not cross itself) instead of simple polygons when [math]\displaystyle{ X }[/math] is disconnected and its components are not all visible to each other.

Special cases

Finite sets of points

(Toussaint 1986), who provided an efficient algorithm for the construction of the relative convex hull for finite sets of points inside a simple polygon.[3] With subsequent improvements in the time bounds for two subroutines, finding shortest paths between query points in a polygon,[4] and polygon triangulation,[5] this algorithm takes time [math]\displaystyle{ O(p + n\log(p+n)) }[/math] on an input with [math]\displaystyle{ n }[/math] points in a polygon with [math]\displaystyle{ p }[/math] vertices.[4] It can also be maintained dynamically in sublinear time per update.[6]

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

For relative convex hulls of simple polygons, an alternative but equivalent definition of convexity can be used. A simple polygon [math]\displaystyle{ P }[/math] within another simple polygon [math]\displaystyle{ Q }[/math] is relatively convex or [math]\displaystyle{ Q }[/math]-convex if every line segment contained in [math]\displaystyle{ Q }[/math] that connects two points of [math]\displaystyle{ P }[/math] lies within [math]\displaystyle{ P }[/math]. The relative convex hull of a simple polygon [math]\displaystyle{ P }[/math] within [math]\displaystyle{ Q }[/math] can be defined as the intersection of all [math]\displaystyle{ Q }[/math]-convex polygons that contain [math]\displaystyle{ P }[/math], as the smallest [math]\displaystyle{ Q }[/math]-convex polygon that contains [math]\displaystyle{ P }[/math], or as the minimum-perimeter simple polygon that contains [math]\displaystyle{ P }[/math] and is contained by [math]\displaystyle{ Q }[/math].[1]

(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.[1] Alternative linear time algorithms based on path planning are known.[7]

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,[8] and in data structures for collision detection of moving polygons.[9]

Higher dimensions

The definition of relative convex hulls based on minimum enclosure does not extend to higher dimensions, because (even without being surrounded by an outer shape) the minimum surface area enclosure of a non-convex set is not generally convex.[7] However, for the relative convex hull of a connected set within another set, a similar definition to one for simple polygons can be used. In this case, a relatively convex set can again be defined as a subset of the given outer set that contains all line segments in the outer set between pairs of its points. The relative convex hull can be defined as the intersection of all relatively convex sets that contain the inner set.[10]

References

  1. 1.0 1.1 1.2 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 
  2. Sklansky, Jack; Chazin, Robert L.; Hansen, Bruce J. (1972), "Minimum-perimeter polygons of digitized silhouettes", IEEE Transactions on Computers C-21 (3): 260–268, doi:10.1109/tc.1972.5008948 
  3. "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, 1986, pp. 853–856 
  4. 4.0 4.1 "Optimal shortest path queries in a simple polygon", Journal of Computer and System Sciences 39 (2): 126–152, 1989, doi:10.1016/0022-0000(89)90041-X 
  5. "Triangulating a simple polygon in linear time", Discrete & Computational Geometry 6 (3): 485–524, 1991, doi:10.1007/BF02574703 
  6. Oh, Eunjin; Ahn, Hee-Kap (2017), "Dynamic geodesic convex hulls in dynamic simple polygons", 33rd International Symposium on Computational Geometry (SoCG 2017), LIPIcs, 77, Schloss Dagstuhl, pp. 51:1–51:15, doi:10.4230/LIPIcs.SoCG.2017.51 
  7. 7.0 7.1 Williams, Jason; Rossignac, Jarek (2005), "Tightening: curvature-limiting morphological simplification", in Kobbelt, Leif; Shapiro, Vadim, Proceedings of the Tenth ACM Symposium on Solid and Physical Modeling 2005, Cambridge, Massachusetts, USA, June 13-15, 2005, ACM, pp. 107–112, doi:10.1145/1060244.1060257 
  8. "On separating two simple polygons by a single translation", Discrete & Computational Geometry 4 (3): 265–278, 1989, doi:10.1007/BF02187729 
  9. Basch, Julien; Erickson, Jeff (2004), "Kinetic collision detection between two simple polygons", Computational Geometry 27 (3): 211–235, doi:10.1016/j.comgeo.2003.11.001 
  10. Sloboda, Fridrich; Za'ko, Bedrich (2001), "On approximation of Jordan surfaces in 3d", in Bertrand, G.; Imiya, A.; Klette, R., Digital and Image Geometry: Advanced Lectures, Lecture Notes in Computer Science, 2243, Springer, pp. 365–386, doi:10.1007/3-540-45576-0_22