|
Предмет компьютерной графикиСтр 1 из 3Следующая ⇒ Лекция 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
Таблица 2
Таблица 3
Таблица 4
Обработка ошибок: вместе с каждой функцией ЯГС определяет некоторое число ошибочных состояний, которые могут быть зафиксированы во время выполнения функции. В случае возникновения такого ошибочного состояния прикладная программа может либо удовлетворяться стандартной реакцией системы, либо предпочесть собственные средства управления обработкой ошибок. Размерность системы координат: то, что в настоящий момент ЯГС является двумерной системой, удовлетворяет потребностям большинства приложений машинной графики. Это означает, что все вводимые и выводимые позиции представляются в двумерном пространстве. Тем не менее в некоторых приложениях могут потребоваться объемные примитивы вывода, такие как прямые в трехмерном пространстве и отсеки пространства или даже трех координатный ввод. Эти базовые понятия рассмотрим более подробно Графический вывод Применение машинной графики, при котором изображения создаются исключительно как результат выполнения функций вывода, без какого – либо вмешательства оператора, называется пассивным графическим выводом. Прикладной программист проверяет правильность работы своей графической программы, изучая созданные программой картины. Если результат его не удовлетворяет, то он вносит изменения в программу. Так создают САПР разрабатываемого изделия. Прямой противоположностью пассивному выводу является графика с вмешательством оператора в процесс графического вывода вводом новых данных – такая графика называется интерактивная машинная графика. В зависимости от типа используемого устройства визуализации способы графического вывода разделяются на координатную (линейную) и растровую графику. Координатная графика – область машинной графики, в которой изображение генерируется с помощью команд визуализации и координатных данных. Обычно базовыми элементами линейной графики служат отрезки прямых (векторы) или их последовательности. Примерами графических устройств, обеспечивающих такой способ вывода, являются перьевые графопостроители и векторные дисплеи. Характерным отличием этих устройств является наличие пишущего узла графопостроителя, или электронного луча. Пишущий узел может быть установлен в произвольную позицию на поверхности визуализации. Перемещая пишущий узел с включенным или выключенным режимом «рисование» (с поднятым или опущенным пером), можно получить видимые или невидимые отрезки. В ЯГС существуют примитивы вывода, учитывающие специфику координатных графических устройств. Термин рисование (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 Компьютерная графика Введение Компьютерной или машинной графикой принято называть способность персонального компьютера заполнять какое-то трехмерное пространство зримыми образами. Процесс заполнения предполагает процесс создания зримого образа, а также его отображения на рабочей плоскости. Для их создания используют законы начертательной геометрии, отображающие геометрические объекты в виде точки, либо совокупности точек, которые образуют прямую, плоскость, поверхность в заданной системе координат. Дл< Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|