One problem in computational geometry is this: given a set of points, create a [polygonal] region that encloses them.
One of the more straightforward solutions is what’s called a convex hull, which is a shape that you make such that every line between any pair of points in the set is contained within the hull. This can potentially include a much larger area than seems necessary; for example, if you selected points alone the shape of the letter C, the convex hull would up looking more like an O (though with a straight line down the right edge instead of a curve).
On the other extreme is what’s called a spanning tree, which is simply a set of lines that connect all the points to one another; this contains almost no area at all.
Alpha shapes are an intermediate method, intended to include less area in the region than a convex hull, but still “a good amount”. That’s why those three are the things at the top of the Wikipedia article.
One good way to intuitively think about alpha shapes is to imagine that your point cloud is a set of chocolate chips embedded in a big bowl of vanilla ice cream. You love vanilla ice cream but hate chocolate chips. Using a round scoop, you remove portions of the ice cream in the shape of circles (or parts of a circle) until you’ve removed all the ice cream you can without getting any of the chocolate. Take the resulting shape, straighten out the edges and corners to get rid of any curves, and you have your alpha shape, with the alpha parameter controlling the radius of the ice cream scoop you use! This is the *negative* alpha hull, which is the more common one. The *positive* alpha hull would be the shape of the empty void left in the ice cream if you tried to get all of the chocolate chips while removing a minimum amount of ice cream.
EDIT: By the way, an alpha shape with alpha = 0 is a convex hull, and an alpha shape with alpha = infinity is a spanning tree; the bigger alpha is, the “tighter” the shape will be, and the smaller alpha is, the “looser”.
Latest Answers