Re: Нужен алгоритм заливки многоугольника
От: raskin Россия  
Дата: 21.02.06 07:27
Оценка:
HardMaster wrote:
> Может кто сталкивался? Смысл такой: есть какая-то область одного цвета,
> нужно залить ее другим цветом и определить ее границы. Т.е. как например
> это делает Paint, когда мы наводим курсор заливки на середину области
> которую хотим залить и она заполняется нужным цветом. Как это
> реализуется? Если, есть идеи или ссылки, поделитесь...
> Заранее благодарен ответившим.
Стандартные алгоритмы — волны, поиска в ширину или чего угодно.

То есть исходно у нас обнаружена одна точка подлежащая заливке —
исходная. Её — в очередь. После — цикл: вынули из очереди — посмотрели
соседей — если они уже были обнаружены, забыли (в простейшем случае —
проверяем закрашенность, иногда надо отдельно хранить массив бит
обнаруженности, если надо проходить сквозь кольца своего цвета) — если
они цвета границы, пометили как границу — иначе добавляем их в очередь,
закрашиваем.
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.