- •1.Особенности программного обеспечения интерактивных графических систем
- •1.1.Автоматизированное проектирование и машинная графика
- •1.2.Особенности программного обеспечения интерактивных графических систем
- •Формирование элементов графических изображений
- •Преобразования
- •Управление отображением и организацией окон
- •Сегментация изображений
- •Ввод данных пользователем
1.2.Особенности программного обеспечения интерактивных графических систем
1.2.1.Структурный аспект
Графические программы достаточно разнообразны, однако можно выделить некоторые характерные особенности структуры и произвести классификацию этих программ. При подробном рассмотрении операций, реализуемых с помощью интерактивного графического программного обеспечения, обнаруживается, что оно состоит из четырех уровней (рис.1.5):
прикладной уровень, который образован программой, управляющей библиотекой специфичных для данного применения алгоритмов и так называемой прикладной базой данных. В общем случае эти данные не являются графическими;
уровень описания, состоящий из программ описания или моделирования, Эти программы используют алгоритмы кодирования и структуру данных, называемую сценой или геометрической моделью. Основными элементами этой структуры являются геометрические объекты, для которых можно рассчитать вид, то есть их графическое представление;
Уровень подготовки к визуализации, состоящий из двух процедур:
декодирование, то есть переход от кодированного представления сцены к конкретному кодированному представлению рисунка или чертежа. Это представление является двумерным и обычно выбирается таким образом, чтобы обеспечить определенную независимость от приложения и аппаратуры. Это кодированное представление принято называть графическим файлом;
размещение, в процессе которого различные составные части графического представления располагаются на экране. Именно на этом уровне выполняется переход от окна (пространство координат пользователя, которое содержит часть графического файла, подлежащую визуализации) к полю вывода (прямоугольная часть экрана, на которую отображается содержимое окна);
элементарный уровень, позволяющий перейти от кода, описанного в предыдущем пункте, к фактическому машинному коду. Результатом является дисплейная программа, то есть совокупность команд для фактически используемой аппаратуры.
Описанные выше операции реализуются без каких-либо трудностей при подготовке графического представления. Однако обратная задача, то есть переход от графического оборудования к прикладной программе, оказывается сложной, поскольку это задача синтеза, связанная с переходом от частного к общему. Это же является причиной невозможности использования файлов обмена информацией системы AutoCAD, которые содержат в себе данные либо в форме графического файла в символьном формате (DXF-формат), либо очень близки к дисплейной программе в форме бинарных файлов (DXB-формат).
Описанная структура (рис.1.5) является идеальной, и на практике может оказаться, что некоторые уровни не разделены столь явно, как это описано.
На рис.1.6 показан пример программного обеспечения, в котором отсутствует уровень описания. Это означает, что в случае необходимости распределения такого программного обеспечения между различными машинами невозможно выделить независимый уровень управления геометрической моделью. Обычно описанную выше иерархию не соблюдают строго по двум основным причинам:
из-за увеличения эффективности при объединении уровней иерархии (рис.1.7). Типичным примером служат геометрические преобразования. Так, например, можно считать, что преобразования размещения внутри сцены и на экране имеют один и тот же уровень, и можно использовать такие методы вычисления, которые позволяют с помощью одного преобразования получить окончательное изображение. За счет этого можно избежать нескольких проходов по всей совокупности данных, каждый из которых необходим для частичного преобразования;
из-за экономии памяти за счет отказа от постоянной корректировки содержимого одной из структур данных (рис.1.8) (указанную структуру данных заменяют расчетом всякий раз, когда необходимо пересмотреть элементы определенного уровня). Это может привести к резкому увеличению времени ответа.
Выбор структуры графического программного обеспечения оказывает существенное влияние на обеспечиваемые в дальнейшем возможности:
группировка вычислений, соответствующих различным уровням, а также отсутствие дублирования некоторых структур данных могут сделать невозможным распределение программного обеспечения между несколькими машинами;
отказ от структур данных, считающихся ненужными, ограничивает возможности интерактивной работы, поскольку переход на верхние уровни может рассматриваться как недопустимо дорогостоящая операция;
если предполагается, что система будет работать в разных организациях и с использованием различной аппаратуры, может оказаться необходимым выделение базового графического программного обеспечения. В этом случае четкое разделение отдельных составных частей может стать достоинством, поскольку будет точно известно, от чего зависит каждый уровень.
Поэтому в настоящее время все чаще начинают выделять следующие модули (рис.1.9):
- модули геометрического моделирования, использующие произвольные коды и тесно связанные с прикладной программой;
- модули подготовки к визуализации, которые содержат главным образом операции проецирования и графической обработки (типа удаления невидимых элементов) и соответствуют той части рисунка, которая обозначена словом "декодирование";
- базовое графическое программное обеспечение, содержащее программы размещения и элементарные графические программы. Одним из вариантов может служить международный стандарт GKS.
1.2.2.Функциональный аспект
В процессе работы пользователя с графической системой производятся различные действия, которые можно разделить на три категории:
взаимодействие с графическим терминалом с целью формирования или изменения изображения на экране;
конструирование модели какого-либо физического объекта из изображения на экране (создание прикладной модели);
ввод сконструированной модели в ОЗУ ЭВМ или во вспомогательное ЗУ.
При работе с графической системой пользователь выполняет эти функции в различных комбинациях, а не последовательно. Сначала он конструирует некоторую физическую модель, а затем вводит ее в память, описывая системе изображение в диалоговом режиме. Эти действия можно выполнять, не задумываясь над тем, относятся ли они к категории 1, 2 или 3. Основанием для подобного разделения этих функций является то, что они соответствуют общей структуре пакета программ, используемого в интерактивной машинной графике. Программные средства машинной графики можно разделить на три модуля:
пакет программ машинной графики (графическая система);
прикладная программа;
прикладная база данных.
Эта структура программного обеспечения представлена на рис.1.10. Ее центральным модулем является прикладная программа, которая управляет загрузкой и поиском данных в прикладной базе данных. Прикладная программа запускается пользователем с помощью пакета программ машинной графики и используется для построения модели физического объекта, изображение которого должно быть представлено на графическом терминале.
Пакет программ машинной графики является средством обеспечения взаимодействия пользователя с графическим терминалом. Он управляет графической взаимосвязью пользователя и системы, а также играет роль интерфейса между пользователем и прикладным программным обеспечением.
Прикладная база данных содержит математические, числовые и логические определения прикладных моделей. Она также включает буквенно-цифровую информацию, связанную с этими моделями, как, например, спецификацию материалов, их свойства и другие данные.
Пакет программ машинной графики для выполнения надлежащей роли в структуре программного обеспечения должен реализовывать целый ряд функций, которые можно объединить в функциональные группы. Каждая такая группа реализует определенные взаимодействия между пользователем и системой: формирование элементов графических изображений; преобразования; управление отображением и организацией окон; сегментация изображений; ввод данных пользователем.