Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Предмет компьютерной графики





Лекция 6

Компьютерная графика

Введение

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

Для их созданияиспользуют законы начертательной геометрии, отображающие геометрические объекты в виде точки, либо совокупности точек, которые образуют прямую, плоскость, поверхность в заданной системе координат.

Для их отображения на рабочей плоскости используют создание инструментария в виде программного обеспечения и аппаратных средств, которые преобразуют числа в графические символы. «Естественность» представления данных чисел позволила машинной графике стать чрезвычайно эффективным и мощным средством взаимодействия человека и персонального компьютера.

Учебная литература по курсу:

1. Компьютерная графика: первое знакомство/А.В.Боресков, Е.В.Шикин, Г.Е.Шикина; Под ред.Е.В.Шикина.-М.: Финансы и статистика, 1996. – 176с.

2. Гилой В. Интерактивная машинная графика. - М.: Мир, 1982.

3. Ньюмен У., Спрулл Р. Основы интерактивной графики. – М.: Мир,1985.

4. Фоли Дж., Ван Дэм Ф. Основы интерактивной машинной графики. – М.: Мир, 1985.

5. Программные средства машинной графики. Международный стандарт GKS: Пер. с англ./Г. Эндерле, К. Кэнси, Г. Пфафф. – М.: Радио и связь, 1988. – 480с.

6. ГОСТ 27459-87. Системы обработки информации. Машинная графика: Термины и определения. – М.: Издательство стандартов,1988.

 

Предмет компьютерной графики

 

Компьютерная графика изучает:

а) геометрические основы различных графических форм представления пространственных предметов на рабочей плоскости.



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

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

Предметом изучения будут: базовые концепции машинной графики, основные концепции ядра графической системы (ЯГС) и их взаимосвязь: примитивы вывода, атрибуты, система координат, преобразования, ввод, сегменты, метафайл, таблицы состояний и обработка ошибок.

В словаре терминов по обработке данных Международной организации по стандартизации (ISO) (International Organization for Standardization) термин «машинная графика» определен следующим образом:

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

Это определение основано на трех компонентах, без которых невозможна ни одна система машинной графики: данные, ЭВМ (персональный компьютер)и графическая форма представления.

Информация, представленная в визуальной форме, может быть обработана человеческим аппаратом восприятия наиболее естественным путем, при этом сложные информационные структуры и взаимосвязи осознаются за более короткий промежуток времени, в большем объеме и с меньшими искажениями по сравнению с прочими используемыми методами.

Людям очень трудно иметь дело с моделямиявлений реального мира или абстрактных понятий без их визуального представления.

Общая система понятий машинной графики строится на основных принципах и базовых концепциях Ядра графической системы (ЯГС), которая облачена в рамки международного стандарта.

Международный стандарт на Ядро графической системы (ЯГС) Graphical Kernel System (GKS) следует рассматривать как методологическую базу стандартизации в машинной графике.

К вопросам стандартизации в машинной графике вплотную приступили в конце 70-х годов. Разработали структуру и сделали полное описание архитектуры ЯГС и окружающей его графической среды. В 1985 году был принят Международный стандарт GKS. В данном курсе мы будем использовать принятые стандарты.

Основные области применения машинной графики

 

Машинная графика
Область применения Синтез изображения Анализ изображения Обработкаизображения
Вход Формальное описание Визуальное представление Визуальное представление
Выход Визуальное представление Формальное описание Визуальное представление
Объекты Линии, пиксели, объекты, текст и их совокупности Сгенерированное или сканируемое изображение Сканируемое изображение
Задачи Генерация, представление, сегментация и преобразование изображения Распознавание образов, структурный анализ, анализ сцен Повышение качества изображения

При синтезе изображений образы создаются на основе описаний, формируемых программами и данными в ЭВМ. Данные могут поступить от выбранного пользователем источника первичного ввода, быть результатом вычислений или следствием команд и действий оператора графической станции.

Визуализация– визуальное представление данных.

Визуальное представление синтезированных элементарных объектов: линий, элементов растра (пикселей), текстовых строк или закрашиваемых многоугольников (областей) – отображается на носитель изображения устройства графического вывода.

Допускается разбиение картины на отдельные части (сегменты), при этом изображения и их части могут подвергаться преобразованиям.

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

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

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

 

Другой областью применения машинной графики является анализ изображений.

При анализе изображений элементарные объекты и их совокупности должны быть вычленены из картины.

В качестве примера анализа изображения также можно привести решение задач аналогичных разборке изделия на отдельные детали, задач выпуска рабочих чертежей отдельных деталей в системе ЕСКД.

 

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

Обзор принципов и концепций машинной графики

 

Основные понятия Ядра графической системы

Существует тесная взаимосвязь между концепциями, положенными в основу графической системы, и задачами, для решения которых она предназначена. Рассмотрим некоторые из этих задач:

- синтез и воспроизведение изображений;

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

- управление станциями, к которым имеет доступ система;

- обслуживание ввода данных со станций;

- поддержка разбиения изображения на части, которые можно независимо обрабатывать (рисовать, преобразовывать, копировать, удалять);

- долговременное хранение изображений.

Рассматривая такие концепции, как отражение текущего состояния системы в специальных таблицах, группирование функций на уровни с возрастающими возможностями и обработка ошибок позволяют облегчить реализацию и эксплуатацию системы. Очень важной характеристикой графической системы можно назвать размерность пространства, в котором задаются обрабатываемые ею геометрические объекты. В настоящий момент стандарт определяет ЯГС как чисто двумерную систему (2D), но в тоже время бурно развиваются трехмерные (3D) расширения стандарта.

Рассмотрим, какими понятиями оперирует система машинной графики.

Вывод: одним из главных предназначений системы является создание изображений. Для решения этой задачи служит концепция графического вывода. Результирующая картина строится из элементарных объектов, называемых примитивами вывода, чье визуальное представление на носителе изображения графической станции определяется набором атрибутов (цвет, тип линии, толщина линии и др.).

Система координат и преобразования: примитивы вывода могут задаваться при создании в одной или нескольких системах координат пользователя. Эти примитивы должны быть размещены на носителе изображения различных графических станций с различными приборными системами координат. Последовательность изменений, претерпеваемая графическим выводом на пути от прикладной программы к носителю изображения устройства, называется видовым конвейером (viewing pipeline).

Управление направлением перемещения и преобразованием примитивов вывода, проходящих через видовой конвейер, берет на себя графическая система. Используя соответствующие функции, прикладная программа может воздействовать на преобразование вывода. В трехмерных системах видовое преобразование трехмерных координат на двумерную картинную плоскость является одной из операций видового конвейера.

Графические станции: единственное устройство вывода и несколько устройств ввода объединяются в понятие графическая рабочая станция (workstation) или просто станция. Каждой из них управляет, как правило, один оператор. Станцией считается, например, графопостроитель или дисплей, оснащенный клавиатурой или планшетом. Концепция станций является одним из оригинальных вкладов ЯГС в общую методологию построения графических систем.

Ввод: при взаимодействии с оператором прикладной программе необходимы средства для получения данных, поступающих с графической станции. Помимо собственно графической информации (значений координат или идентификации частей изображения) в ЯГС возможны также ввод строк литер, выбор альтернатив, например с помощью функциональной клавиатуры, и получение значений от устройств типа потенциометра. Благодаря наличию концепции логических устройств ввода ввод в ЯГС является независимым от конкретных физических устройств.

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

Метафайл: служит средством сохранения изображений с целью их записи в архив, транспортировки или обмена с другими системами. Интерфейс метафайла ЯГС допускает запоминание в долговременной памяти и считывание изображений из нее, что существенно увеличивает гибкость системы в целом.

Таблица состояния: в любой момент ЯГС находится в некотором функциональном состоянии, которое характеризуется параметрами, отражаемыми в соответствующих таблицах. Значения этих параметров изменяются функциями ЯГС, вызываемыми в процессе выполнения прикладной программы. Текущее состояние может определять, например, перечни доступных графических станций или существующих сегментов. Эта концепция, получившая развитие в ходе проектирования ЯГС, должна полно и точно отражать эффект выполнения функций и помочь в реализации конкретных версий системы.

Уровни: все функции ЯГС соотнесены с девятью различными уровнями. Если в самый нижний уровень входит минимальный набор функций, обслуживающих только вывод, то самый верхний включает все возможности ЯГС. Таким образом, разработчику достаточно реализовать только тот уровень системы, который по своему функциональному объему удовлетворяет данным приложениям.

 

Таблица 1

Распределение возможностей ЯГС по уровням
Ввод   Вывод   Без ввода   Ввод в режиме ЗАПРОС Ввод в полном объеме
Минимальный вывод Все пять примитивов вывода; все индивидуально задаваемые атрибуты; поддержка ОПВ на уровне станции; предопределение связки – как минимум по 5 связок ломаной, полимаркера, полигональной области и 2 связки текста; несколько преобразований нормирования (минимум одно изменяемое); необязательные функции работы с метафайлом; концепция нескольких станций (по крайней мере, одна для вывода) Функции запроса для устройств ВВОД ПОЗИЦИИ, ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ, ВВОД ЧИСЛА, ВВОД СТРОКИ и ВЫБОР; функции инициализации и задания режимов работы устройств; функция ЗАДАТЬ ПРИОРИТЕТ ПОЛЯ ВЫВОДА ПРИ ВВОДЕ; по крайней мере, одна доступная для ввода станция Концепция ввода в режиме ОПРОС и СОБЫТИЕ     Очередь отчетов о событиях ввода
Вывод в полном объеме и базовые возможности сегментации Несколько станций; полная концепция связок атрибутов (возможная переустановка предопределенных связок, по крайней мере, 20 задаваемых пользователем связок); обязательные функции и станции работы с метафайлом; базовые возможности (функции) сегментации Функции запроса, инициализации и задания режимов работы устройства УКАЗАНИЕ Ввод в режиме ОПРОС и СОБЫТИЕ для устройства УКАЗАНИЕ
Вывод с использованием памяти сегментов Общая память сегментов; функции ВСТАВИТЬ СЕГМЕНТ, ВЫВЕСТИ КОПИЮ СЕГМЕНТА НА СТАНЦИЮ, СВЯЗАТЬ СЕГМЕНТ СО СТАНЦИЕЙ    

 

Таблица 2

Минимальные возможности, необходимые на каждом уровне ЯГС
Возможность Уровень
0a 0b 0c 1a 1b 1c 2a 2b 2c
Количество цветов (интенсивностей) 1 1 1 1 1 1 1 1 1
Типы линий 4 4 4 4 4 4 4 4 4
Ширина линий 1 1 1 1 1 1 1 1 1
Предопределенные связки ломаной 5 5 5 5 5 5 5 5 5
Устанавливаемые связки ломаной - - - 20 20 20 20 20 20
Типы маркера 5 5 5 5 5 5 5 5 5
Размер маркера 1 1 1 1 1 1 1 1 1
Предопределенные связки полимаркера 5 5 5 5 5 5 5 5 5
Устанавливаемые связки полимаркера - - - 20 20 20 20 20 20
Высота литеры (см. прим. 1) 1 1 1 1 1 1 1 1 1
Масштабы расширения литеры (см.прим. 1) 1 1 1 1 1 1 1 1 1
Шрифты точности ДО СТРОКИ 1 1 1 1 1 1 1 1 1
Шрифты точности ДО ЛИТЕРЫ 1 1 1 1 1 1 1 1 1
Шрифты точности ДО ШТРИХА 0 0 0 2 2 2 2 2 2
Предопределенные связки текста 2 2 2 6 6 6 6 6 6
Устанавливаемые связки текста - - - 20 20 20 20 20 20
Предопределенные шаблоны (см. прим.2) 1 1 1 1 1 1 1 1 1
Устанавливаемые шаблоны (см. прим.2 и 5) - - - 10 10 10 10 10 10
Типы штриховки (см. прим.3) 3 3 3 3 3 3 3 3 3
Предопределенные связки полигональной области 5 5 5 5 5 5 5 5 5
Устанавливаемые связки полигональной области - - - 10 10 10 10 10 10
Устанавливаемые преобразования нормирования 1 1 1 10 10 10 10 10 10
Приоритеты сегментов (см. прим.4) - - - 2 2 2 2 2 2
Классы устройств ввода - 5 5 - 6 6 - 6 6
Типы подсказки и эха - 1 1 - 1 1 - 1 1
Размер очереди событий (см. прим.5) - - 20 - - 20 - - 20
Максимальный размер буфера устройства ввода строки (в литерах) - 72 72 - 72 72 - 72 72
Максимальный размер буфера устройства ввода последовательности позиций (в точках) - 64 64 - 64 64 - 64 64
Число станций вывода или ввода-вывода 1 1 1 1 1 1 1 1 1
Число станций ввода или ввода-вывода - 1 1 - 1 1 - 1 1
Общая память сегментов - - - - - - 1 1 1
Станции вывода метафайла 0 0 0 1 1 1 1 1 1
Станции ввода метафайла 0 0 0 1 1 1 1 1 1
О б о з н а ч е н и я : 0 определенная, но не обязательная на данном уровне возможность; - функция на данном уровне не определена. П р и м е ч а н и я : 1. Для текста точности ДО СТРОКИ и ДО ЛИТЕРЫ. 2. Для станций, обеспечивающих заполнение ПО ШАБЛОНУ. 3. Для станций, обеспечивающих заполнение ШТРИХОВКА. 4. Для станций, обеспечивающих приоритеты сегментов. 5. В связи с ограниченностью ресурсов и переменным размером записей достижение указанных значений не всегда возможно.

 

Таблица 3

Распределение приложений по уровням
Уровень Приложения
0a Деловая графика; вывод в метафайл и на микрофильм; ввод и интерпретация метафайла; драйвер графического вывода для моделирующих систем типа трехмерных
0b Интерактивная деловая графика; управление процессами; системы рисования простых изображений; отработчик ввода для систем более высокого уровня
0c Системы с усиленными требованиями к интерактивному вводу типа оцифровки контуров; оптимальное использование возможностей физических устройств ввода через объединение логических устройств ввода
1a 1b 1c Системы с несколькими станциями; одновременный просмотр нескольких изображений; манипулирование частями изображений в диалоге; системы проектирования и моделирования
2a 2b 2c Чертежные системы и системы проектирования с максимальным использованием средств ЯГС; составление изображений на основе заранее определенных подкартин; перенос изображений между станциями; системы автоматизации конторской деятельности; графические редакторы; приложения САПР.

 

 

Таблица 4

Соответствие процессоров и графических устройств уровням
Уровень Процессоры Графические устройства
0a Начиная с 8-разрядных процессоров (8, 16, 20, 32, 36, …бит в слове); статическое распределение оперативной памяти; медленная внешняя память. Вывод на микрофильм; растровые и векторные графопостроители; алфавитно- цифровые дисплеи и принтеры; телемониторы; простые запоминающие трубки; несложные растровые и векторные устройства
0b Такие же, как и для уровня 0a Устройства вывода, как для уровня 0a; устройства ввода типа алфавитно-цифровой и функциональной клавиатуры, световых перьев, планшетов и т.п.
0c Начиная с 16-разрядных процессоров; возможности мультизадачности или программной обработки прерываний; для организации очереди событий может понадобиться динамическое управление памятью Уровень 0b плюс оцифровщики и ощупыватели форм
1a 1b 1c Начиная с 16-разрядных процессоров с динамической или виртуальной памятью; желателен быстрый доступ к внешней памяти Векторные устройства с сегментированным дисплейным файлом; желательны аппаратное отсечение и преобразование; запоминающие трубки с частичной регенерацией; растровые устройства с несколькими слоями изображения; быстрые интеллектуальные растровые дисплеи с микрокомпьютером, обеспечивающим, например, удаление невидимых линий; для систем уровня 1b и 1c световые перья, возвращающие идентификаторы сегментов, вычисленные по адресам дисплейного файла для векторных устройств или путем сравнения координат на растровых устройствах.
2a 2b 2c Как в системах уровня 1, но с упором на эффективное управление памятью

 

Обработка ошибок: вместе с каждой функцией ЯГС определяет некоторое число ошибочных состояний, которые могут быть зафиксированы во время выполнения функции. В случае возникновения такого ошибочного состояния прикладная программа может либо удовлетворяться стандартной реакцией системы, либо предпочесть собственные средства управления обработкой ошибок.

Размерность системы координат: то, что в настоящий момент ЯГС является двумерной системой, удовлетворяет потребностям большинства приложений машинной графики. Это означает, что все вводимые и выводимые позиции представляются в двумерном пространстве. Тем не менее в некоторых приложениях могут потребоваться объемные примитивы вывода, такие как прямые в трехмерном пространстве и отсеки пространства или даже трех координатный ввод.

Эти базовые понятия рассмотрим более подробно

Графический вывод

Применение машинной графики, при котором изображения создаются исключительно как результат выполнения функций вывода, без какого – либо вмешательства оператора, называется пассивным графическим выводом. Прикладной программист проверяет правильность работы своей графической программы, изучая созданные программой картины. Если результат его не удовлетворяет, то он вносит изменения в программу. Так создают САПР разрабатываемого изделия.

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

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

Координатная графика – область машинной графики, в которой изображение генерируется с помощью команд визуализации и координатных данных.

Обычно базовыми элементами линейной графики служат отрезки прямых (векторы) или их последовательности. Примерами графических устройств, обеспечивающих такой способ вывода, являются перьевые графопостроители и векторные дисплеи. Характерным отличием этих устройств является наличие пишущего узла графопостроителя, или электронного луча. Пишущий узел может быть установлен в произвольную позицию на поверхности визуализации. Перемещая пишущий узел с включенным или выключенным режимом «рисование» (с поднятым или опущенным пером), можно получить видимые или невидимые отрезки. В ЯГС существуют примитивы вывода, учитывающие специфику координатных графических устройств.

Термин рисование (inking) – создание линий путем перемещения устройства ввода позиций по поверхности визуализации, при котором оно оставляет за собой след, аналогично карандашу при вычерчивании линии на бумаге.

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

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

Пиксель (pixel) – наименьший элемент носителя изображения, которому можно индивидуально назначить цвет или степень яркости.

Частота регенерации (refresh rate) – количество воспроизведений изображения, выполняемых за 1с.

Базовыми элементами растровой картины являются независимо адресуемые изолированные точки носителя изображения. Изображения представляются на устройствах типа растровые цветные дисплеи и электростатические графопостроители.

Обычно в растровых устройствах изображение формируется последовательно строка за строкой. Устройство с регенерацией воспроизводят всю матрицу пикселей (экран 1280х1024) с заданной частотой регенерации (например, 25,30,50,60 раз в секунду). Для этого изображение запоминается в памяти хранения пикселей, которая называется также буфером кадра (frame buffer).

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

Текст можно выводить на устройствах обоих типов. Модуль аппаратуры или модуль математического обеспечения, называемый знакогенератором, разложит графическое описание литер на базовые элементы соответствующего устройства (отрезки или пиксели).

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

Примитивы вывода и атрибуты

Функциональный интерфейс графической системы предоставляет для построения изображения базовые элементы, называемые примитивами вывода. Вид примитива определяется его параметрами: геометрическим и визуальным представлениями на носителе станции. Эти характеристики задаются набором атрибутов, связанных с примитивом. Некоторые атрибуты могут быть различными для различных станций. Например, одна и та же линия на одной станции может выглядеть черной и пунктирной, а на другой – красной и сплошной. Подобные характеристики примитива, зависящие от представления на графической станции, называются зависимыми атрибутами. Ядро графической системы предоставляет функции создания примитивов и установки их атрибутов. Для определенных атрибутов прикладная программа может указать, должен ли данный атрибут (тип линии, цвет ломаной) задаваться зависимым от станции образом.

Примитив вывода (Output primitive) – базовый графический элемент, который может использоваться для построения изображения.

В ЯГС к примитивам вывода относятся: ломаная, полимаркер, текст, полигональная область, матрица ячеек и обобщенный примитив вывода.

Атрибут – характеристика примитива вывода или сегмента, например, выделение, межлитерный просвет.

В ЯГС некоторые свойства станции называют атрибутами станции.

Примитивы вывода

В ЯГС предусмотрено шесть примитивов вывода.

Векторный примитив: ЛОМАНАЯ – ЯГС генерирует набор отрезков прямых, соединяющих заданную последовательность точек.

Точечный примитив: ПОЛИМАРКЕР – ЯГС генерирует набор символов некоторого типа, которые центрируются в указанных точках.

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

Текстовый примитив: ТЕКСТ – ЯГС генерирует строку литер с началом в указанной позиции.

Растровые примитивы: ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ – ЯГС генерирует многоугольник; область, которую он ограничивает, может быть пустой, иметь фоновую окраску, быть покрыта узором по шаблону или заштрихованной.

МАТРИЦА ЯЧЕЕК – ЯГС генерирует матрицу прямоугольных ячеек, каждой из которых присвоен индивидуальный цвет. Этот примитив является обобщением матрицы пикселей растрового устройства. Тем не менее ячейки этого примитива не обязательно должны взаимно однозначно соответствовать аппаратным пикселям.

Примитив общего назначения: ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА – с помощью этого примитива ЯГС предоставляет возможность использовать специфические средства графического вывода станции, например, такие как интерполяция кривых сплайнами, рисование дуг окружностей и эллипсов. Для этого задаются идентификатор нужного средства, набор геометрических позиций и, если требуются, дополнительные данные. Позиции подвергаются трансформационным преобразованиям ЯГС, но интерпретация их смысла оставляется на усмотрение рабочей станции.

Термин интерполяция – нахождение по ряду данных значений функции промежуточных ее значений

 

Атрибуты примитивов вывода

Примитив Атрибуты
ЛОМАНАЯ ИДЕНТИФИКАТОР УКАЗАНИЯ МАСШТАБ ТОЛЩИНЫ ЛИНИИ ТИП ЛИНИИ ЦВЕТ
ПОЛИМАРКЕР ИДЕНТИФИКАТОР УКАЗАНИЯ МАСШТАБ МАРКЕРА ТИП МАРКЕРА ЦВЕТ
ТЕКСТ ИДЕНТИФИКАТОР УКАЗАНИЯ МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ НАПРАВЛЕНИЕ ТЕКСТА МЕЖЛИТЕРНЫЙ ПРОСВЕТ ТОЧНОСТЬ ТЕКСТА ВЫРАВНИВАНИЕ ТЕКСТА ВЫСОТА ЛИТЕРЫ ВЕРТИКАЛЬ ЛИТЕРЫ ШРИФТ ЦВЕТ
ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ ИДЕНТИФИКАТОР УКАЗАНИЯ РАЗМЕР ШАБЛОНА ТОЧКА ПРИВЯЗКИ ШАБЛОНА МАТРИЦА ШАБЛОНА ВИД ЗАПОЛНЕНИЯ ВИД ШТРИХОВКИ ЦВЕТ
МАТРИЦА ЯЧЕЕК ИДЕНТИФИКАТОР УКАЗАНИЯ ЦВЕТ
ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА ИДЕНТИФИКАТОР УКАЗАНИЯ Остальные атрибуты зависят от типа ОПВ ЦВЕТ

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

Атрибуты описывают следующие характеристики примитивов вывода:

Идентификатор указания – число, присваиваемое отдельным примитивам вывода внутри сегмента и возвращаемое устройством указания;

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

Тип линии – число, определяющее вид линии. Линия может быть сплошной, штриховая, штрихпунктирной, пунктирная, штрихпунктирная с двумя точками (см. ГОСТ 2.303-68 Линии).

Ввод

Классы ввода

ВВОД ПОЗИЦИИ (LOCATOR) – представляет прикладной программе координаты точки (позицию) в мировых координатах. Позицию определяет оператор путем установки устройства ввода (например, перемещая следящую стрелку, перекрестье с помощью мыши). Эквивалент названия LOCATOR – локатор, ввод координат, позиционирование.

ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ (STROKE) – предоставляет прикладной программе последовательность позиций в мировых координатах. Координаты определяются оператором путем установки устройства ввода позиции в несколько различных положений. Эквивалент названия STROKE – след, штрих, ввод массива позиций.

ВВОД ЧИСЛА (VALUATOR) – предоставляет прикладной программе вещественное число. Это значение определяет оператор, управляя устройством ввода числа (устанавливая потенциометр или вводя число с клавиатуры). Эквивалент названия VALUATOR – валюатор, датчик, оценщик, численный ввод.

ВЫБОР альтернативы (CHOICE) – предоставляет прикладной программе неотрицательное целое число, соответствующее выбору из некоторого числа возможностей. Эквивалент названия (CHOICE) – кнопка, альтернатива.

УКАЗАНИЕ объекта (PICK) – предоставляет прикладной программе имя сегмента и идентификатор указания. Сегмент идентифицируется оператором путем отметки части выведенного изображения. Эквивалент названия (PICK) – указка, обнаружение, выбор элемента.

ВВОД СТРОКИ (STRING) – предоставляет прикладной программе последовательность литер; строка набирается оператором с помощью устройства ввода строки (используется алфавитно-цифровая клавиатура). Эквивалент названия (STRING) – ввод текстовых строк, ввод последовательности символов.

Из перечисленных классов логических устройств ввода чисто графическими можно считать только ввод позиции, ввод последовательности позиции и указание объекта. Однако для разработки универсального интерактивного интерфейса взаимодействия между оператором и прикладной программой понадобятся все эти классы ввода.

Режимы ввода

Каждое логическое устройство ввода может функционировать в одном из трех возможных режимов. Режим работы определяется прикладной программой. В некоторый момент времени для обеспечения ввода с логического устройства можно использовать только один режим работы ЗАПРОС, ОПРОС и СОБЫТИЕ. В зависимости от режима значения вводятся оператором и передаются прикладной программе различными способами.

Режим работы ввода

ЗАПРОС (REQUEST) –обращение к специальной функции в режиме ЗАПРОС вызывает попытку прочесть значение логического ввода с указанного логического устройства. ЯГС ожидает ввода до тех пор, пока оператор либо не введет данные, либо не выдаст сигнал отмены ввода, который зависит от устройства логического ввода и от реализации.

ОПРОС (SAMPLE) – обращение к специальной функции в режиме ОПРОС предписывает ЯГС возвратить текущее значение логического ввода с указанного логического устройства, не дожидаясь действий со стороны оператора. Устройство должно находиться в режиме ОПРОС.

СОБЫТИЕ (EVENT) – ЯГС поддерживает одну входную очередь событий, состоящую из упорядоченных в порядке поступления записей о событиях. Запись о событии содержит идентификатор логического устройства и значение логического ввода, полученное от этого устройства. Записи о событиях от устройств, работающих в режиме СОБЫТИЕ, генерируется асинхронно, исключительно в зависимости от действий оператора. Прикладная программа может получить из очереди запись о наиболее раннем событии и проанализировать ее содержание. Возможно удаление из очереди всех записей о событиях, касающихся определенного логического устройства ввода.

В режиме ЗАПРОС чтение данных с графической станции весьма похоже на чтение текстовой информации с терминала с помощью обычного оператора READ языка Фортран. В любой момент прикладной программой может быть запрошен ввод только с одного устройства. Это ведет к диалогу, полностью управляемому прикладной программой, т.е. находясь в этом режиме, оператор не может, например, в произвольной момент свободно ввести позицию или выбрать альтернативу. Оператор может прервать ввод с помощью оговоренного при реализации действия отмены. Например, таким действием может стать нажатие соответствующей клавиши на станции. В этом случае прикладная программа будет уведомлена, что произошло прерывание и ввод данных невозможен.

В режимах ОПРОС и СОБЫТИЕ оператор может управлять любым из нескольких устройств по собственному усмотрению. Все логические устройства ввода, находящиеся в этих режимах, доступны ему. Отличие заключается в том, что в режиме ОПРОС текущие значения опрашиваемых устройств известны прикладной программе независимо от того, изменял оператор данные или нет (или даже просто прикасался к устройству), в то время как в режиме СОБЫТИЕ требуются определенные действия с его стороны, чтобы поместить значения в очередь событий.

Рассмотрим изменение значений устройства ввода позиции с помощью джойстика в режиме ОПРОС. Данные, получаемые в результате опроса внутри цикла, используются для формирования новой матрицы преобразования и преобразования ее с помощью группы сегментов. Когда цикл исполняется достаточно быстро, у оператора создается впечатление, что изменение сегментов непосредственно связано с движением джойстика. Если при этом установить режим работы обычной и функциональной клавиатуры СОБЫТИЕ, то с помощью данных устройств он сможет оповестить программу о своем намерении завершить или продолжить ее выполнение. С этой целью прикладная программа в конце каждой итерации должна проверять очередь событий.

 

 

Лекция 6

Компьютерная графика

Введение

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

Для их созданияиспользуют законы начертательной геометрии, отображающие геометрические объекты в виде точки, либо совокупности точек, которые образуют прямую, плоскость, поверхность в заданной системе координат.









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.