колеблется от 2 до 25 и больше) превышает общее число различных тре-
угольников, присутствовавших в триангуляции на разных шагах её по-
строения. Поэтому основная идея алгоритма проверки через заранее вы-
численные окружности заключается в предварительном вычислении для
каждого построенного треугольника центра и радиуса описанной вокруг
него окружности, после чего проверка условия Делоне будет сводиться к
вычислению расстояния до центра этой окружности и сравнению результа-
та с радиусом. Таким образом, центр (х
г
,у
г
) и радиус г окружности, опи-
санной вокруг треугольника А((х
1
,у,),(л
2
,
V
2
),(A'
3
,^))
, можно найти как
x
c
=b/2a,
у
с
=-с/2а, г
2
- (/г +с
2
-4ad)/4a
2
, где значения
a,b,c,d
опре-
делены выше в (1).
Тогда условие Делоне для треугольника A((-X
p
у,),(*
2
>у
2
)Л^У
3
)) бу-
дет выполняться только тогда, когда для любой другой точки
(*
0
,у
0
)
три-
ангуляции U
0
- х
с
)
2
+ (у
0
- у
с
)
2
> г
2
.
Реализация такой процедуры проверки требует для каждого тре-
угольника 36 операций умножения, возведения в квадрат и деления, а так-
же 22 операций сложения и вычитания. На этапе непосредственного вы-
полнения проверок требуется всего только 2 возведения в квадрат, 2 вычи-
тания, 1 сложение и 1 сравнение.
Теперь заметим, что для каждого треугольника знать параметры опи-
санной окружность и не обязательно. Проверка условия Делоне всегда вы-
полняется для некоторой пары треугольников, а поэтому достаточно знать
окружность только одного из этих треугольников. Тогда будем вычислять
параметры описанной окружности лишь в том случае, если в паре анализи-
руемых треугольников еще не вычислена ни одна окружность.
При таком подходе в среднем на
25-^45%
(в зависимости от исполь-
зуемого алгоритма триангуляции) уменьшается количество треугольников,
для которых необходимо вычислить описанные окружности. Таким обра-
зом, в среднем на один треугольник требуется
22-27
операций типа умно-
жения и 13-17 операций типа сложения.
Если принять, что алгоритм триангуляции тратит в среднем по 5
проверок на каждый треугольник, то в среднем данный способ проверки
требует около 6-7 операций типа умножения и 6 операций типа сложения.
Если алгоритм тратит в среднем по 12 проверок на каждый треугольник, то
соответственно - 4 и 4 операции. Точная же оценка среднего числа опера-
ций должна выполняться для конкретного алгоритма триангуляции и ти-
пичных видов исходных данных.