Принципы построения прикладного программного обеспечения машинной графики.

Назначение, классификация и общая характеристика ППО МГ.

Прикладное программное обеспечение машинной графики.

16.1.Назначение, классификация и общая характеристика ППО МГ.

16.2.Принципы построения прикладного программного обеспечения машинной графики.

16.3.Программное обеспечение подсистем автоматизированного выпуска чертежей.

 

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

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

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

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

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

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

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

К объектно - ориентированному ППО МГ относятся узкоспециализированные программные средства, предназначенные для выпуска чертежей объектов или изделий определенного класса, например монтажных схем зданий из сборных железобетонных элементов определенной серии или конструкторских чертежей отдельных изделий типа валов, шестерен, колонн.

По способу реализации ППО МГ можно разделить на автономные программные комплексы, пакеты прикладных программ и программные процессоры.

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

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

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

По типу используемого базового уровня для связи с графическими устройствами ППО МГ можно подразделить на приборно - зависимое и приборно - независимое.

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

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

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

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

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

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

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

открытости по отношению к классу решаемых задач;

обеспечению мобильности и терминальной независимости систем, работающих на базе ПО машинной графики;

высокой эффективности использования ресурсов ЭВМ различного класса.

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

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

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

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

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

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

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

Прикладные расширения ППП МГ характеризуют все дополнения к базисным функциям ввода - вывода пакета, как универсальные, так и зависящие от конкретных условий применений (операции по выводу графиков, аппроксимации кривых, геометрических 2Д- и 3Д-построений).

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

Многоуровневая структура ПО МГ. В структуре ПО МГ различных применений выделяется по крайней мере пять уровней.

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

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

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

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

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

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

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

Международной организацией по стандартизации (ИСО) и соответствующими национальными комитетами ведется работа по разработке стандартов машинной графики в следующих областях:

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

CGM - метафайл машинной графики (ММГ) - приборно - независимый формат машинной графики для обмена данными;

CGI - интерфейс машинной графики (ИМГ) - множество базовых элементов для целей управления и обмена данными между приборно-зависимыми и приборно - независимыми уровнями в графических системах;

GKS-3D - 3Д расширение ЯГС предусматривающее включение базовых функций, для программирования машинной графики в трехмерном пространстве;

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

IGES, STEP - группа стандартов на интерфейсы для обмена геометрическими, графическими и технологическими данными в САПР.