Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Graphica_12_Kulikov_Ovchinnikova.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.04 Mб
Скачать

9.3 Вопросы и упражнения

  1. Что означает понятие : вычислительная сложность алгоритма?

  2. Опишите алгоритм бинарного поиска.

  3. Дайте определение выпуклого множества в пространстве En

  4. Доказать что пересечение любой совокупности выпуклых множеств является выпуклым.

  5. Привести пример многоугольника на плоскости, который не является простым.

  6. Доказать что для любого множества на плоскости существует выпуклая оболочка.

  7. Предложить алгоритм разбиения простого многоугольника на треугольники

10. Триангуляция Делоне и диаграмма Вороного

10.1 Введение

Задача построения триангуляции является одной из базовых в вычислительной геометрии. К ней сводятся многие практические задачи. Например, задачи, связанные с определением топологических свойств объектов или восстановлением поверхностей, заданных нерегулярными наборами отсчётов. Наконец, практически все системы визуализации основаны на подобных геометрических моделях.

Разбиение плоскости на треугольники или пространства на тетраэдры по заданным точкам позволяет получить представление о связях между точками, интерполировать различные значения на плоскости и в пространстве, строить другие структуры.

Разработка эффективных алгоритмов триангуляции была и остаётся очень актуальной задачей. И, несмотря на всё разнообразие математических, графических пакетов и вычислительных средств бывает необходимо использовать независимый, легко настраиваемый, быстрый, надёжный алгоритм триангуляции.

Приведем формальное определение триангуляции.

Триангуляцией (тетраэдеризацией, в трёхмерном случае) конечного множества точек N называется такое разбиение выпуклой оболочки N на треугольники (тетраэдры), что выполняются следующие требования:

  1. каждая точка выпуклой оболочки N принадлежит какому-то треугольнику (тетраэдру)

  2. треугольники (тетраэдры) не имеют общих внутренних точек

  3. вершинами треугольников (тетраэдров) являются точки из N

  4. каждая точка N является вершиной какого-то треугольника (тетраэдра)

Среди нескольких известных видов триангуляций на практике обычно применяется триангуляция Делоне, которая должна удовлетворять простому локальному условию: никакая точка не может лежать внутри сферы, описанной вокруг тетраэдра Делоне (для плоского случая – внутри окружности, описанной вокруг треугольника Делоне). Условие Делоне относительно просто проверить. Кроме этого, из всех возможных триангуляций, триангуляция Делоне (на плоскости) имеет самый большой минимальный угол среди минимальных углов всех других триангуляций, поэтому полученные треугольники наиболее близки к равносторонним, что повышает точность возможной последующей интерполяции.

10.2 Разбиение Делоне

Метод построения пустого шара Делоне. Симплекс Делоне.

Воспользуемся пустым шаром, который мы будем перемещать, изменяя его размер так, чтобы он мог касаться точек системы {А}, но всегда оставался пустым. Этот мысленный образ, предложенный Делоне, помогает увидеть проблему с новой стороны и яснее понять взаимосвязь и единство разбиений Вороного и Делоне.

Итак, поместим в систему точек {А} пустой шар Делоне. Это всегда возможно, если выбрать шар достаточно малым. Начнем увеличивать его радиус, оставляя центр шара на месте. В какой-то момент поверхность шара встретит некоторую точку i системы {А}. Это обязательно произойдет, ибо в нашей сис­теме нет неограниченно больших пустот. (Мы видим, что условия, наложенные ранее на систему {А}, действительно являются нужными.) Будем продолжать увеличивать радиус пустого шара так, чтобы точка i оставалась на его

Рис. 10.1 Разбиение Делоне двумерной системы точек. Симплексы Делоне заполняют пространство без щелей и наложений. Описанная сфера любого симплекса не содержит внутри себя других точек системы.

поверхности. Для этого придется двигать центр шара от точки i. Неважно, по какой траектории мы будем перемещать центр шара, рано или поздно шар достигнет

своей поверхностью другой точки системы {А}. Пусть это будет точка j. Про­должим увеличивать радиус нашего шара, сохраняя уже обе точки на его повер­хности. Увеличиваясь, шар достигнет какой-то третьей точки системы, точки k. В двумерном случае наш "пустой круг" в этот момент зафиксируется, т.е. ста­нет невозможным дальнейшее увеличение его радиуса при сохранении круга пустым. При этом мы выявляем элементарную двумерную конфигурацию трех точек (i,jk), определяющую некий треугольник, особенностью которого явля­ется то, что внутри его описанной окружности нет других точек системы {А}. В трехмерном пространстве шар не определяется тремя точками. Продолжим уве­личивать его радиус, сохраняя все три найденные точки на его поверхности. Это будет возможно до тех пор, пока поверхность шара не встретится с четвер­той точкой l системы. После этого движение и рост пустого шара станут не­возможными. Найденные четыре точки (i,j,k,l) определяют вершины тетраэд­ра, который характерен тем, что внутри его описанной сферы нет других точек системы {А}. Такой тетраэдр называется симплексом Делоне.

Напомним, что симплексом в математике называют простейшую фигуру в пространстве данной размерности: тетраэдр — в трехмерном пространстве, тре­угольник — в двумерном. Во избежание недоразумений подчеркнем еще раз, что произвольная четверка точек системы, не лежащих в одной плоскости, все­гда определяет некий симплекс. Однако он будет симплексом Делоне только в том случае, если его описанная сфера пуста. Другими словами, симплексы Де­лоне определяются особым выбором четверок точек в системе {А}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]