Координатная и растровая графика

МАШИННАЯ ГРАФИКА

 

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

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

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

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

В зависимости от направления, в котором преобразуются и пере­даются данные, способа их визуального представления и типа объек­тов, которыми манипулирует графическая система, различают три об­ласти применения машинной графики:

- синтез;

- анализ;

- обработка изображения.

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

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

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

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

 

 

Координатная и растровая графика

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

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

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

 

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

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

           
   
   
 

 


на основе векторов на основе пикселей

Рисунок 2.1 - Способы построения литер из векторов и пикселей

 

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

 

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

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

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

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

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

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

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

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

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

- ломаная;

- полимаркер;

- текст;

- полигональная область;

- матрица ячеек;

- обобщенный примитив вывода.

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

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

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

 

 

       
 
   
 

 


Рисунок 2.2 - Векторный примитив – ломаная

 

Точечный примитив – полимаркер (рисунок 2.3). Графическая система генериру­ет набор символов некоторого типа, которые центрируются в указан­ных точках. Эти символы называются маркерами и отмечают последова­тельность позиций знаками требуемой формы.

 
 

Рисунок 2.3 - Точечный примитив – полимаркер

Текстовый примитив - текст. Графическая система генерирует строку литер с началом в указанной позиции.

Растровые примитивы - полигональная область (рисунок 2.4). Графическая система генерирует многоугольник, область, которую он ограничива­ет, может быть пустой, иметь фоновую окраску, быть покрытым узором по шаблону или заштрихованным.

 

Рисунок 2.4 - Полигональная область

Матрица ячеек (рисунок 2.5). Графическая система генерирует матрицу прямоу­гольных ячеек, каждой из которых присвоен индивидуальный цвет.

 

 
 

Рисунок 2.5 - Матрица ячеек

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

 
 

 


Рисунок 2.6 - Обобщенный примитив вывода

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

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

 

2.3 Интерактивная машинная графика

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

Классы ввода

Ввод позиции - предоставляет прикладной программе (ПП) коор­динаты точки (позицию) в мировых координатах. Позицию определяет оператор путем установки устройства ввода (например, перемещая следящее перекрестье или позиционируя перо на планшете).

Ввод последовательности позиций - предоставляет ПП последова­тельность позиций в мировых координатах. Координаты определяются оператором путем установки устройства ввода позиции в несколько различных положений.

Ввод числа - предоставляет ПП вещественное число. Это число определяет оператор, управляя устройством ввода числа.

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

Указание объекта - предоставляет ПП имя сегмента и идентифи­катор указания. Сегмент идентифицируется оператором путем отметки части выведенного изображения.

Ввод строки - предоставляет ПП последовательность литер, строка набирается оператором с помощью устройства ввода строки.

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

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

ОПРОС - обращение к специальной функции в режиме ОПРОС предписывает графической системе возвратить текущее значение логическо­го ввода с указанного логического устройства, не дожидаясь действий со стороны оператора.

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

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

В режимах ОПРОС и СОБЫТИЕ оператор может управлять любым из нескольких устройств по своему усмотрению.

Эхо, подсказки и инициализация устройств ввода

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

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

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

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

 

следящее «резиновая нить» числовое представление

перекрестье

текущая позиция 100 164

 

фиксированная точка

Рисунок 2.7 - Эхо ввода позиции

 

указатель шкала числовое представление

 

Рисунок 2.8 - Эхо ввода числа

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

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

Сегменты