Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
56
Добавлен:
18.03.2016
Размер:
1.29 Mб
Скачать

Функция F – индикатор положения точки окружности относительно середины

Вычисляем значение d

Инкрементный алгоритм (d<0)

Инкрементный алгоритм (d>=0)

Инкрементное вычисление значения d

Переход к целочисленной арифметике

putpixel( x, y, color );
PixelFill( x - 1, y. BorderColor, color );
PixelFill( x + 1, y, BorderColor. color ): PixelFill( x, y - 1, BorderColor, color );
PixelFill( x, у + 1. BorderColor, color );

Закраска области, заданной цветом границы

void PixelFill ( int x, int y, int BorderColor, int color )

{ int с = getpixel ( x, у );

if ( ( с != BorderColor ) && ( с != color ) )

{

} }

Построчный алгоритм закраски

1.Поместим затравочную точку на стек. 2.Извлекаем координаты точки с вершины

стека в переменные (x, y). 3.Заполняем максимально возможный

интервал, в котором находится точка, вправо и влево вплоть до достижения граничных точек.

4.Запоминаем крайнюю левую xl и крайнюю правую xr абсциссы заполненного интервала.

5.В соседних строках над и под интервалом (xl , xr ) находим незаполненные к настоящему моменту внутренние точки области, которые объединены в интервалы, а правый конец каждого такого интервала помещаем в стек.

6.Если стек не пуст, то переходим к пункту 3.

Соседние файлы в папке Брундасов. Компьютерная графика. Лекции