Простейший алгоритм построения изолиний
Простейший алгоритм построения изолиний высотой h можно сформулировать следующим образом:
1.Помечаем каждый треугольник триангуляции, по которому проходят изолинии (т.е. выполняется условие min(z1, z2, z3) < h < max(z1, z2, z3), где zi – высоты трех его вершин), флагом Сi: = 1, а все остальные треугольники – Сi= 0 (рис. 18, а). Если обнаружен хотя бы один треугольник, у которого хотя бы одно ребро лежит в плоскости изолинии, то h уменьшается на некоторое малое Δ и алгоритм повторяется заново.
2. Для каждого треугольника с Ci = 1 выполняем отслеживание очередной изолинии в обе стороны от данного треугольника, пока один конец не выйдет на другой или на границу триангуляции (рис. 18, б). Каждый пройденный при отслеживании треугольник помечается Ci = 0.
Рис. 18. Построение изолиний: а – определение потенциальных треугольников;
б - отслеживание изолинийТрудоемкость такою алгоритма, очевидно, является линейной относительно размера триангуляции.
Главными недостатками многих алгоритмов построения изолиний являются резкие изгибы и сильная осцилляция (колебания) получаемых линий. Это связанно с неравномерностью получаемых узловых точек изолиний и обычно используемым линейным методом интерполяции.