0

This is a question in 2-dimensional computational geometry.

Suppose I have a compact set X in the plane which has no holes (i.e. it is simply connected). Let w be a vector, and consider the intersection of X with X+w (i.e. the translate of X by w). I say that this intersection is complicated if the following is true:

  1. X intersects X+w
  2. If we let Y be the simply-connected region obtained from (X union X+w) by filling in the bounded holes, then as we walk around the boundary of Y we can find 4 points in cyclic order a,b,c,d on the boundary so that a and c are in X but not in X+w, while b and d are in X+w but not in X.

Just for the sake of brevity, let's refer to the set of w for which the intersection of X with X+w is complicated as the concave hull of X (note: this has nothing to do with alpha sets; it's just a name).

I would like to know a fast, practical algorithm to compute the concave hull of X where X is (say) a polygonal disk. Beyond this, I would be interested in an elegant characterization of the concave hull perhaps in different terms. Finally, I would be very grateful for pointers to any literature discussing this problem.

Here are some remarks:

  1. The concave hull of X is empty if and only if X is convex (hence the name); this is because if X is convex, and X intersects X+w, then the boundary of Y falls into exactly two components, one of which is in X, and the other in X+w (the converse follows from point 3 below).
  2. The concave hull of a polygon should be an open polygon (i.e. with the boundary removed), so the answer could be given (for example) as a finite union of (open) triangles.
  3. If X is nonconvex, we can find part of the concave hull as follows: let L be a supporting line for X which intersects X in two sets P and Q with a gap I between them. If J is the segment of the boundary of X between P and Q, then the union of I and J bounds an open disk D in the complement of X, and if p+ is the extreme point of P closest to Q, then D-p+ is in the concave hull. Call the union of such regions over all supporting lines the inner concave hull; it seems relatively easy to compute, but I think it should be smaller than the concave hull in general.
  • 1
    This sounds somewhat similar to [Sutherland-Hodgman polygon clipping](http://rosettacode.org/wiki/Sutherland-Hodgman_polygon_clipping), though it's obviously not the same. Maybe borrowing some ideas from there would help? – Donal Fellows Apr 20 '14 at 13:21
  • Yes, nice observation - polygon clipping is probably a good way to think about this question. The intersection of X and X+w is *complicated* when the difference has a chain of at least four outermost regions. Finding the degenerate cases - where clipping regions appear or disappear as we vary w - would identify potential boundary edges of the concave hull, and then we could examine the regions this cuts out one by one to see if they are valid. I wonder how efficient this is. – Danny Calegari Apr 20 '14 at 13:33

0 Answers0