АЛГОРИТМЫ РАСТРОВОЙ ГРАФИКИ


 

Алгоритмы развертки, применяемые при построении растрового изображения, вызывается очень часто – при каждом создании или модификации изображения. Поэтому алгоритмы должны давать не только хорошее изображение, но и делать это как можно быстрее.

Основные критерии алгоритмов:

¾ скорость,

¾ качество изображения.

Но обычно предпочтение отдается быстродействию.

 

Преобразование отрезков из векторной

Формы в растровую.

Главной задачей алгоритма развертки отрезков является вычисление координат пикселов на двумерной растровой сетке. При решении этой задачи будем предполагать, что конечные т. отрезков имеют целые координаты. Простой алгоритм заключается в пошаговом x, вычислении и высвечивании в т. . Вычисление произведения требует и замедляет процесс разложения в растр.

 

Пошаговый алгоритм

Операцию умножения можно устранить, если заметить, что при сводится к , т.е. изменение на 1 приводит к изменению на (тангенс угла наклона).

Т.о. если , то

 

,

 

т.е. последующие значения т. отрезка определяются, исходя из предыдущих.

 

 

Рис. 3.1

 

Если , тот шаг по будет приводить к шагу по . Поэтому надо и поменять местами - на 1, а на . После вычисления очередной т. происходит округление ее координат до ближайших целых.

 

Алгоритм Брезенхэма

Трудности применения предыдущего метода состоят в том, что округление до целого значения требует времени, и кроме того, и должны быть вещественными числами.

Более привлекателен в этом отношении алгоритм Брезенхэма, т.к. в нем используется только целая арифметика. Вещественные переменные не используются совсем, и, значит, округление не нужно.

 

 

Рис. 3.2

 

Суть метода: В алгоритме используется управляющая переменная , которая на каждом шаге пропорциональна разности между и . Так для т. надо определить, какой из будет выбран: и ? Если , то ближе к отрезку, в противном случае ближе будет .

Т.е. если

 

.

 

А теперь рассмотрим алгоритм подробнее.

Есть отрезок . Пусть 1-я т. находится ближе к началу координат, тогда перенесем обе точки при помощи так, чтобы начальная точка отрезка стала (0,0), а конечная — , или .

Уравнение прямой будет иметь вид: .

Обозначим координаты после переноса т. через . Тогда координаты:

 

 

Найдем разность:

 

 

Величина , поэтому можно использовать в качестве проверки условия.

Обозначим: , имеем:

 

.

 

Т.к.

 

, ,

 

то

(1)

 

Прибавляя 1 к каждому индексу:

 

 

Вычитая из :

 

 

Но

 

(2)

 

Т.е. вначале вычисляется .

Если , выбирается , тогда

 

 

и

 

.

 

Если , выбирается , тогда

 

 

и

 

.

 

Т.о. мы получили итерактивнй способ вычисления по предыдущему значению и выбора между и .

Начальное значение находят из выражения (1) при , : .

 



Дата добавления: 2016-07-18; просмотров: 2320;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.015 сек.