потенциальное новое отклонение
p
y
:=(7i
7
+
п
л
+n
h
+
7t
y
.)/3,
которое воз-
никнет при его коллапсе.
Шаг 4. Для каждого треугольника
tje.T,
соединяющего узлы р
Л
,
p
h
и p
h
, вычисляем отклонение его центра от исходной модели т
у
:=0 и
потенциальное отклонение х
}
:=
(
n
j
t
+71
;
2
+л,-
2
+^
/з
+й
>з
)/6 , которое
возникнет при его коллапсе.
Я/яг 5. Все объекты триангуляции - узлы, ребра и треугольники -
помещаем в сбалансированное дерево поиска по значениям я.Лп^, р
у
+ р,
и т
;
+ т
•
соответственно.
Шаг 5. Пока не будет превышена допустимая точность или будет
достигнуто заданное количество треугольников, выполняется следующий
цикл. В триангуляции выбирается объект (узел, ребро или треугольник) с
минимальным значением величин Uj + n
j
, р
7
+ р
у
или т
}
+ т
у
. В соответст-
вии с найденным минимумом выполняется удаление узла, коллапс ребра
или коллапс треугольника. После этого необходимо выполнить расчет те-
кущих и потенциальных отклонений для всех вновь появившихся объектов
триангуляции и обновить дерево поиска. Коней алгоритма.
Трудоемкость данного алгоритма зависит главным образом от слож-
ности расчета отклонений для вновь появившихся объектов триангуляции,
когда необходимо находить в исходной триангуляции треугольник, в кото-
рый попадает исследуемая точка. Если для исходной триангуляции имеет-
ся кэш поиска (как в алгоритмах триангуляции с кэшированием), то поиск
одной точки будет происходить в среднем за время 0(1). Так как в сред-
нем при одной локальной модификации триангуляции затрагивается 0(1)
объектов, а обновление дерева поиска занимает время 0(logrt
4
.), где п. -
текущий размер триангуляции, то в целом данный алгоритм имеет трудо-
емкость в среднем около 0(N log N).
Из двух стратегий «сверху вниз» и «снизу вверх» следует отметить,
что первая из них, как правило, работает точнее при одинаковом наборе
изменяющих операций (удаление/вставка узлов). Однако последняя стра-
тегия в среднем работает быстрее и в ней можно использовать другие опе-
рации (например, коллапс рёбер и треугольников), что также может в ряде
случаев повысить качество работы [24]. Кроме того, заметим, что для реа-
лизации первой стратегии достаточно процедур, предоставляемых любым
итеративным алгоритм триангуляции, в то же время для второй необходи-
мы дополнительные алгоритмы для удаления точек, коллапса рёбер и тре-
угольников, которые имеют свои сложности в реализации.