10.5. Определение и заполнение областей из пикселов О При символическом определении пикселы не перечисляются, однако описывается некоторое свойство, которым обладают все пикселы области R. Такие описания считаются описаниями «более высокого уровня» пли более абстрактными, чем прямое перечисление пикселов. Ниже приводятся некоторые возможные способы символического описания областей:
все пикселы, лежащие внутри окружности радиуса 8 с центром в точке (5, 23);
все пикселы внутри полигона с вершинами (32, 56), (120, 546), (345, 129), (80, 87). Такая «по-лигонно-определеиная» (polygon-defined) область представляет собой особенно важный случай, который мы позднее рассмотрим более подробно.
Если программист хочет манипулировать с такими областями или анализировать их, он скорее всего выберет совсем другие структуры данных и алгоритмы, - в зависимости от того, как описаны интересующие его области.
Вначале мы исследуем методы работы с пикселыю-определенными областями. Затем рассмотрим методы манипулирования символически-определенными областями, в особенности темп, которые определены через полигоны.
10.5.2. Пиксельно-определенные области Один из способов характеристики пиксельно-определенной области заключается в следующем: область R является множеством всех пикселов цвета С, которые «связаны» с заданный пикселом S.
Такая область называется «внутренне-определенной» («interior defined»), поскольку при данном определении задается природа всех пикселов, лежащих «внутри» R. Однако что же понимается под словом «связаны»? Будем называть два пиксела связными («connected»), если между ними существует непрерывный путь из «смежных» пикселов. Поэтому смысл «связности» зависит от смысла «смежности», для которого в графике существует два обычных определения: О 4-смежность (4-adjacent). Два пиксела являются 4-смежными, если они расположены рядом по горизонтали или по вертикали. Например, пиксел (23, 35) является 4-смежным по отношению к пикселу (23, 36), но не по отношению к пикселу (24, 36).