Базовые растровые алгоритмы. — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Базовые растровые алгоритмы.

2018-01-13 405
Базовые растровые алгоритмы. 0.00 из 5.00 0 оценок
Заказать работу

Большинство графических устройств являются растровыми, представляя изображение в виде прямоугольной матрицы (сетки, целочисленной решетки) пикселей (растра), и большинство графических библиотек содержат внутри себя достаточное количество простейших растровых алгоритмов. На рисунке приведена система растровых алгоритмов.

Алгоритмы растеризации.

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

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.

 


Поделиться с друзьями:

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.