Блок-схема графической системы
Центральный процессор и память на рисунке не показаны. В памяти размещаются два важных информационных модуля:
Прикладная структура данных, которая содержит описание объектов, изображения которых должны показываться на экране. Она же является моделью объектов (от описания объекта в структуре данных к его изображению на экране).
Рис. 1.4
Канал вывода. (От описания объекта к его изображению).
Прикладная программа записывает информацию и извлекает ее из прикладной структуры данных и направляет графические команды, которые обрабатывается графическим пакетом. Последний формирует дисплейную программу, используемую дисплейным процессором для получения изображения. Таким образом, канал ввода последовательно преобразует описание объекта во все более машинно-зависимые представления.
Канал ввода. (От устройств ввода к структуре данных и дисплейной программе).
Дисплейная программа, которая формируется графически пакетом и читается дисплейным процессором во время регенерации изображения на экране (от устройств ввода к структуре данных и дисплейной программе).
Дисплейный процессор регистрирует факт использования устройства ввода и либо прерывает, либо передает данные по запросу. Ввод данных от дисплейного процессора осуществляет специальная программа ввода, которая передает их прикладной программе. Эти данные меняют состояние прикладной программы. Они могут побудить также прикладную программу модифицировать структуру данных, изменить параметры.
ГЕОМЕТРИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ
Двумерные преобразования
Перенос
Точки на плоскости можно перенести в новые позиции путем добавления к координатам этих точек констант переноса. Для каждой точки , которая перемещается в новую точку , сдвигаясь на единиц по оси и на — по оси , можно написать:
. (1)
Определим векторы-строки:
,
тогда уравнения (1):
, (2)
или кратко:
. (3)
Но объект есть множество точек. Его можно переносить, применяя уравнения (1) к каждой его точке. Но каждый отрезок состоит из бесконечного числа точек и этот процесс длился бы бесконечно долго. Удобнее все точки, принадлежащие отрезку перенести путем перемещения одних лишь крайних точек отрезка. И потом вычертить новый отрезок между ними.
Масштабирование
Точки можно масштабировать (растянуть) в раз по оси и в — по оси .
Рис. 2.1
Получим новые точки с помощью умножения:
. (4)
Определив как:
,
можно записать в матричной форме:
(5)
или
(6)
Рис. 2.2
Масштабирование производится относительно начала координат — в результате домик стал меньше и ближе к началу координат. Если бы масштабные коэффициенты были больше единицы, домик бы увеличился и отдалился бы от начала координат. Пропорции домика тоже изменились. Было применено неоднородное масштабирование, при котором . Однородное масштабирование не влияет на пропорции.
Поворот
Точки могут быть повернуты на угол относительно начала координат. Тогда координаты точки :
Рис. 2.3
В матричной форме:
(8)
или
(9)
где — матрица поворота.
Рис. 2.4
Положительное направление — против часовой стрелки, отрицательное — по часовой стрелке.
Дата добавления: 2016-07-18; просмотров: 1479;