27.10.2014 Views

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

зом, за не более чем O(n 2 ) операций переключения ребер из произвольной триангуляции<br />

можно получить глобально оптимальную триангуляцию Делоне, где n - число вершин триангуляции.<br />

Трудность заключается в том, нужно еще найти и наилучшее размещение этих<br />

вершин на плоскости. Таким образом, задача минимизации сводится к движению вершин<br />

сетки и переключению ребер, приводящему текущую сетку к триангуляции Делоне.<br />

В настоящее время построены весьма эффективные алгоритмы подвижного фронта,<br />

которые создают сетку с очень малым значением целевой функции слой за слоем, начиная<br />

от внешних или внутренних границ. Однако наличие таких алгоритмов не снимает<br />

необходимости поиска корректной вариационной постановки и алгоритма минимизации<br />

для построения глобально оптимальных расчетных сеток.<br />

Сравнение алгоритмов.<br />

Таким образом, задача оптимизации сеток свелась к поиску оптимального расположения<br />

узлов триангуляции Делоне. При этом начальное приближение строится случайным<br />

образом и обладает весьма плохим качеством, что показано на рис. Можно выделить<br />

несколько известных алгоритмов решения этой задачи.<br />

В алгоритме Ллойда[5] вершины сетки размещаются таким<br />

образом, чтобы они оказались центрами тяжести областей<br />

Вороного. Пусть p - вершина триангуляции, а v i , i =<br />

1, . . . , n p - вершины области Вороного V (p). Точка v i есть<br />

центр круга, описанного вокруг треугольника T i , инцидентного<br />

точке p. Итерационная схема Ллойда очень проста:<br />

p k+1 = 1 ∑<br />

vi k , (1)<br />

n p<br />

Рис. 1: Начальная триангуляция.<br />

где k обозначает номер итерации. После смещения всех вершин<br />

триангуляция Делоне восстанавливается путем переключения<br />

ребер. Эта простая схема пересчета повторяется до сходимости,<br />

или до тех пор, пока качество сетки не оказывается<br />

приемлемым. Обозначим через c(x) центр действия ячейки<br />

Вороного, в которую попала точка x, т.е. ближайшую к x вершину триангуляции Делоне.<br />

Сетка, к которой сходится алгоритм (1), доставляет минимум функционалу<br />

∫<br />

|x − c(x)| 2 dx, (2)<br />

где интеграл берется по объединению конечных ячеек Вороного. Известно, что если устранить<br />

влияние граничных эффектов, то алгоритм Ллойда сходится к центрам наиплотнейшей<br />

упаковки равных кругов на плоскости.<br />

В некоторых случаях быстрее сходится алгоритм Ллойда с весами:<br />

p k+1 =<br />

∑<br />

i<br />

∑<br />

i<br />

v k i area(T k<br />

i )<br />

i<br />

area(T k<br />

i ) (3)<br />

Оба эти алгоритма сталкиваются с серьезными трудностями около границы области.<br />

На рис. 2 а) показан результат работы алгоритма Ллойда, а на рис. 2 б) - результат работы<br />

взвешенного алгоритма Ллойда.<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!