SlideShare una empresa de Scribd logo
1 de 155
Descargar para leer sin conexión
Выпуклые оболочки
Минимальная описанная окружность
Треугольник минимальной площади




          Вычислительная геометрия:
                иллюстрации

                         Кира Вяткина

       Санкт-Петербургский государственный университет


                        6 марта 2011г.




                   Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


План доклада



  1   Выпуклые оболочки


  2   Минимальная описанная окружность


  3   Треугольник минимальной площади




                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Определение




     Пусть S ⊂ R2 – некоторое подмножество плоскости




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Определение




     Пусть S ⊂ R2 – некоторое подмножество плоскости
     Выпуклая оболочка CH(S) множества S – наименьшее
     выпуклое множество, содержащее S




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Определение




     Пусть S ⊂ R2 – некоторое подмножество плоскости
     Выпуклая оболочка CH(S) множества S – наименьшее
     выпуклое множество, содержащее S
     Или: CH(S) – пересечение всех выпуклых множеств,
     содержащих S




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Для множества точек


     Пусть P – множество из n точек на плоскости




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Для множества точек


     Пусть P – множество из n точек на плоскости
     CH(P) – выпуклый многоугольник с вершинами в
     некоторых точках из S




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Сложность построения


     Модель вычислений: вещественнозначная РАМ
         равнодоступная адресная машина




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Сложность построения


     Модель вычислений: вещественнозначная РАМ
         равнодоступная адресная машина
     Элементарные операции:
         арифметические операции
         операции сравнения
         косвенная адресация памяти




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Сложность построения


     Модель вычислений: вещественнозначная РАМ
         равнодоступная адресная машина
     Элементарные операции:
         арифметические операции
         операции сравнения
         косвенная адресация памяти
         аналитические функции




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Сложность построения


     Модель вычислений: вещественнозначная РАМ
         равнодоступная адресная машина
     Элементарные операции:
         арифметические операции
         операции сравнения
         косвенная адресация памяти
         аналитические функции
     Нижняя оценка сложности построения выпуклой оболочки:
     Ω(n log n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5
                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                            p8                   p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема




                           p8                    p5

                                         p6
                                  p7               p4
                                                        p3
                          p9
                                                 p2
                                    p1




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)
         Обход: O(n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)
         Обход: O(n)
               Время пропорционально общему числу операций со стеком




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)
         Обход: O(n)
               Время пропорционально общему числу операций со стеком
               Каждая из вершин p2 , . . . , pn помещается в стек ровно
               один раз




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)
         Обход: O(n)
               Время пропорционально общему числу операций со стеком
               Каждая из вершин p2 , . . . , pn помещается в стек ровно
               один раз
               Следовательно, общее число операций удаления не
               превосходит n − 1



                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод обхода Грэхема

     Вспомогательная структура данных: стек
     Корректность алгоритма:
         Пусть Pi = {p1 , . . . , pi }
         По завершении i-й итерации стек содержит вершины
         CH(Pi )
     Временн´я сложность: O(n log n)
            а
         Нахождение p1 : O(n)
         Сортировка вершин: O(n log n)
         Обход: O(n)
               Время пропорционально общему числу операций со стеком
               Каждая из вершин p2 , . . . , pn помещается в стек ровно
               один раз
               Следовательно, общее число операций удаления не
               превосходит n − 1
     Затраты памяти: O(n)

                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                            p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                                 p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




                                                 p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса



                                           p4



                                                 p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса



                                           p4
                          p5


                                                 p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса



                                           p4
                          p5


                         p6                      p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса



                                           p4
                          p5


                         p6                      p3
                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




     Корректность:




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




     Корректность:
         На каждом шаге строится очередное ребро CH(P)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




     Корректность:
         На каждом шаге строится очередное ребро CH(P)
     Временн´я сложность: O(nh), где h – число вершин CH(P)
            а




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




     Корректность:
         На каждом шаге строится очередное ребро CH(P)
     Временн´я сложность: O(nh), где h – число вершин CH(P)
            а
         Алгоритм, чувствительный к выходу




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Метод Джарвиса




     Корректность:
         На каждом шаге строится очередное ребро CH(P)
     Временн´я сложность: O(nh), где h – число вершин CH(P)
            а
         Алгоритм, чувствительный к выходу
     Затраты памяти: O(n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Хронология




     1972: метод обхода Грэхема, O(n log n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Хронология




     1972: метод обхода Грэхема, O(n log n)
     1973: метод Джарвиса, O(nh)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Хронология




     1972: метод обхода Грэхема, O(n log n)
     1973: метод Джарвиса, O(nh)
     1986: алгоритм Киркпатрика и Зейделя, O(n log h)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Хронология




     1972: метод обхода Грэхема, O(n log n)
     1973: метод Джарвиса, O(nh)
     1986: алгоритм Киркпатрика и Зейделя, O(n log h)
         Сложный алгоритм




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Хронология




     1972: метод обхода Грэхема, O(n log n)
     1973: метод Джарвиса, O(nh)
     1986: алгоритм Киркпатрика и Зейделя, O(n log h)
         Сложный алгоритм
     1996: алгоритм Чена, O(n log h)
         Простой алгоритм




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена



     Зафиксируем m ≤ n




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена



     Зафиксируем m ≤ n
                   n
     Положим r = ⌈ m ⌉




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена



     Зафиксируем m ≤ n
                   n
     Положим r = ⌈ m ⌉
     Разобьем P на r подмножеств P1 , . . . , Pr
         |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена



     Зафиксируем m ≤ n
                   n
     Положим r = ⌈ m ⌉
     Разобьем P на r подмножеств P1 , . . . , Pr
         |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m
     Для каждого подмножества Pi построим CH(Pi ) методом
     обхода Грэхема




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена



     Зафиксируем m ≤ n
                   n
     Положим r = ⌈ m ⌉
     Разобьем P на r подмножеств P1 , . . . , Pr
         |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m
     Для каждого подмножества Pi построим CH(Pi ) методом
     обхода Грэхема
     К полученным выпуклым оболочкам применим метод
     Джарвиса




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Алгоритм Чена




                                           p2
                                    p1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:
         Построение опорной прямой к CH(Pi ): O(log m) времени




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:
         Построение опорной прямой к CH(Pi ): O(log m) времени
         Нахождение очередной вершины CH(P): O(r log m)
         времени




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:
         Построение опорной прямой к CH(Pi ): O(log m) времени
         Нахождение очередной вершины CH(P): O(r log m)
         времени
         Нахождение всех вершин CH(P):
                             n
         O(hr log m) = O(h · m · log m) времени




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:
         Построение опорной прямой к CH(Pi ): O(log m) времени
         Нахождение очередной вершины CH(P): O(r log m)
         времени
         Нахождение всех вершин CH(P):
                             n
         O(hr log m) = O(h · m · log m) времени
                                                              n
     Общее время работы алгоритма: O                n+h·      m   log m




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Предварительный анализ сложности

     Предобработка:
         Построение CH(Pi ): O(m log m) времени
         Построение всех выпуклых оболочек:
         O(rm log m) = O(n log m) времени
     Основной цикл:
         Построение опорной прямой к CH(Pi ): O(log m) времени
         Нахождение очередной вершины CH(P): O(r log m)
         времени
         Нахождение всех вершин CH(P):
                             n
         O(hr log m) = O(h · m · log m) времени
                                                              n
     Общее время работы алгоритма: O                n+h·      m   log m
     При m = h: O(n log h)


                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


Частичное построение выпуклой оболочки

  PartialHull(P,m)
              n
   1   r ← ⌈m⌉
   2   P → P1 , . . . , Pr
   3   for i ← 1 to r
   4         do Построить CH(Pi )
   5   p1 ← точка из P с наименьшей ординатой
       (в случае неоднозначности – самая левая из таковых)
   6   for k ← 1 to m
   7         do Найти вершину pk+1 выпуклой оболочки CH(P)
   8            if pk+1 = p1
   9                then return (“(p1 , . . . , pk )”)
  10   return “m слишком мало”


                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


Частичное построение выпуклой оболочки

  PartialHull(P,m)
              n
   1   r ← ⌈m⌉
   2   P → P1 , . . . , Pr
   3   for i ← 1 to r          £ O(r · m log m) = O(n log m)
   4         do Построить CH(Pi )
   5   p1 ← точка из P с наименьшей ординатой
       (в случае неоднозначности – самая левая из таковых)
   6   for k ← 1 to m            £ O(m · r log m) = O(n log m)
   7         do Найти вершину pk+1 выпуклой оболочки CH(P)
   8            if pk+1 = p1
   9                then return (“(p1 , . . . , pk )”)
  10   return “m слишком мало”


                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


Частичное построение выпуклой оболочки

  PartialHull(P,m)
              n
   1   r ← ⌈m⌉
   2   P → P1 , . . . , Pr
   3   for i ← 1 to r
   4         do Построить CH(Pi )
   5   p1 ← точка из P с наименьшей ординатой
       (в случае неоднозначности – самая левая из таковых)
   6   for k ← 1 to m
   7         do Найти вершину pk+1 выпуклой оболочки CH(P)
   8            if pk+1 = p1
   9                then return (“(p1 , . . . , pk )”)
  10   return “m слишком мало”

  Время работы: O(n log m)
                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Итоговый алгоритм



  ConvexHull(P)
  1 for t ← 1, 2, 3, . . .
                           t
  2       do m ← min{22 , n}
  3          L ← PartialHull(P,m)
  4          if L = “m слишком мало”
  5             then return L




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Итоговый алгоритм



  ConvexHull(P)
  1 for t ← 1, 2, 3, . . .
                           t
  2       do m ← min{22 , n}
  3          L ← PartialHull(P,m)
  4          if L = “m слишком мало”
  5             then return L

  Алгоритм завершит работу при t = ⌈log log h⌉




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности


                                                         t
     Время выполнения итерации t: O(n log 22 ) = O(n · 2t )




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности


                                                            t
     Время выполнения итерации t: O(n log 22 ) = O(n · 2t )
                                              ⌈log log h⌉
     Общее время работы алгоритма:                          O(n · 2t )
                                                 t=1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Анализ сложности


                                                                t
     Время выполнения итерации t: O(n log 22 ) = O(n · 2t )
                                                  ⌈log log h⌉
     Общее время работы алгоритма:                              O(n · 2t )
                                                     t=1
     ⌈log log h⌉
                   n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h
        t=1




                             Кира Вяткина   Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Анализ сложности


                                                                t
     Время выполнения итерации t: O(n log 22 ) = O(n · 2t )
                                                  ⌈log log h⌉
     Общее время работы алгоритма:                              O(n · 2t )
                                                     t=1
     ⌈log log h⌉
                   n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h
        t=1
     Временн´я сложность алгоритма Чена: O(n log h)
            а




                             Кира Вяткина   Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Анализ сложности


                                                                t
     Время выполнения итерации t: O(n log 22 ) = O(n · 2t )
                                                  ⌈log log h⌉
     Общее время работы алгоритма:                              O(n · 2t )
                                                     t=1
     ⌈log log h⌉
                   n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h
        t=1
     Временн´я сложность алгоритма Чена: O(n log h)
            а
     Затраты памяти: O(n)




                             Кира Вяткина   Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


План доклада



  1   Выпуклые оболочки


  2   Минимальная описанная окружность


  3   Треугольник минимальной площади




                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Минимальная описанная окружность




     Дано множество P из n точек на плоскости




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Минимальная описанная окружность




     Дано множество P из n точек на плоскости
     Построить окружность минимального радиуса,
     содержащую внутри все точки из P




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Свойства

     Минимальная описанная окружность для P
           определена однозначно




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Свойства

     Минимальная описанная окружность для P
           определена однозначно
           проходит
               либо ровно через две точки из P, которые определяют ее
               диаметр,




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Свойства

     Минимальная описанная окружность для P
           определена однозначно
           проходит
               либо ровно через две точки из P, которые определяют ее
               диаметр,
               либо по крайней мере через три точки из P




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Обозначения




     Пусть 1 ≤ i ≤ n




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Обозначения




     Пусть 1 ≤ i ≤ n
     Pi = {p1 , . . . , pi }




                           Кира Вяткина   Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Обозначения




     Пусть 1 ≤ i ≤ n
     Pi = {p1 , . . . , pi }
     Ci – минимальная описанная окружность для Pi




                           Кира Вяткина   Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Генерация случайной перестановки


  RandomPermutation(A)
  1 for k ← n downto 2
  2       do rndIndex ← Random(k)
  3          A[k] ↔ A[rndIndex]


     A – множество элементов, представленное при помощи
     массива
     Random(k) генерирует случайное целое из диапазона
     [1, k] за время O(1)




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Генерация случайной перестановки


  RandomPermutation(A)
  1 for k ← n downto 2
  2       do rndIndex ← Random(k)
  3          A[k] ↔ A[rndIndex]


     A – множество элементов, представленное при помощи
     массива
     Random(k) генерирует случайное целое из диапазона
     [1, k] за время O(1)
     ∀a ∈ A, вероятность нахождения a на месте j в случайной
     перестановке составляет 1/n, где 1 ≤ j ≤ n


                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 1


    Если pi – внутри Ci −1 , то Ci = Ci −1
    Если pi – вне Ci −1 , то Ci проходит через pi




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 1


    Если pi – внутри Ci −1 , то Ci = Ci −1
    Если pi – вне Ci −1 , то Ci проходит через pi


                             pi+1

                                                  Ci+1
                                         pi


                                               Ci-1=Ci




                         Кира Вяткина         Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Построение



  MinCircle(P)
  1 Сгенерировать случайную перестановку точек из P
  2 C2 ← окружность с диаметром p1 p2
  3 for i ← 3 to n
  4       do if pi – внутри Ci −1
  5             then Ci ← Ci −1
  6             else Ci ← MinCircle-1(Pi −1 , pi )




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 2



    q – точка на плоскости, такая, что существует описанная
    окружность для P, проходящая через q




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 2



    q – точка на плоскости, такая, что существует описанная
    окружность для P, проходящая через q
    Ciq – минимальная описанная окружность для Pi ,
    проходящая через q




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 2



    q – точка на плоскости, такая, что существует описанная
    окружность для P, проходящая через q
    Ciq – минимальная описанная окружность для Pi ,
    проходящая через q

    Если pi – внутри Ciq , то Ciq = Ciq
                       −1             −1
    Если pi – вне Ciq , то Ciq проходит через pi
                    −1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Построение: одна фиксированная точка



  MinCircle-1(P,q)
  1 Сгенерировать случайную перестановку точек из P
  2 C1 ← окружность с диаметром p1 q
  3 for j ← 2 to n
  4       do if pj – внутри Cj−1
  5             then Cj ← Cj−1
  6             else Cj ← MinCircle-2(Pj−1 , pj , q)




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 3



    q1 , q2 – точки на плоскости, такие, что существует
    описанная окружность для P, проходящая через q1 и q2




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 3



    q1 , q2 – точки на плоскости, такие, что существует
    описанная окружность для P, проходящая через q1 и q2
    Ciq1 ,q2 – минимальная описанная окружность для Pi ,
    проходящая через q1 и q2




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Лемма 3



    q1 , q2 – точки на плоскости, такие, что существует
    описанная окружность для P, проходящая через q1 и q2
    Ciq1 ,q2 – минимальная описанная окружность для Pi ,
    проходящая через q1 и q2

    Если pi – внутри Ciq1 ,q2 , то Ciq1 ,q2 = Ciq1 ,q2
                       −1                       −1
    Если pi – вне Ciq1 ,q2 , то Ciq1 ,q2 проходит через pi
                    −1




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
       Минимальная описанная окружность
       Треугольник минимальной площади


Построение: две фиксированных точки




  MinCircle-2(P,q1 , q2 )
  1 C0 ← окружность с диаметром q1 q2
  2 for k ← 1 to n
  3       do if pk – внутри Ck−1
  4             then Ck ← Ck−1
  5             else Ck ← окружность, проходящая через q1 , q2 и pk




                          Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                  O(j) 2 = O(n)
                                                              j
                                                   j=2




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                  O(j) 2 = O(n)
                                                              j
                                                   j=2
     MinCircle(P):




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                  O(j) 2 = O(n)
                                                              j
                                                   j=2
     MinCircle(P):
         Вероятность вызова MinCircle-1 на итерации i не
         превосходит 3/i




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                   O(j) 2 = O(n)
                                                               j
                                                   j=2
     MinCircle(P):
         Вероятность вызова MinCircle-1 на итерации i не
         превосходит 3/i
                                                    n
         Ожидаемое время работы: O(n) +                   O(i) 3 = O(n)
                                                               i
                                                   i =3




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                   O(j) 2 = O(n)
                                                               j
                                                   j=2
     MinCircle(P):
         Вероятность вызова MinCircle-1 на итерации i не
         превосходит 3/i
                                                    n
         Ожидаемое время работы: O(n) +                   O(i) 3 = O(n)
                                                               i
                                                   i =3
     Ожидаемое время построения минимальной описанной
     окружности: O(n)


                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Анализ сложности
     MinCircle-2(P):
         Время работы: O(n)
     MinCircle-1(P):
         Вероятность вызова MinCircle-2 на итерации j не
         превосходит 2/j
                                                    n
         Ожидаемое время работы: O(n) +                   O(j) 2 = O(n)
                                                               j
                                                   j=2
     MinCircle(P):
         Вероятность вызова MinCircle-1 на итерации i не
         превосходит 3/i
                                                    n
         Ожидаемое время работы: O(n) +                   O(i) 3 = O(n)
                                                               i
                                                   i =3
     Ожидаемое время построения минимальной описанной
     окружности: O(n)
     Затраты памяти: O(n)
                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
        Минимальная описанная окружность
        Треугольник минимальной площади


План доклада



  1   Выпуклые оболочки


  2   Минимальная описанная окружность


  3   Треугольник минимальной площади




                           Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Треугольник минимальной площади




     Дано множество P из n точек на плоскости




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Треугольник минимальной площади




     Дано множество P из n точек на плоскости
     Найти треугольник минимальной площади с вершинами в
     трех различных вершинах из P




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Нелокальность




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Нелокальность




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)        →    ℓ: y = ax + b
                ℓ: y = kx + d         →    p = (−k, d)
                   y                                    y




                                  x                                    x




                         Кира Вяткина     Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)          →    ℓ: y = ax + b
                ℓ: y = kx + d           →    p = (−k, d)
                   y                                      y




                       p1           x                                    x


                                                    l1




                            Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)          →    ℓ: y = ax + b
                ℓ: y = kx + d           →    p = (−k, d)
                   y                                       y


                        p2

                       p1           x            l2                      x


                                                      l1




                            Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)          →    ℓ: y = ax + b
                ℓ: y = kx + d           →    p = (−k, d)
                   y                                            y


                        p2

                       p1           x            l2                      x
                        p3
                                                           l3
                                                      l1




                            Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                       p = (a, b)         →    ℓ: y = ax + b
                   ℓ: y = kx + d          →    p = (−k, d)
                     y                                             y

                                                         l4
                          p2

                         p1           x            l2                      x
              p4
                          p3
                                                              l3
                                                        l1




                              Кира Вяткина    Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                       p = (a, b)          →    ℓ: y = ax + b
                   ℓ: y = kx + d           →    p = (−k, d)
                     y                                              y

                                                          l4
                          p2                                            p13
                         p1            x            l2                        x
              p4
                          p3
                                 l13                           l3
                                                         l1




                              Кира Вяткина     Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)            →    ℓ: y = ax + b
                ℓ: y = kx + d             →    p = (−k, d)
                    y                                           y



               p5                                                   p13
                        p1            x                                    x
                                                                      l5
                         p3
                                l13                        l3
                                                      l1




                             Кира Вяткина     Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Преобразование двойственности


                    p = (a, b)            →    ℓ: y = ax + b
                ℓ: y = kx + d             →    p = (−k, d)
                    y                                           y


                    h
               p5                                                       p13
                                                                    h
                        p1            x                                        x
                                                                          l5
                         p3
                                l13                        l3
                                                      l1




                             Кира Вяткина     Вычислительная геометрия: иллюстрации
Выпуклые оболочки
      Минимальная описанная окружность
      Треугольник минимальной площади


Двойственная постановка задачи




                         Кира Вяткина    Вычислительная геометрия: иллюстрации
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina
20110306 csseminar cg_illustrations_vyatkina

Más contenido relacionado

Más de Computer Science Club

20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugsComputer Science Club
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugsComputer Science Club
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12Computer Science Club
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11Computer Science Club
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10Computer Science Club
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09Computer Science Club
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02Computer Science Club
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01Computer Science Club
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04Computer Science Club
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01Computer Science Club
 

Más de Computer Science Club (20)

20141223 kuznetsov distributed
20141223 kuznetsov distributed20141223 kuznetsov distributed
20141223 kuznetsov distributed
 
Computer Vision
Computer VisionComputer Vision
Computer Vision
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs20140531 serebryany lecture02_find_scary_cpp_bugs
20140531 serebryany lecture02_find_scary_cpp_bugs
 
20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs20140531 serebryany lecture01_fantastic_cpp_bugs
20140531 serebryany lecture01_fantastic_cpp_bugs
 
20140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture1220140511 parallel programming_kalishenko_lecture12
20140511 parallel programming_kalishenko_lecture12
 
20140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture1120140427 parallel programming_zlobin_lecture11
20140427 parallel programming_zlobin_lecture11
 
20140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture1020140420 parallel programming_kalishenko_lecture10
20140420 parallel programming_kalishenko_lecture10
 
20140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture0920140413 parallel programming_kalishenko_lecture09
20140413 parallel programming_kalishenko_lecture09
 
20140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture0220140329 graph drawing_dainiak_lecture02
20140329 graph drawing_dainiak_lecture02
 
20140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture0120140329 graph drawing_dainiak_lecture01
20140329 graph drawing_dainiak_lecture01
 
20140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-0420140310 parallel programming_kalishenko_lecture03-04
20140310 parallel programming_kalishenko_lecture03-04
 
20140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-0320140223-SuffixTrees-lecture01-03
20140223-SuffixTrees-lecture01-03
 
20140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture0120140216 parallel programming_kalishenko_lecture01
20140216 parallel programming_kalishenko_lecture01
 
20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich20131106 h10 lecture6_matiyasevich
20131106 h10 lecture6_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich20131013 h10 lecture4_matiyasevich
20131013 h10 lecture4_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 
20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich20131006 h10 lecture3_matiyasevich
20131006 h10 lecture3_matiyasevich
 

20110306 csseminar cg_illustrations_vyatkina

  • 1. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Вычислительная геометрия: иллюстрации Кира Вяткина Санкт-Петербургский государственный университет 6 марта 2011г. Кира Вяткина Вычислительная геометрия: иллюстрации
  • 2. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади План доклада 1 Выпуклые оболочки 2 Минимальная описанная окружность 3 Треугольник минимальной площади Кира Вяткина Вычислительная геометрия: иллюстрации
  • 3. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Определение Пусть S ⊂ R2 – некоторое подмножество плоскости Кира Вяткина Вычислительная геометрия: иллюстрации
  • 4. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Определение Пусть S ⊂ R2 – некоторое подмножество плоскости Выпуклая оболочка CH(S) множества S – наименьшее выпуклое множество, содержащее S Кира Вяткина Вычислительная геометрия: иллюстрации
  • 5. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Определение Пусть S ⊂ R2 – некоторое подмножество плоскости Выпуклая оболочка CH(S) множества S – наименьшее выпуклое множество, содержащее S Или: CH(S) – пересечение всех выпуклых множеств, содержащих S Кира Вяткина Вычислительная геометрия: иллюстрации
  • 6. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Для множества точек Пусть P – множество из n точек на плоскости Кира Вяткина Вычислительная геометрия: иллюстрации
  • 7. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Для множества точек Пусть P – множество из n точек на плоскости CH(P) – выпуклый многоугольник с вершинами в некоторых точках из S Кира Вяткина Вычислительная геометрия: иллюстрации
  • 8. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Сложность построения Модель вычислений: вещественнозначная РАМ равнодоступная адресная машина Кира Вяткина Вычислительная геометрия: иллюстрации
  • 9. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Сложность построения Модель вычислений: вещественнозначная РАМ равнодоступная адресная машина Элементарные операции: арифметические операции операции сравнения косвенная адресация памяти Кира Вяткина Вычислительная геометрия: иллюстрации
  • 10. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Сложность построения Модель вычислений: вещественнозначная РАМ равнодоступная адресная машина Элементарные операции: арифметические операции операции сравнения косвенная адресация памяти аналитические функции Кира Вяткина Вычислительная геометрия: иллюстрации
  • 11. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Сложность построения Модель вычислений: вещественнозначная РАМ равнодоступная адресная машина Элементарные операции: арифметические операции операции сравнения косвенная адресация памяти аналитические функции Нижняя оценка сложности построения выпуклой оболочки: Ω(n log n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 12. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Кира Вяткина Вычислительная геометрия: иллюстрации
  • 13. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 14. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 15. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 16. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 17. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 18. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 19. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 20. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 21. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 22. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 23. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 24. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 25. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 26. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 27. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 28. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 29. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 30. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 31. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 32. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 33. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 34. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 35. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема p8 p5 p6 p7 p4 p3 p9 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 36. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Кира Вяткина Вычислительная геометрия: иллюстрации
  • 37. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Кира Вяткина Вычислительная геометрия: иллюстрации
  • 38. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } Кира Вяткина Вычислительная геометрия: иллюстрации
  • 39. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 40. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Кира Вяткина Вычислительная геометрия: иллюстрации
  • 41. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 42. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 43. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Обход: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 44. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Обход: O(n) Время пропорционально общему числу операций со стеком Кира Вяткина Вычислительная геометрия: иллюстрации
  • 45. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Обход: O(n) Время пропорционально общему числу операций со стеком Каждая из вершин p2 , . . . , pn помещается в стек ровно один раз Кира Вяткина Вычислительная геометрия: иллюстрации
  • 46. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Обход: O(n) Время пропорционально общему числу операций со стеком Каждая из вершин p2 , . . . , pn помещается в стек ровно один раз Следовательно, общее число операций удаления не превосходит n − 1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 47. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод обхода Грэхема Вспомогательная структура данных: стек Корректность алгоритма: Пусть Pi = {p1 , . . . , pi } По завершении i-й итерации стек содержит вершины CH(Pi ) Временн´я сложность: O(n log n) а Нахождение p1 : O(n) Сортировка вершин: O(n log n) Обход: O(n) Время пропорционально общему числу операций со стеком Каждая из вершин p2 , . . . , pn помещается в стек ровно один раз Следовательно, общее число операций удаления не превосходит n − 1 Затраты памяти: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 48. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Кира Вяткина Вычислительная геометрия: иллюстрации
  • 49. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 50. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 51. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 52. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 53. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 54. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 55. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 56. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 57. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p4 p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 58. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p4 p5 p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 59. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p4 p5 p6 p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 60. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса p4 p5 p6 p3 p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 61. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Корректность: Кира Вяткина Вычислительная геометрия: иллюстрации
  • 62. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Корректность: На каждом шаге строится очередное ребро CH(P) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 63. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Корректность: На каждом шаге строится очередное ребро CH(P) Временн´я сложность: O(nh), где h – число вершин CH(P) а Кира Вяткина Вычислительная геометрия: иллюстрации
  • 64. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Корректность: На каждом шаге строится очередное ребро CH(P) Временн´я сложность: O(nh), где h – число вершин CH(P) а Алгоритм, чувствительный к выходу Кира Вяткина Вычислительная геометрия: иллюстрации
  • 65. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Метод Джарвиса Корректность: На каждом шаге строится очередное ребро CH(P) Временн´я сложность: O(nh), где h – число вершин CH(P) а Алгоритм, чувствительный к выходу Затраты памяти: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 66. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Хронология 1972: метод обхода Грэхема, O(n log n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 67. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Хронология 1972: метод обхода Грэхема, O(n log n) 1973: метод Джарвиса, O(nh) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 68. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Хронология 1972: метод обхода Грэхема, O(n log n) 1973: метод Джарвиса, O(nh) 1986: алгоритм Киркпатрика и Зейделя, O(n log h) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 69. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Хронология 1972: метод обхода Грэхема, O(n log n) 1973: метод Джарвиса, O(nh) 1986: алгоритм Киркпатрика и Зейделя, O(n log h) Сложный алгоритм Кира Вяткина Вычислительная геометрия: иллюстрации
  • 70. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Хронология 1972: метод обхода Грэхема, O(n log n) 1973: метод Джарвиса, O(nh) 1986: алгоритм Киркпатрика и Зейделя, O(n log h) Сложный алгоритм 1996: алгоритм Чена, O(n log h) Простой алгоритм Кира Вяткина Вычислительная геометрия: иллюстрации
  • 71. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Зафиксируем m ≤ n Кира Вяткина Вычислительная геометрия: иллюстрации
  • 72. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Зафиксируем m ≤ n n Положим r = ⌈ m ⌉ Кира Вяткина Вычислительная геометрия: иллюстрации
  • 73. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Зафиксируем m ≤ n n Положим r = ⌈ m ⌉ Разобьем P на r подмножеств P1 , . . . , Pr |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m Кира Вяткина Вычислительная геометрия: иллюстрации
  • 74. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Зафиксируем m ≤ n n Положим r = ⌈ m ⌉ Разобьем P на r подмножеств P1 , . . . , Pr |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m Для каждого подмножества Pi построим CH(Pi ) методом обхода Грэхема Кира Вяткина Вычислительная геометрия: иллюстрации
  • 75. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Зафиксируем m ≤ n n Положим r = ⌈ m ⌉ Разобьем P на r подмножеств P1 , . . . , Pr |P1 | = · · · = |Pr −1 | = m, |Pr | ≤ m Для каждого подмножества Pi построим CH(Pi ) методом обхода Грэхема К полученным выпуклым оболочкам применим метод Джарвиса Кира Вяткина Вычислительная геометрия: иллюстрации
  • 76. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Кира Вяткина Вычислительная геометрия: иллюстрации
  • 77. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Кира Вяткина Вычислительная геометрия: иллюстрации
  • 78. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена Кира Вяткина Вычислительная геометрия: иллюстрации
  • 79. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 80. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 81. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 82. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 83. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Алгоритм Чена p2 p1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 84. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Кира Вяткина Вычислительная геометрия: иллюстрации
  • 85. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Кира Вяткина Вычислительная геометрия: иллюстрации
  • 86. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Кира Вяткина Вычислительная геометрия: иллюстрации
  • 87. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Кира Вяткина Вычислительная геометрия: иллюстрации
  • 88. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Построение опорной прямой к CH(Pi ): O(log m) времени Кира Вяткина Вычислительная геометрия: иллюстрации
  • 89. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Построение опорной прямой к CH(Pi ): O(log m) времени Нахождение очередной вершины CH(P): O(r log m) времени Кира Вяткина Вычислительная геометрия: иллюстрации
  • 90. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Построение опорной прямой к CH(Pi ): O(log m) времени Нахождение очередной вершины CH(P): O(r log m) времени Нахождение всех вершин CH(P): n O(hr log m) = O(h · m · log m) времени Кира Вяткина Вычислительная геометрия: иллюстрации
  • 91. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Построение опорной прямой к CH(Pi ): O(log m) времени Нахождение очередной вершины CH(P): O(r log m) времени Нахождение всех вершин CH(P): n O(hr log m) = O(h · m · log m) времени n Общее время работы алгоритма: O n+h· m log m Кира Вяткина Вычислительная геометрия: иллюстрации
  • 92. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Предварительный анализ сложности Предобработка: Построение CH(Pi ): O(m log m) времени Построение всех выпуклых оболочек: O(rm log m) = O(n log m) времени Основной цикл: Построение опорной прямой к CH(Pi ): O(log m) времени Нахождение очередной вершины CH(P): O(r log m) времени Нахождение всех вершин CH(P): n O(hr log m) = O(h · m · log m) времени n Общее время работы алгоритма: O n+h· m log m При m = h: O(n log h) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 93. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Частичное построение выпуклой оболочки PartialHull(P,m) n 1 r ← ⌈m⌉ 2 P → P1 , . . . , Pr 3 for i ← 1 to r 4 do Построить CH(Pi ) 5 p1 ← точка из P с наименьшей ординатой (в случае неоднозначности – самая левая из таковых) 6 for k ← 1 to m 7 do Найти вершину pk+1 выпуклой оболочки CH(P) 8 if pk+1 = p1 9 then return (“(p1 , . . . , pk )”) 10 return “m слишком мало” Кира Вяткина Вычислительная геометрия: иллюстрации
  • 94. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Частичное построение выпуклой оболочки PartialHull(P,m) n 1 r ← ⌈m⌉ 2 P → P1 , . . . , Pr 3 for i ← 1 to r £ O(r · m log m) = O(n log m) 4 do Построить CH(Pi ) 5 p1 ← точка из P с наименьшей ординатой (в случае неоднозначности – самая левая из таковых) 6 for k ← 1 to m £ O(m · r log m) = O(n log m) 7 do Найти вершину pk+1 выпуклой оболочки CH(P) 8 if pk+1 = p1 9 then return (“(p1 , . . . , pk )”) 10 return “m слишком мало” Кира Вяткина Вычислительная геометрия: иллюстрации
  • 95. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Частичное построение выпуклой оболочки PartialHull(P,m) n 1 r ← ⌈m⌉ 2 P → P1 , . . . , Pr 3 for i ← 1 to r 4 do Построить CH(Pi ) 5 p1 ← точка из P с наименьшей ординатой (в случае неоднозначности – самая левая из таковых) 6 for k ← 1 to m 7 do Найти вершину pk+1 выпуклой оболочки CH(P) 8 if pk+1 = p1 9 then return (“(p1 , . . . , pk )”) 10 return “m слишком мало” Время работы: O(n log m) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 96. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Итоговый алгоритм ConvexHull(P) 1 for t ← 1, 2, 3, . . . t 2 do m ← min{22 , n} 3 L ← PartialHull(P,m) 4 if L = “m слишком мало” 5 then return L Кира Вяткина Вычислительная геометрия: иллюстрации
  • 97. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Итоговый алгоритм ConvexHull(P) 1 for t ← 1, 2, 3, . . . t 2 do m ← min{22 , n} 3 L ← PartialHull(P,m) 4 if L = “m слишком мало” 5 then return L Алгоритм завершит работу при t = ⌈log log h⌉ Кира Вяткина Вычислительная геометрия: иллюстрации
  • 98. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности t Время выполнения итерации t: O(n log 22 ) = O(n · 2t ) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 99. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности t Время выполнения итерации t: O(n log 22 ) = O(n · 2t ) ⌈log log h⌉ Общее время работы алгоритма: O(n · 2t ) t=1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 100. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности t Время выполнения итерации t: O(n log 22 ) = O(n · 2t ) ⌈log log h⌉ Общее время работы алгоритма: O(n · 2t ) t=1 ⌈log log h⌉ n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h t=1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 101. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности t Время выполнения итерации t: O(n log 22 ) = O(n · 2t ) ⌈log log h⌉ Общее время работы алгоритма: O(n · 2t ) t=1 ⌈log log h⌉ n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h t=1 Временн´я сложность алгоритма Чена: O(n log h) а Кира Вяткина Вычислительная геометрия: иллюстрации
  • 102. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности t Время выполнения итерации t: O(n log 22 ) = O(n · 2t ) ⌈log log h⌉ Общее время работы алгоритма: O(n · 2t ) t=1 ⌈log log h⌉ n · 2t < n · 2⌈log log h⌉+1 < 4n · 2log log h = 4n log h t=1 Временн´я сложность алгоритма Чена: O(n log h) а Затраты памяти: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 103. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади План доклада 1 Выпуклые оболочки 2 Минимальная описанная окружность 3 Треугольник минимальной площади Кира Вяткина Вычислительная геометрия: иллюстрации
  • 104. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Минимальная описанная окружность Дано множество P из n точек на плоскости Кира Вяткина Вычислительная геометрия: иллюстрации
  • 105. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Минимальная описанная окружность Дано множество P из n точек на плоскости Построить окружность минимального радиуса, содержащую внутри все точки из P Кира Вяткина Вычислительная геометрия: иллюстрации
  • 106. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Свойства Минимальная описанная окружность для P определена однозначно Кира Вяткина Вычислительная геометрия: иллюстрации
  • 107. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Свойства Минимальная описанная окружность для P определена однозначно проходит либо ровно через две точки из P, которые определяют ее диаметр, Кира Вяткина Вычислительная геометрия: иллюстрации
  • 108. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Свойства Минимальная описанная окружность для P определена однозначно проходит либо ровно через две точки из P, которые определяют ее диаметр, либо по крайней мере через три точки из P Кира Вяткина Вычислительная геометрия: иллюстрации
  • 109. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Обозначения Пусть 1 ≤ i ≤ n Кира Вяткина Вычислительная геометрия: иллюстрации
  • 110. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Обозначения Пусть 1 ≤ i ≤ n Pi = {p1 , . . . , pi } Кира Вяткина Вычислительная геометрия: иллюстрации
  • 111. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Обозначения Пусть 1 ≤ i ≤ n Pi = {p1 , . . . , pi } Ci – минимальная описанная окружность для Pi Кира Вяткина Вычислительная геометрия: иллюстрации
  • 112. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Генерация случайной перестановки RandomPermutation(A) 1 for k ← n downto 2 2 do rndIndex ← Random(k) 3 A[k] ↔ A[rndIndex] A – множество элементов, представленное при помощи массива Random(k) генерирует случайное целое из диапазона [1, k] за время O(1) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 113. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Генерация случайной перестановки RandomPermutation(A) 1 for k ← n downto 2 2 do rndIndex ← Random(k) 3 A[k] ↔ A[rndIndex] A – множество элементов, представленное при помощи массива Random(k) генерирует случайное целое из диапазона [1, k] за время O(1) ∀a ∈ A, вероятность нахождения a на месте j в случайной перестановке составляет 1/n, где 1 ≤ j ≤ n Кира Вяткина Вычислительная геометрия: иллюстрации
  • 114. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 1 Если pi – внутри Ci −1 , то Ci = Ci −1 Если pi – вне Ci −1 , то Ci проходит через pi Кира Вяткина Вычислительная геометрия: иллюстрации
  • 115. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 1 Если pi – внутри Ci −1 , то Ci = Ci −1 Если pi – вне Ci −1 , то Ci проходит через pi pi+1 Ci+1 pi Ci-1=Ci Кира Вяткина Вычислительная геометрия: иллюстрации
  • 116. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Построение MinCircle(P) 1 Сгенерировать случайную перестановку точек из P 2 C2 ← окружность с диаметром p1 p2 3 for i ← 3 to n 4 do if pi – внутри Ci −1 5 then Ci ← Ci −1 6 else Ci ← MinCircle-1(Pi −1 , pi ) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 117. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 2 q – точка на плоскости, такая, что существует описанная окружность для P, проходящая через q Кира Вяткина Вычислительная геометрия: иллюстрации
  • 118. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 2 q – точка на плоскости, такая, что существует описанная окружность для P, проходящая через q Ciq – минимальная описанная окружность для Pi , проходящая через q Кира Вяткина Вычислительная геометрия: иллюстрации
  • 119. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 2 q – точка на плоскости, такая, что существует описанная окружность для P, проходящая через q Ciq – минимальная описанная окружность для Pi , проходящая через q Если pi – внутри Ciq , то Ciq = Ciq −1 −1 Если pi – вне Ciq , то Ciq проходит через pi −1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 120. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Построение: одна фиксированная точка MinCircle-1(P,q) 1 Сгенерировать случайную перестановку точек из P 2 C1 ← окружность с диаметром p1 q 3 for j ← 2 to n 4 do if pj – внутри Cj−1 5 then Cj ← Cj−1 6 else Cj ← MinCircle-2(Pj−1 , pj , q) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 121. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 3 q1 , q2 – точки на плоскости, такие, что существует описанная окружность для P, проходящая через q1 и q2 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 122. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 3 q1 , q2 – точки на плоскости, такие, что существует описанная окружность для P, проходящая через q1 и q2 Ciq1 ,q2 – минимальная описанная окружность для Pi , проходящая через q1 и q2 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 123. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Лемма 3 q1 , q2 – точки на плоскости, такие, что существует описанная окружность для P, проходящая через q1 и q2 Ciq1 ,q2 – минимальная описанная окружность для Pi , проходящая через q1 и q2 Если pi – внутри Ciq1 ,q2 , то Ciq1 ,q2 = Ciq1 ,q2 −1 −1 Если pi – вне Ciq1 ,q2 , то Ciq1 ,q2 проходит через pi −1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 124. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Построение: две фиксированных точки MinCircle-2(P,q1 , q2 ) 1 C0 ← окружность с диаметром q1 q2 2 for k ← 1 to n 3 do if pk – внутри Ck−1 4 then Ck ← Ck−1 5 else Ck ← окружность, проходящая через q1 , q2 и pk Кира Вяткина Вычислительная геометрия: иллюстрации
  • 125. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Кира Вяткина Вычислительная геометрия: иллюстрации
  • 126. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 127. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Кира Вяткина Вычислительная геометрия: иллюстрации
  • 128. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j Кира Вяткина Вычислительная геометрия: иллюстрации
  • 129. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 130. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 MinCircle(P): Кира Вяткина Вычислительная геометрия: иллюстрации
  • 131. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 MinCircle(P): Вероятность вызова MinCircle-1 на итерации i не превосходит 3/i Кира Вяткина Вычислительная геометрия: иллюстрации
  • 132. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 MinCircle(P): Вероятность вызова MinCircle-1 на итерации i не превосходит 3/i n Ожидаемое время работы: O(n) + O(i) 3 = O(n) i i =3 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 133. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 MinCircle(P): Вероятность вызова MinCircle-1 на итерации i не превосходит 3/i n Ожидаемое время работы: O(n) + O(i) 3 = O(n) i i =3 Ожидаемое время построения минимальной описанной окружности: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 134. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Анализ сложности MinCircle-2(P): Время работы: O(n) MinCircle-1(P): Вероятность вызова MinCircle-2 на итерации j не превосходит 2/j n Ожидаемое время работы: O(n) + O(j) 2 = O(n) j j=2 MinCircle(P): Вероятность вызова MinCircle-1 на итерации i не превосходит 3/i n Ожидаемое время работы: O(n) + O(i) 3 = O(n) i i =3 Ожидаемое время построения минимальной описанной окружности: O(n) Затраты памяти: O(n) Кира Вяткина Вычислительная геометрия: иллюстрации
  • 135. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади План доклада 1 Выпуклые оболочки 2 Минимальная описанная окружность 3 Треугольник минимальной площади Кира Вяткина Вычислительная геометрия: иллюстрации
  • 136. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Треугольник минимальной площади Дано множество P из n точек на плоскости Кира Вяткина Вычислительная геометрия: иллюстрации
  • 137. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Треугольник минимальной площади Дано множество P из n точек на плоскости Найти треугольник минимальной площади с вершинами в трех различных вершинах из P Кира Вяткина Вычислительная геометрия: иллюстрации
  • 138. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Нелокальность Кира Вяткина Вычислительная геометрия: иллюстрации
  • 139. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Нелокальность Кира Вяткина Вычислительная геометрия: иллюстрации
  • 140. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y x x Кира Вяткина Вычислительная геометрия: иллюстрации
  • 141. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y p1 x x l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 142. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y p2 p1 x l2 x l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 143. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y p2 p1 x l2 x p3 l3 l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 144. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y l4 p2 p1 x l2 x p4 p3 l3 l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 145. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y l4 p2 p13 p1 x l2 x p4 p3 l13 l3 l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 146. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y p5 p13 p1 x x l5 p3 l13 l3 l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 147. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Преобразование двойственности p = (a, b) → ℓ: y = ax + b ℓ: y = kx + d → p = (−k, d) y y h p5 p13 h p1 x x l5 p3 l13 l3 l1 Кира Вяткина Вычислительная геометрия: иллюстрации
  • 148. Выпуклые оболочки Минимальная описанная окружность Треугольник минимальной площади Двойственная постановка задачи Кира Вяткина Вычислительная геометрия: иллюстрации