Input |
Output |

**Input Description:** Point sets or polygons \(A\) and \(B\), with \(n\) and \(m\) vertices, respectively. **Problem:** What is the convolution of \(A\) and \(B\), ie. the Minkowski sum \(A+B = \{x+y| x\in A, y \in B\}\)?

**Excerpt from** The Algorithm Design Manual: Minkowski sums are useful geometric operations that can be used to *fatten* objects in appropriate ways. For example, a popular approach to motion planning for polygonal robots in a room with polygonal obstacles fattens each of the obstacles by taking the Minkowski sum of them with the shape of the robot. This reduces the problem to moving a point from the start to the goal using a standard shortest-path algorithm. Another application is in shape simplification where we fatten the boundary of an object to create a channel and then define as the shape the minimum link path lying within this channel. Similarly, convolving an irregular object with a small circle will help smooth out the boundaries by eliminating minor nicks and cuts.

cgal (rating 10) |
CGAL (rating 10) |

Efi Fogel's Minkowski Sums and Collision Detection Software (rating 8) |
convex-minkowski-sum (rating 5) |

BIPM (rating 4) |

Computational Geometry : Algorithms and Applications by Mark De Berg, Marc Van Kreveld, Mark Overmars, and O. Schwartskopf | Computational Geometry in C by Joseph O'Rourke |