Polygon Convolution

Polygon convolution is the convolution of mappings of \( F^2 \to Bool \), that are represented by polygons that indicate the boundary of the closed subset(s) of \( F^2 \) that are mapped onto TRUE; were addition is replaced by the or operation. The convolution operator is here represented as \( * \) and has type \( (F^2 \to Bool) \times (F^2 \to Bool) \to (F^2 \to Bool) \).

For_each \( q \in F^2 \) and \( M_a, M_b \in F^2 \to Bool\):

\( (M_a * M_b)q := \bigvee\nolimits_{p \in F^2}:M_a(p) \wedge M_b(q-p) \)

Further let \( P_i := \delta M_i \), it seems that \( \delta(M_a * M_b) = \delta M_a* Mb \wedge M_a * \delta Mb \) similar to the diffential of the product of two functions.

See also: Boost Polygon's minkowski tutorial.