История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Большинство графических устройств являются растровыми, представляя изображение в виде прямоугольной матрицы (сетки, целочисленной решетки) пикселей (растра), и большинство графических библиотек содержат внутри себя достаточное количество простейших растровых алгоритмов. На рисунке приведена система растровых алгоритмов.

Алгоритмы растеризации.
Связность – возможность соединения двух пикселей растровой линией, т. е. последовательным набором пикселей.
1. Четырехсвязность: пиксели считаются соседними, если либо их x -координаты, либо их y – координаты отличаются на единицу:
.
2. Восьмисвязность: пиксели считаются соседними, если их x -координаты и y -координаты отличаются не более чем на единицу:
,
.
При переводе объектов в растровое представление существуют, алгоритмы, как использующие четырехсвязность, так использующие восьмисвязность.
Растровое представление отрезка.
Рассмотрим задачу построения растрового изображения отрезка, соединяющего точки
и
. Для простоты будем считать, что
. Тогда отрезок описывается уравнением:
или
.
Отсюда получаем простейший алгоритм растрового представления отрезка:
void line(int xa, int ya, int xb, int yb, int color){
double k = ((double)(yb – ya)) / (xb – xa);
double b = ya – k * xa;
for (int x = xa; x <= xb; x++)
putpixel(x, (int)(k * x + b), color);
}
Приведенный простейший пошаговый алгоритм построения отрезка имеет ряд недостатков:
1. Выполняют операции над числами с плавающей точкой, а желательно было бы работать с целочисленной арифметикой;
2. На каждом шаге выполняется операция округления, что также снижает быстродействие.
Эти недостатки устранены в следующем алгоритме Брезенхейма.
Алгоритм Брезенхейма.
Как и в предыдущем случае, будем считать, что тангенс угла наклона отрезка принимает значение в диапазоне от 0 до 1. Рассмотрим i -й шаг алгоритма (см. рисунок). На этом этапе пиксель
уже найден как ближайший к реальному отрезку. Требуется определить, какой из пикселов (
или
) будет установлен следующим.

В алгоритме используется управляющая переменная
, которая на каждом шаге пропорциональна разности между S и T. Если S<T, то
ближе к отрезку и выбираем ее, иначе выбирается
.
Пусть изображаемый отрезок проходит из точки
в точку
. Исходя из начальных условий, точка
ближе к началу координат. Тогда перенесем оба конца отрезка, так чтобы первый конец отрезка совпал с началом координат. Начальной точкой отрезка стала точка (0, 0), конечной точкой стала (dx, dy), где
,
.

Итеративная формула вычисления управляющего коэффициента
по предыдущему значению
имеет вид:
. {Вычисляется она из подобия треугольников:
.
Находим T, как

Помножим левую и правую часть этого выражение на dx. И заменяем
,
,
=
}.
С помощью управляющего коэффициента выбирается следующий пиксель
или
.
Если
, тогда выбирается
и
,
.
Если
, тогда выбирается
и
,
.
Начальные значения
, т.к.
.
Преимуществом алгоритма является то, что для работы алгоритма требуются минимальные арифметические возможности: сложение, вычитание и сдвиг влево для умножения на 2.
Если dy>dx, то необходимо будет использовать этот же алгоритм, но пошагово увеличивая y и на каждом шаге вычислять x.
|
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!