Minkowski addition



In geometry, the Minkowski sum of two sets of position vectors A and B in Euclidean space is formed by adding each vector in A to each vector in B:
 * $$A + B = \{\mathbf{a}+\mathbf{b}\,|\,\mathbf{a}\in A,\ \mathbf{b}\in B\}$$

The Minkowski difference (also Minkowski subtraction, Minkowski decomposition, or geometric difference) is the corresponding inverse, where $$(A - B)$$ produces a set that could be summed with B to recover A. This is defined as the complement of the Minkowski sum of the complement of A with the reflection of B about the origin.
 * $$-B = \{\mathbf{-b}\,|\,\mathbf{b}\in B\}$$
 * $$A - B = (A^\complement + (-B))^\complement$$

This definition allows a symmetrical relationship between the Minkowski sum and difference. Note that alternately taking the sum and difference with B is not necessarily equivalent. The sum can fill gaps which the difference may not re-open, and the difference can erase small islands which the sum cannot recreate from nothing.
 * $$(A - B) + B \subseteq A$$
 * $$(A + B) - B \supseteq A$$
 * $$A - B = (A^\complement + (-B))^\complement$$
 * $$A + B = (A^\complement - (-B))^\complement$$

In 2D image processing the Minkowski sum and difference are known as dilation and erosion.

An alternative definition of the Minkowski difference is sometimes used for computing intersection of convex shapes. This is not equivalent to the previous definition, and is not an inverse of the sum operation. Instead it replaces the vector addition of the Minkowski sum with a vector subtraction. If the two convex shapes intersect, the resulting set will contain the origin.
 * $$A - B = \{\mathbf{a}-\mathbf{b}\,|\,\mathbf{a}\in A,\ \mathbf{b}\in B\} = A + (-B)$$

The concept is named for Hermann Minkowski.

Example
For example, if we have two sets A and B, each consisting of three position vectors (informally, three points), representing the vertices of two triangles in $$\mathbb{R}^2$$, with coordinates
 * $$A = \{(1,0), (0,1), (0,-1)\}$$

and
 * $$B = \{(0,0), (1,1), (1,-1)\}$$

then their Minkowski sum is
 * $$A + B = \{(1,0), (2,1), (2,-1), (0,1), (1,2), (1,0), (0,-1), (1,0), (1,-2)\},$$

which comprises the vertices of a hexagon and its center.

For Minkowski addition, the, $$\{ 0 \},$$ containing only the zero vector, 0, is an identity element: for every subset S of a vector space,
 * $$S + \{0\} = S.$$

The empty set is important in Minkowski addition, because the empty set annihilates every other subset: for every subset S of a vector space, its sum with the empty set is empty:
 * $$S + \emptyset = \emptyset.$$

For another example, consider the Minkowski sums of open or closed balls in the field $$\mathbb{K},$$ which is either the real numbers $$\R$$ or complex numbers $$\C.$$ If $$B_r := \{ s \in \mathbb{K} : |s| \leq r \}$$ is the closed ball of radius $$r \in [0, \infty]$$ centered at $$0$$ in $$\mathbb{K}$$ then for any $$r, s \in [0, \infty],$$ $$B_r + B_s = B_{r+s}$$ and also $$c B_r = B_{|c|r}$$ will hold for any scalar $$c \in \mathbb{K}$$ such that the product $$|c|r$$ is defined (which happens when $$c \neq 0$$ or $$r \neq \infty$$). If $$r, s,$$ and $$c$$ are all non-zero then the same equalities would still hold had $$B_r$$ been defined to be the open ball, rather than the closed ball, centered at $$0$$ (the non-zero assumption is needed because the open ball of radius $$0$$ is the empty set). The Minkowski sum of a closed ball and an open ball is an open ball. More generally, the Minkowski sum of an open subset with other set will be an open subset.

If $$G = \{ (x, 1/x) : 0 \neq x \in \R \}$$ is the graph of $$f(x) = \frac{1}{x}$$ and if and $$Y = \{ 0 \} \times \R$$ is the $$y$$-axis in $$X = \R^2$$ then the Minkowski sum of these two closed subsets of the plane is the open set $$G + Y = \{ (x, y) \in \R^2 : x \neq 0 \} = \R^2 \setminus Y$$ consisting of everything other than the $$y$$-axis. This shows that the Minkowski sum of two closed sets is not necessarily a closed set. However, the Minkowski sum of two closed subsets will be a closed subset if at least one of these sets is also a compact subset.

Convex hulls of Minkowski sums
Minkowski addition behaves well with respect to the operation of taking convex hulls, as shown by the following proposition:
 * For all non-empty subsets $$S_1$$ and $$S_2$$ of a real vector space, the convex hull of their Minkowski sum is the Minkowski sum of their convex hulls:
 * $$\operatorname{Conv}(S_1 + S_2) = \operatorname{Conv}(S_1) + \operatorname{Conv}(S_2).$$

This result holds more generally for any finite collection of non-empty sets:
 * $\operatorname{Conv}\left(\sum{S_n}\right) = \sum\operatorname{Conv}(S_n).$

In mathematical terminology, the operations of Minkowski summation and of forming convex hulls are commuting operations.

If $$S$$ is a convex set then $$\mu S + \lambda S$$ is also a convex set; furthermore
 * $$\mu S + \lambda S = (\mu + \lambda)S$$

for every $$\mu,\lambda \geq 0$$. Conversely, if this "distributive property" holds for all non-negative real numbers, $$\mu, \lambda$$, then the set is convex.

The figure to the right shows an example of a non-convex set for which $$A + A \subsetneq 2 A.$$

An example in $$1$$ dimension is: $$B = [1, 2] \cup [4, 5].$$ It can be easily calculated that $$2 B = [2, 4] \cup [8, 10]$$ but $$B + B = [2, 4] \cup [5, 7] \cup [8, 10],$$ hence again $$B + B \subsetneq 2 B.$$

Minkowski sums act linearly on the perimeter of two-dimensional convex bodies: the perimeter of the sum equals the sum of perimeters. Additionally, if $$K$$ is (the interior of) a curve of constant width, then the Minkowski sum of $$K$$ and of its $$180^{\circ}$$ rotation is a disk. These two facts can be combined to give a short proof of Barbier's theorem on the perimeter of curves of constant width.

Applications
Minkowski addition plays a central role in mathematical morphology. It arises in the brush-and-stroke paradigm of 2D computer graphics (with various uses, notably by Donald E. Knuth in Metafont), and as the solid sweep operation of 3D computer graphics. It has also been shown to be closely connected to the Earth mover's distance, and by extension, optimal transport.

Motion planning
Minkowski sums are used in motion planning of an object among obstacles. They are used for the computation of the configuration space, which is the set of all admissible positions of the object. In the simple model of translational motion of an object in the plane, where the position of an object may be uniquely specified by the position of a fixed point of this object, the configuration space are the Minkowski sum of the set of obstacles and the movable object placed at the origin and rotated 180 degrees.

Numerical control (NC) machining
In numerical control machining, the programming of the NC tool exploits the fact that the Minkowski sum of the cutting piece with its trajectory gives the shape of the cut in the material.

3D solid modeling
In OpenSCAD Minkowski sums are used to outline a shape with another shape creating a composite of both shapes.

Aggregation theory
Minkowski sums are also frequently used in aggregation theory when individual objects to be aggregated are characterized via sets.

Collision detection
Minkowski sums, specifically Minkowski differences, are often used alongside GJK algorithms to compute collision detection for convex hulls in physics engines.

Algorithms for computing Minkowski sums

 * alt=Minkowski addition of four line-segments. The left-hand pane displays four sets, which are displayed in a two-by-two array. Each of the sets contains exactly two points, which are displayed in red. In each set, the two points are joined by a pink line-segment, which is the convex hull of the original set. Each set has exactly one point that is indicated with a plus-symbol. In the top row of the two-by-two array, the plus-symbol lies in the interior of the line segment; in the bottom row, the plus-symbol coincides with one of the red-points. This completes the description of the left-hand pane of the diagram. The right-hand pane displays the Minkowski sum of the sets, which is the union of the sums having exactly one point from each summand-set; for the displayed sets, the sixteen sums are distinct points, which are displayed in red: The right-hand red sum-points are the sums of the left-hand red summand-points. The convex hull of the sixteen red-points is shaded in pink. In the pink interior of the right-hand sumset lies exactly one plus-symbol, which is the (unique) sum of the plus-symbols from the right-hand side. The right-hand plus-symbol is indeed the sum of the four plus-symbols from the left-hand sets, precisely two points from the original non-convex summand-sets and two points from the convex hulls of the remaining summand-sets.
 * Minkowski addition and convex hulls. The sixteen dark-red points (on the right) form the Minkowski sum of the four non-convex sets (on the left), each of which consists of a pair of red points. Their convex hulls (shaded pink) contain plus-signs (+): The right plus-sign is the sum of the left plus-signs.

Two convex polygons in the plane
For two convex polygons P and Q in the plane with m and n vertices, their Minkowski sum is a convex polygon with at most m + n vertices and may be computed in time O(m + n) by a very simple procedure, which may be informally described as follows. Assume that the edges of a polygon are given and the direction, say, counterclockwise, along the polygon boundary. Then it is easily seen that these edges of the convex polygon are ordered by polar angle. Let us merge the ordered sequences of the directed edges from P and Q into a single ordered sequence S. Imagine that these edges are solid arrows which can be moved freely while keeping them parallel to their original direction. Assemble these arrows in the order of the sequence S by attaching the tail of the next arrow to the head of the previous arrow. It turns out that the resulting polygonal chain will in fact be a convex polygon which is the Minkowski sum of P and Q.

Other
If one polygon is convex and another one is not, the complexity of their Minkowski sum is O(nm). If both of them are nonconvex, their Minkowski sum complexity is O((mn)2).

Essential Minkowski sum
There is also a notion of the essential Minkowski sum +e of two subsets of Euclidean space. The usual Minkowski sum can be written as
 * $$A + B = \left\{ z \in \mathbb{R}^{n} \,|\, A \cap (z - B) \neq \emptyset \right\}.$$

Thus, the essential Minkowski sum is defined by
 * $$A +_{\mathrm{e}} B = \left\{ z \in \mathbb{R}^{n} \,|\, \mu \left[A \cap (z - B)\right] > 0 \right\},$$

where μ denotes the n-dimensional Lebesgue measure. The reason for the term "essential" is the following property of indicator functions: while
 * $$1_{A \,+\, B} (z) = \sup_{x \,\in\, \mathbb{R}^{n}} 1_{A} (x) 1_{B} (z - x),$$

it can be seen that
 * $$1_{A \,+_{\mathrm{e}}\, B} (z) = \mathop{\mathrm{ess\,sup}}_{x \,\in\, \mathbb{R}^{n}} 1_{A} (x) 1_{B} (z - x),$$

where "ess&thinsp;sup" denotes the essential supremum.

Lp Minkowski sum
For K and L compact convex subsets in $$\mathbb{R}^n$$, the Minkowski sum can be described by the support function of the convex sets:
 * $$h_{K+L} = h_K + h_L.$$

For p ≥ 1, Firey defined the Lp Minkowski sum K +$p$ L of compact convex sets K and  L in $$\mathbb{R}^n$$ containing the origin as
 * $$h_{K +_p L}^p = h_K^p + h_L^p.$$

By the Minkowski inequality, the function h$K+pL$ is again positive homogeneous and convex and hence the support function of a compact convex set. This definition is fundamental in the Lp Brunn-Minkowski theory.