6. Принципы построения программных средств машинной графики

6.2. Основные подходы к разработке программных способов машинной графики

 

 

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

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

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

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

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

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

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

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

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

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

Уровень 1 – пакеты прикладных программ, построенные по принципу «перевернутой пирамиды». Выходные данные в таких пакетах являются общим интерфейсом для всех графических устройств, поскольку набор выходных графических примитивов очень ограниченный, но достаточный для генерации любого изображения. Этот набор может включать, например, следующие примитивы: точка, отрезок прямой, алфавитно-цифровой символ.  

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

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

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

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

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

Контрольные  вопросы.

1.  На каком уровне расширения алгоритмических языков разрабатывают драйверные программы?  

2.  Какой уровень расширения алгоритмических языков составляет ядро расширения?  

3.  В чем состоят недостатки принципа "перевернутой пирамиды"?  

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

     Содержание