
Брундасов. Компьютерная графика. Лекции / lesson07
.pdfРастровые алгоритмы
Две группы алгоритмов:
•приведение идеального объекта(отрезка, окружности и др.) в его растровые образы;
•обработка растровых изображений.

Связность на растровой сетке
Связность – возможность соединения двух пикселей растровой линией, то есть последовательным набором пикселей.
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)