Re: Алгоритм заливки графической области.
От: Pushkin Россия www.linkbit.com
Дата: 03.03.03 05:59
Оценка:
Здравствуйте, Par-zzz, Вы писали:

PZ>Меня интересует алгоритм заливки произвольной графической области. Область на практике не большая, но в теории может достигать гипер размеров, т.о. рекурсия исключенна. Хотелось бы услышать ваше мнение о такого рода алгоритмах, их оптимальности и сложности. Примеры и ссылки приветствуются.


Предположим у тебя есть двумерный массив RGB.
Чёрный цвет соответствуют границам области.
Белый — в остальных местах.
Надо залить область красным.
Вот простейшая реализация волнового алгоритма.

Начинаем с некоторой точки внутри области.
Кладём её в очередь (массив или список точек (x,y)).

Далее крутимся в цикле, пока очередь не пуста.
  Начало очереди красим в красный цвет.
  Всех белых соседей этой точки вокруг кладём в конец очереди. 
  Убираем обработанную точку из головы очереди.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.