У

Серия 1

Серия 2

11,1
11,2

Пусто

11,4
5,16
5,6 16,5
4,7 19,2
3,8 19,2
7,2
7,2 19,2
7,2

Пусто

Такое представление пиксельной карты иногда называют ее представлением формы (shape representation) [Steinhart, 190; Atkinson, 6]. Иногда его еще называют «г/-сортированным списком х-сорти-рованных прямоугольников». Отметим, что посредством такого представления можно описать любую совокупность пикселов в пиксельной карте, в том числе набор из отдельных областей. Оно может описать даже группу изолированных пикселов, хотя это было бы и неэффективным.

Области, представленные в рамках этого метода, описываются наиболее компактно, если они обладают связностью интервала или связностью развертки, которые были описаны ранее. Области с высокой степенью связности требуют для своей характеристики меньшего количества данных в расчете на пиксел.

А что если пикселы могут принимать более чем два значения? Один из подходов состоит в том, чтобы выявить все одноцветные прямоугольники и сохранить их вместе с их значением цвета. (Как и прежде, фон не требуется сохранять в явном виде.)

При получении указателя на структуру данных область заполняется в процессе прохода по спискам, причем каждая серия закрашивается по мере ее вычисления. Обе эти подпрограммы рассматриваются в дальнейшем - в тематическом задании 10.4.

Масштабирование и перемещение областей Представление области в виде «формы» может также оказаться полезным в тех случаях, когда мы хотим манипулировать этими областями другими способами. Например, для того, чтобы сдвинуть область, представленную в виде «формы», простирающейся на 30 пикселов по х и на 55 пикселов по у, мы просто проходим по списку и увеличиваем все значения х на 30 единиц, а все значения у на 55 единиц. Для увеличения размера области в два раза мы вначале смещаем ее так, чтобы начальная серия находилась в начале координат (0,0), а затем удваиваем все значения в структуре данных. Наконец, перемещаем область в нужную позицию.


⇐ Предыдущая| |Следующая ⇒