Minkowski Sum of Convex Polygons

A ⊕ B = { a + b : a ∈ A, b ∈ B } — built by merging edge vectors in angular order
Convex ⊕ Convex: O(n + m) Naive all-pairs: O(nm log nm) Output: ≤ n + m vertices

Controls

slow fast

Live Stats

A vertices
0
B vertices
0
Sum edges built
0
Pointer i / j
0 / 0

Current Operation

Press Build to merge the edge vectors of A and B by polar angle, or Step one edge at a time.

Big-O

OperationTime
Convex ⊕ convex (merge)O(n + m)
A ⊕ {point} (translate)O(n)
Not pre-sorted by angleO(n log n + m log m)
Naive all-pairs + hullO(nm log nm)
Non-convex (decompose)O(n² m²)

Visualization

A (polygon) B (polygon) A ⊕ B (sum) C-space: B ⊕ (−A) active edge being merged

Operation Log