1632
 правки
Изменения
м
{{ready}}
 
 
 
rollbackEdits.php mass rollback
== Описание ==
{|align="center"
 |-valign="top"
Пусть заданы две выпуклые фигуры <tex>P</tex> и <tex>R</tex>, с числом вершин <tex>n</tex> и <tex>m</tex> соответственно. Тогда суммой Минковского <tex>P \oplus R</tex> является выпуклая фигура с не более чем <tex>m + n</tex> вершинами.
|proof=
[[Файл:minkowski_extreme.png | right | 290px350px]]
Для начала заметим, что любая крайняя точка в направлении вектора <tex>\vec{d}</tex> есть сумма крайних точек фигур в этом направлении. Убедиться в этом можно спроецировав обе фигуры на вектор <tex>\vec{d}</tex>.
}}
== Алгоритм Псевдокод ==
  i = j = 0
  V[n] = V[0], V[n+1] = V[1], W[nm] = W[0], W[nm+1] = W[1]
  while i < n or j < m do
    add V[i]+W[j] to answer
 |[[Файл:minkowski_hard_example.png | thumb | 550px | Пример суммы Минковского с O(n<sup>2</sup>m<sup>2</sup>) вершинами]]
|}
== Ссылки ==
* [https://en.wikipedia.org/wiki/Minkowski_addition Английская википедия]
* de Berg, van Kreveld, Overmars, Schwarzkopf "Computational Geometry Algorithms and Applications", p. 290