
- •Элементы интерактивной компьютерной графики
- •Класс 2: двухуровневые или представляемые в нескольких «цветах» изображения
- •Структура графического изображения
- •Блок-схема графической системы
- •Методы кодирования графической информации
- •Позиционные методы кодирования ги. Рецепторный метод кодирования
- •Метод тетрарного дерева
- •Структурные методы кодирования Цепной метод кодирования
- •Кусочно – линейная аппроксимация контура изображения
- •Аппроксимация группы точек окружностью
- •Аналитические методы кодирования
- •Методы структурно – символического кодирования
- •Типичная система команд дисплейного процессора
- •Форматы дисплейных команд
- •А) Команды, управляющие лучом гд.
- •Геометрические преобразования
- •Двумерные преобразования Перенос (сдвиг)
- •Масштабирование
- •Поворот изображения
- •Однородные координаты и матричное представление двумерных преобразований
- •Композиция двумерных преобразований
- •Вопросы эффективности
- •Матричное представление трехмерных преобразований
- •Видовая операция (отсечение части изображения по прямоугольному окну)
- •Высокопроизводительные графические преобразования
- •Алгоритмы растровой графики
- •Алгоритм Брезенхэма для отрезков прямых
- •Растровая развертка окружностей
- •Алгоритм брезенхема для генерации окружности
- •Типы графических дисплеев Векторный дисплей
- •Организация памяти в растровых графических дисплеях
- •Организация дисплейного файла
Блок-схема графической системы
Н
Графические
примитивы выводаы.
Она дает общее представление об основных
компонентах типичной графической
системы: аппаратных, программных и
информационных модулях.
Аппаратура
Программы
Рис. Основные аппаратные, программные и информационные модули графи- ческой системы
В памяти размещаются два важных информационных модуля, приведенные на рисунке.
Первым модулем является выполняемая дисплейная программа (называемая также дисплейным файлом). Она формируется графическим пакетом и читается в процессе регенерации изображения на экране.
Вторым модулем является прикладная структура данных (или для краткости, структура данных), которая содержит наряду с другой информацией описание объектов, изображения которых должны показываться на экране. Эту структуру называют также моделью объектов.
На следующем рисунке часть схемы, приведенной на предыдущем рисунке, показана более подробно. Три основных процесса ПГП с номерами 2, 3 и 5 на рисунке изображены как чисто программные модули, хотя в более сложных системах части этих процессов могут на самом деле могут реализовываться аппаратным или микропрограммным способом.
Интерфейс
между Простой Интерфейс
Интерфейс между
прикладной графический между ПГП процессором
программой пакет и дисплейным и пользователем
и ПГП процессором
Рис. Блок-схема графического пакета.
Канал вывода: прикладная структура данных……изображение.
Канал ввода: действия пользователя-…….прикладная структура данных.
Взаимодействие между всеми пятью процессами лучше всего понять, если изучить два основных потока данных в графической системе, имеющие противоположные направления: от описания объекта в структуре данных к его изображению на экране и от активируемых пользователем устройств ввода к структуре данных и/или дисплейной программе.
Существуют несколько подходов к описанию последовательности преобразований данных «объект — изображение». Один из них состоит в использовании понятия канала: четырехэтапный канал последовательно преобразует описание объекта во все более машинно-зависимые представления и, в конце концов, получается изображение на экране.
На первом этапе, реализуемом прикладной программой, происходит преобразование части структуры данных, моделирующей геометрию (расположение) и топологию (связность) объекта (такого, как электрический контур), в последовательность вызовов подпрограмм ПГП с параметрами, извлеченными из структуры данных. Эти вызовы описывают объект в терминах точек, линий и текста (примитивов вывода). Другие вызовы специфицируют деление объекта на логические единицы, т. е. сегменты, и определяют желаемый вид объекта. Определение видовой операции можно представить как настройку воображаемой фотокамеры.
На втором этапе в канале вывода работает процессор видовой операции, который, используя параметры, заданные на первом этапе, осуществляет отсечение примитивов объекта, выходящих за границы заданного пользователем или стандартного окна, и затем отображает видимую часть объекта в текущее поле вывода.
На третьем этапе генератор команд дисплейного процессора преобразует независимые от устройства спецификации примитивов (после отсечения) в нормированных координатах в команды данного конкретного дисплейного процессора. Соответствующие подпрограммы ПГП управляют сегментацией этого «машинного кода» и указывают генератору команд, какие сегменты необходимо добавить к дисплейной программе, какие сделать видимыми или невидимыми, какие передвинуть или удалить.
Четвертый этап в канале относится к ДП, который преобразует примитивы вывода в световое излучение экрана, чернила или краситель на листе бумаги (В растровых системах это преобразование обычно содержит дополнительное преобразование развертки, за которым следует регенерация изображения по полученной битовой карте).
Для управления динамически меняющейся структурой в ПГП может использоваться дополнительная структура данных — справочник сегментов.
Отметим, что взаимосвязь выполнения процессора видовой операции и генератора дисплейных команд нами не определяется. Здесь возможны две альтернативные стратегии:
1) примитив, заданный в нормированных координатах, после операции отсечения отображается из окна в поле вывода и сразу же преобразуется в код дисплейного процессора;
2) эти два процессора взаимодействуют через промежуточную структуру данных, которая содержит примитивы, заданные в нормированных координатах после операции отсечения.
В канале ввода ДП регистрирует факт использования устройства ввода и либо прерывает центральный процессор (для устройств, вызывающих события, таких, как селектор, кнопка, клавиатура), либо передает данные по запросу (для опрашиваемых устройств, таких, как локатор, валюатор). Ввод данных от ДП осуществляет специальная программа ввода, которая обычно передает их прикладной программе. Эти данные изменяют состояние или логику прикладной программы. Они могут также побудить прикладную программу модифицировать структуру данных (и, возможно, соответствующие параметры в обращениях к подпрограммам ПГП) или изменить параметры видовой операции. Введенные данные могут также непосредственно использоваться генератором команд для выполнения операций манипулирования сегментами.
Тем не менее, создатели графических пакетов и прикладных программ должны делать каналы ввода-вывода как можно более эффективными, поскольку заметные задержки ответа (превышающие доли секунды), разрывающие цикл взаимодействия пользователя с ЭВМ, фактически снижают производительность пользователя, работающего с терминалом (слежение за курсором должно, конечно, осуществляться вообще без видимых задержек). Короче говоря, реакция на действие пользователя должна быть почти немедленной, т. е. обратная связь не должна приводить к нарушениям в координации глаз и рук человека. Управляемое пользователем движение и генерация динамического изображения на векторных дисплеях с регенерацией изображения являются хорошими примерами задач, где необходимо соблюдать этот принцип. Даже если такая динамика нереализуема, можно попытаться путем тщательного проектирования минимизировать неприятные разрывы в изображении, вызываемые мерцанием или скачкообразным переходом от одного изображения к другому, и обеспечить немедленно обратную связь на любое действие пользователя, и таким образом показать последнему, что его запрос обрабатывается.