Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кг часть 2.doc
Скачиваний:
16
Добавлен:
27.04.2019
Размер:
447.49 Кб
Скачать

Цепочка преобразования координат от мировых к экранным:

Мировые координаты преобразуются в видовые координаты с помощью афинных преобразований. Видовые координаты преобразуются в координаты проекции с помощью проецирования на плоскость. Координаты проекции преобразуются в экранные координаты с помощью афинных преобразований.

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

Простые элементы, из которых складываются сложные элементы, называются графическими примитивами. Для построения изображения используется некоторый набор примитивов, который поддерживается определенным графическим устройством вывода. Графические примитивы можно применять для описания пространственных объектов—простейшим универсальным растровым объектом является точка. Любое растровое изображение можно нарисовать по точкам. Рассмотрим графические примитивы, которые используют наиболее часто линии и фигуры.

Алгоритм вывода прямой линии.

→Это растровый алгоритм для отрезка прямой линии.

Предположим, что x1,x2;y1,y2—координаты концов прямой для вывода линии необходимо запросить в определенный цвет все пиксели вдоль линии. Для того, чтобы закрасить каждый пиксель необходимо знать его координаты. Наиболее просто нарисовать отрезок горизонтальной и вертикальной линии. Вычисления текущих координат пикселей здесь выполняется как приращение по оси Х, до тех пор пока Х, не станет равен Х2; в цикле выполняются простейшие операции над целыми числами (приращение на единицу и сравнение). Поэтому операция рисования отрезка выполняется быстро и просто, вследствие этого эта операция используется как базовая для других операций. (Например, алгоритм заполнения полигонов и т.д.)

→Прямого вычисления координат (для отрезка)

Пусть заданы координаты конечных точек прямой. Найдем координаты точки внутри отрезка.

x =f(y):

x=x1+(y-y1)-(x2-x1)/ (y2-y1);

y=F(x):

x=y1+(x-x1)-(y2-y1)/ (x2-x1)

В зависимости от угла наклона прямой выполняется цикл расчетов координат по оси Х или Y.

Достоинства способа вычисления координат:

  1. простота, ясность построения алгоритма.

  2. возможность работать с нецелыми значениями координат отрезка.

Недостатки:

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

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

→Инкрементный алгоритм вычисления координат:

О н предложен Брезенхем. Основной целью для разработки таких алгоритмов было построение циклов вычисления координат на основе только целочисленных операций сложения и вычитания, без умножения и деления. Инкрементные алгоритмы выполняются как последовательное вычисление координат соседних пикселей, путем добавления приращения координат. Приращение рассчитываются на основе анализа функции погрешности, в цикле выполняется только целочисленные операции. Это операции сравнения, сложения и вычитания, следовательно, повышения быстродействия, для вычисления любого пикселя, по сравнению с прямым способом вычисления координат; предположим, что есть отрезок с координатами [x1; y1] и [x2;y2].

dx=x2-x1

dy=y2-y1

Будем сравнивать:

dx>0 => x+1 dy>0 => y+1

dx=0 => x+0 dy=0 => y+0

dx<0 => x-1 dy<0 => y-1

Этот алгоритм является 8-ми связанным, т.е. пути вычисления приращений координат для перехода к соседним пикселям возможны 8 вариантов.

Существует также 4х связный алгоритм. Он проще, но генерирует менее качественное изображение за большое количество этапов.