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

Растровые алгоритмы

Две группы алгоритмов:

приведение идеального объекта(отрезка, окружности и др.) в его растровые образы;

обработка растровых изображений.

Связность на растровой сетке

Связность – возможность соединения двух пикселей растровой линией, то есть последовательным набором пикселей.

4-связность - пиксели считаются соседними, если либо их х-координаты, либо у-координаты отличаются на единицу:

8-связность - пиксели считаются соседними, если их х- и у-координаты отличаются не более чем на единицу:

Растровое представление отрезка

При“проведении” растровых отрезков они должны удовлетворять следующим требованиям:

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

2.Яркость вдоль отрезка должна быть постоянной и не зависеть от длины и наклона.

3.Алгоритмы рисования должны быть простыми, т.е. отрезок рисоваться должен быстро.

Простейший алгоритм растрового представления отрезка

void Line (int x1, int y1 int x2, int y2, int color)

{ double k = ((double)(y2-y1))/(x2-xl); double b = y1 – k*x1;

}

for (int x = x1; x <= x2; x++) putpixel(x, round(k*x + b), color);

Алгоритм Брезенхема для растеризации прямых

Ограничимся рассмотрением только направлений «вправовверх»

Идея алгоритма Брезенхема: инкрементный выбор y-координаты следующей точки

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

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

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

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