Интерактивные системы машинной графики
Задача интерактивной системы машинной графики при выполнении вывода заключается в преобразовании информации из исходного высокоуровневого представления предметной области в представление команд графических устройств вывода. При выполнении ввода, наоборот, требуется преобразование низкоуровневой информации от физических устройств ввода в высокоуровневую информацию на языке предметной области.
Рис. Обобщенная модель интерактивной системы
Можно выделить два основных способа построения средств вывода - системы с графическим языком высокого уровня, включающим в себя развитые средства для обработки графической и геометрической информации, и системы с расширенным языком, которые, как правило, представляют тот или иной алгоритмический язык высокого уровня, расширенный средствами обработки графической и геометрической информации. На практике это пакет подпрограмм, реализующих требуемые функциональные возможности.
Ввод информации обеспечивается с помощью языка диалога. Диалог обычно осуществляется в виде команд, содержащих числовые значения, имена, координаты, произвольный текст. Выполняя ввод команд пользователь работает с тем или иным набором вводных устройств, определяемых лексикой языка - алфавитно-цифровой и функциональной клавиатурами, шаровым указателем (track ball), планшетом (tablett) и т.п.
Графические языки высокого уровня
Имеется два подхода к построению систем программирования с языками машинной геометрии и графики высокого уровня. Первый подход состоит в создании автономного языка, второй - в необходимой модификации того или иного исходного алгоритмического языка.
Первый подход позволяет создать язык, наиболее соответствующий специфике работы с графической и геометрической информацией, но только в том классе приложений, для которых предназначался язык. Исторически основная область приложений таких языков - автоматизация программирования для оборудования с ЧПУ; системы автоматизации проектно-конструкторских работ, требующие средств работы с данными, отсутствующих в широко распространенных алгоритмических языках; системы геометрического моделирования.
Одним из первых проблемно-ориентированных языков, имеющих средства для описания геометрической информации, явился язык АРТ (AUTOMATED PROGRAMMING TOOLS). Этот язык послужил основой для разработки разнообразных систем автоматизации программирования для станков с ЧПУ.
Есть базовый проблемно-ориентированный язык описания графической информации ОГРА, предназначенный для описания графических конструкторских документов и операций их формирования в системах автоматизированного проектирования.
Существует также комплекс САГРАФ, предназначенный для использования в учебной системе коллективного пользования МИФИ для решения задач машинной геометрии и графики. В комплексе имеются подсистемы геометрического синтеза, геометрического анализа и графического моделирования.
Ясно, что автономные графические языки, как всякая специализированная разработка, обладают высокой эффективностью в своей области приложений, однако разработка и использование таких языков сопряжена с рядом проблем:
– довольно значительные затраты на создание языка и транслятора с него;
– затраты на внедрение, на включение языка в работающую систему программирования и на обучение пользователей, которые не всегда охотно берутся за изучение еще одного языка, а предпочитают пользоваться процедурными расширениями известных им алгоритмических языков: ALGOL, FORTRAN, PL-1, PASCAL и т.д.;
– трудности с последующим расширением языка;
– известные в настоящее время языки машинной геометрии и графики, в отличие от процедурных расширений, как правило, не обеспечивают интерактивного режима, а предназначены для написания пассивных программ;
– затруднено объединение в рамках одной прикладной программы графических и геометрических действий и обычных вычислений, которое легко реализуется в случае процедурных расширений.