Сума Мінковського

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Червона фігура є сумою синьої та зеленої фігур

В геометрії, Сумою Мінковського (англ. minkowski sum) двох множин радіус-векторів A і B у евклідовому просторі утворюється додаванням кожного вектора з A до кожного вектора з B, тобто множина

Приклад[ред.ред. код]

Картинка згладженого трикутника. Кожен з округлих кутів обведений червоною кривою.
В опуклій оболонці червоної множини, кожна синя точка є опуклою комбінацією якихось червоних точок
Сума Мінковського двох квадратів Q1=[0,1]2 і Q2=[1,2]2 це квадратQ1+Q2=[1,3]2.

Наприклад, якщо ми маємо дві множини A і B, кожна з трьох радіус-векторів (неформально, трьох точок), що представляють вершини двох трикутників у , з координатами

A = {(1, 0), (0, 1), (0, −1)} 

і

B = {(0, 0), (1, 1), (1, −1)} ,

тоді сума Мінковського є
A + B = {(1, 0), (2, 1), (2, −1), (0, 1), (1, 2), (1, 0), (0, −1), (1, 0), (1, −2)} , яка виглядає як шестикутник, з трьома точками, що повторюються в (1, 0).

Для додавання Мінковського, нульва множина {0}, що містить лише нульовий вектор 0, є нейтральним елементом: Для будь-якої підмножини S, векторного простору

S + {0} = S;

Порожня множина важлива для додавання Мінковського, бо вона знищує будь-яку іншу підмножину: для будь-якої підмножини, S, векторного простору, його сума з порожньою множиною — порожня множина: S + = .

Прочісування одного опуклого об'єкту іншим

Алгоритм для опуклих многокутників[ред.ред. код]

Кут між вектором та віссю

В алгоритмі ми використовуємо поняття кута між вектором та віссю

Алгоритм СУМА_МІНКОВСЬКОГО

Вхід. Опуклий многокутник з вершинами і опуклий многокутник з вершинами Списки вершин повинні бути впорядковані проти годинникової стрілки, а повинні мати найменші координати (і найменші координати у випадку кількох вершин з найменшою координатою).

Вихід. Сума Мінковського .

  1. повторювати
  2.  Додати як вершину у .
  3. якщо
  4. тоді
  5. інакше якщо
  6.   тоді
  7.   інакше
  8. допоки та

Алгоритм виконується за лінійний час.

Обчислення суми Мінковського для неопуклих многокутників не дуже складне: тріангулювати обидва многокутники, обчислити суму Мінковського для кожної двійки трикутників і об'єднати їх.

Теорема: Нехай многокутники з вершинами відповідно. Складність суми Мінковського має такі границі:

  • це якщо обидва многокутники опуклі;
  • це якщо один з многокутників опуклий і один неопуклий;
  • це якщо обидва многокутники неопуклі.

Ці границі тугі в найгіршому випадку.

Посилання[ред.ред. код]