Вычислительные технологии 98
ПРИМЕНЕНИЕ МЕТОДОВ ВЫЧИСЛИТЕЛЬНОЙ ГЕОМЕТРИИ
ДЛЯ АЛГОРИТМИЧЕСКОГО ОПИСАНИЯ ОБЛАСТЕЙ СО СЛОЖНОЙ ГЕОМЕТРИЕЙ
А.И.Куликов
Институт вычислительных технологий СО РАН,
630090 Новосибирск, РОССИЯ,
kulikov@net.ict.nsc.ru
При решении гидродинамических задач область в которой решается задача может иметь довольно сложную форму. Аналогичная ситуация возникает и в том случае, когда в процессе решения строится специальная сетка, например треугольная.
Таким образом возникает проблема эффективного алгоритмического описания сложного геометрического объекта: области или сетки. Для решения этих задач могут быть использованы методы вычислительной геометрии [1,2]. На их основе были созданы алгоритмы построения триангуляции для заданного множества точек, быстрого нахождения ячейки сетки, которой принадлежит заданная точка, геометрического поиска для сложной многосвязной области с кусочно-линейной границей. Эти алгоритмы используют разбиение оси Y, порождаемое множеством взаимопересечений проекций исходных отрезков (ребер сетки либо отрезков, из которых построена кусочно-линейная граница области) (рис. 1).
Алгоритм построения триангуляции множества N точек, параллельно строит и выпуклую оболочку этого множества. При этом его сложность эквивалентна сложности сортировки множества ординат и абсцисс этих точек, т.е. при вещественных координатах точек она равна O(N*LN(N)), а для целочисленных - линейна (рис. 2).
Для описания сложных областей, заданных кусочно-линейной границей, разработаны эффективные растровые и векторные алгоритмы.
Алгоритмы поиска для геометрических объектов (треугольной сетки и области заданной кусочно-линейной границей) используют специальную поисковую структуру, которая рассчитывается для данного объекта только один раз и используется потом при всяком поиске. Время поиска в геометрическом объекте при наличии готовой поисковой структуры пропорционально LN(N), при этом используется метод "дихотомии" (рис. 3).
Особенностью вышеперечисленных алгоритмов является то, что они могут работать с достаточно большими массивами точек.
1. Ахо А. и др. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.
2. Препарата Ф., Шеймос М. Вычислительная геометрия.
М.: Мир, 1989.
Рис.1. Построение разбиения проекций отрезков области на ось
Y.Рис.2. Построение триангуляции с использованием выпуклой оболочки.
Рис.3. Определение ячейки для заданной точки.