Машинная графика

  • Научно-исследовательская работа
  • Научные работы
  • Образовательные программы
  • Повышение квалификации
  • Подготовка к тестированию
  • docx
  • 14.02.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Специалисты постоянно стремились облегчить общение между пользователем и машиной, стремились заставить ее работать в наиболее удобном для человека режиме. Один из наиболее удобных способов восприятия информации - графический. Поскольку пользователи нуждались в получении от машины графической информации, машину стали этому учить. Разработали устройства графического ввода-вывода данных. Ни отрезок прямой, например, ни кривую не надо было перекладывать на кодированный язык: их чертила сама машина. Раз машина научилась чертить, то не замедлили воспользоваться ее новым навыком. Системы автоматизированного проектирования - САПРы - сначала использовались как своего рода электронные эквиваленты чертежной доски, во много раз увеличивающей производительность труда, хотя машина давала графическую продукцию только в двух измерениях. К тому же включались в работу не все возможности машины.
Иконка файла материала Машинная графика.docx
Машинная графика ­ методы создания и преобразования изображений с помощью вычислительных машин. Специалисты постоянно стремились облегчить общение между пользователем и машиной,  стремились заставить ее работать в наиболее удобном для человека режиме. Один из  наиболее удобных способов восприятия информации ­ графический. Поскольку пользователи нуждались в получении от машины графической информации,  машину стали этому учить. Разработали устройства графического ввода­вывода данных.  Ни отрезок прямой, например, ни кривую не надо было перекладывать на кодированный  язык: их чертила сама машина. Раз машина научилась чертить, то не замедлили воспользоваться ее новым навыком.  Системы автоматизированного проектирования ­ САПРы ­ сначала использовались как  своего рода электронные эквиваленты чертежной доски, во много раз увеличивающей  производительность труда, хотя машина давала графическую продукцию только в двух  измерениях. К тому же включались в работу не все возможности машины. Но затем графическое умение машин усовершенствовали. На машинах стали применять  разные методы работы. При так называемом трехмерном моделировании с проектируемом объектом можно  производить много манипуляций: придумывать для него и его деталей неограниченное  число конфигураций и анализировать их достоинства и недостатки; поворачивать объект  под любым углом зрения; воспроизводить в любом масштабе, а смену положений  осуществлять намного быстрее, чем раньше; пробовать различные цвета, в которые можно  было бы его окрасить. К тому же САПР позволяет быстро вычислять размеры объекта проектирования, центр  тяжести, момент инерции, объем. и все это на экране дисплея, когда ничего не надо  изготовлять в натуре, то есть не тратить ни средств, ни времени. Что же касается объекта  моделирования, им может быть что угодно: самолет, автомобиль, мебель. Незаменимую способность компьютера оперировать большими объемами данных  использовали в методе трассировки. Его применяют там, где необходимо рассчитать  наилучшую компоновку объекта проектир6вания. С помощью трассировки определяют,  как лучше, например, расположить кремниевые кристаллы в какой­либо плате для нуждрадиоэлектроники или наиболее целесообразно организовать городскую дорожную сеть. Очень распространен в инженерных и проектировочных работах метод имитирования.  Любую придуманную модель или опытный образец можно с помощью компьютера  поместить в любую сложную обстановку, то есть устроить испытания, которые только  способен вообразить себе, предположим, авиаконструктор. Он может еще до постройки  самолета испытать его в реальном полете, выявив особенности конструкции, обнаружив  ошибки в своих решениях. С помощью рисующей машины совершая полет на «рисованном» самолете, придумав для  него и аварийные ситуации, и отказы в работе узлов, и реакцию на воздушные возмущения. Причем такие имитации производятся и в замедленном масштабе времени чтобы лучше во  все вглядеться, изучить, проанализировать. Однажды за данные конструктивные элементы  или результаты анализа той или иной ситуации записываются в памяти и могут быть  вызваны оттуда по первому требованию. САПРы используют не только в качестве советчика при выборе наилучших параметров  конструкции, но и в качестве ограничителя, устанавливающего допустимое число решений, а также в качестве «анализатора» выделяющего из множества вариантов так называемую  «неощущаемую» по своим критериям конструкцию. В результате машина сама выявит предельные технические возможности проектируемого  объекта. Системы автоматизированного проектирования намного облегчаю практическую  деятельность инженера­проектировщика. Его двухнедельную работу проектировщик­ компьютер выполняет за полтора­два часа. САПР помогает и в производстве. Ведь машина одновременно с изготовлением чертежа,  чтением его умеет управлять технологическим процессом. К примеру, рассчитанный  профиль крыла самолета выводится на экран, данные о модели сразу поступают на  фрезерный станок, где нужная модель изготавливается. Машинная графика стала стандартной формой связи с компьютером. К ней прибегают и  студенты в компьютерных аудиториях, и школьники в дисплейных классах, и даже  дошкольники в компьютерных клубах.Широкому распространению компьютерной графики способствовали несколько причин.  Прежде всего появление персональных компьютеров, оснащенных устройствами  графического ввода­вывода. Затем применение в современных компьютерах памяти  огромной информационной емкости. Это очень важно для программ построения и обработки изображений и дает возможность  переносить прикладные программы с одного типа машины на другой. И наконец,  максимальное удобство для пользователя. Он может работать в реальном режиме времени,  осуществляя принцип: что вы видите, то и получаете. Привлекательна и экономность  труда: не надо набирать на клавиатуре компьютера команду за командой, а стоит только  выбрать вариант из различных списков команд чтобы начать работу. Само собой разумеется, создавать изображения машине позволяют про граммы. Одни из  первых активно работающих программ машинной графики напоминали действие  воображаемого фотоаппарата. В такой программе имеется закодированная геометрическая информация о модели, которую надо изобразить. После моделирования объекта  воображаемый фотоаппарат переносит на экран ­ визуализирует ту часть модели, которая в данном случае необходима пользователю. Другой вид программ оперируют пикселями. В подобных случаях у пользователя большие  возможности в общении с машиной. Он, извлекая информацию из буфера образов, может  перекрашивать, перемещать изображения, производить с ними логические операции. Этот  вид программ аналогичен изготовлению фотографий, когда изображение изменяется  непосредственно на эмульсионном слое, а не при экспонировании пленки. Еще большему удобству работы способствуют стандартные программы ­ стандарт на  техническое черчение, на автоматическое проектирование, стандарт на запись текста,  стандарт на изображение для телевидения. Машинная графика в последние годы находит применение в самых разных областях  человеческой деятельности. Ею пользуются для создания «непрерывных» карт, не  ограниченных размерами бумаги. Они нужны, чтобы видеть сразу гигантские трассы  трубопроводов или электрокабелей. Многое дает объединение усилий двух муз ­ архитектурной и кибернетической ­ для  проектирования зданий и городов.Машинную графику применяют даже при ремонте автомобилей, согласуя работу с заранее  заготовленным фильмом ­ последовательностью кадров правильного ремонта. Машины  рисуют и электронную газету, которая фиксирует все сообщения, поступающие по линиям  связи, подготавливая для читателей статьи, заметки, рисунки вслед за происходящими  событиями. С помощью машины можно создать и фантастический фильм, где придуманный мир будет  представлен как реалистический: автомобиль, разъезжающий по кольцам Сатурна, деревья, не существующие в природе, технические устройства, нарисованные одним воображением  и даже не доступные никакому воображению. Рисующий компьютер оказывает неоценимую услугу и в дизайне художественном  конструировании. Сколько вариантов перебирал дизайнер, прежде чем находил наилучшее решение,  удовлетворяющее и эстетическим, и техническим, и технологическим требованиям! Варианты сначала приходилось искать на бумаге, потом переводить в пластилин, потом  изготовлять макет. Без таких операций невозможно было создать модель. Вместо этого теперь пользуются электронным пером, рисующим на экране дисплея.  Облегчилось осуществление любого сложного замысла художника­конструктора,  проектирование любого изделия: то ли модной одежды, то ли современной мебели, то ли  кузова нового автомобиля. А машинная графика в кино? Режиссер может, например, дать задание машине, какие  действия должны происходить в мультфильме. И машина воспроизведет их  последовательно кадр за кадром. Чтобы получить фильм, длящийся всего секунду, нужно  произвести от 864 миллионов до 864 миллиардов арифметических операций. В течение  месяца компьютер делает 60­минутный фильм. Это намного производительнее, чем работа  традиционными методами: в год два фильма. С помощью машинной графики занимающийся не только рисованием, черчением и  проектированием. Она помогает и в научных исследованиях. Так, в молекулярной  биологии выводят на экран изображение молекулы, чтобы проследить ее внутреннюю  структуру.Медик воспроизводит на экране человека лишь из скелета и мышц. Такой графический образ, полученный в результате математического синтеза миллионов  данных, предоставленных компьютерным томографом, позволяет уточнить поперечные  сечения тела пациента; в другом случае видеть отложения извести на стенках аорты, чего  нельзя увидеть применяя иные способы. Химику, знающему расположение отдельных атомов в молекулах, машинная графика  помогает по­новому оценить химические процессы, в которых важна роль формы молекул.  Следовательно, машинная графика способствует пониманию сложнейших явлений. Она дает возможность еще и проводить эксперименты, избегая риска. В качестве примера  возьмем авиа­тренажер, представляющий точный макет кабины летчика со всеми  приборами и устройствами. Авиа­тренажер снабжен дисплеями, на которых  воспроизводится изображение местности, видимой во время взлета и посадки. Различные  манипуляции пилота при управлении полетом меняют изображение на экранах, создавая  полную иллюзию движения самолета. Таким образом, машина, работающая по программе машинной графики, устраняет прежде  всего риск катастрофы самолета, заранее знакомит пилота с особенностями местности, где  придется пролетать, характеристиками различных аэропортов, откуда надо будет вылетать или куда надо будет приземляться. Очень часто ученому необходимо получить ответ на вопрос: «Что произойдет, если ... »  обычно после этого требовался и сложный эксперимент, и большие затраты, и длительное  время. Теперь исследователю помощником стала машина, быстро, наглядно, оперативно  отвечающая на подобные вопросы. Рисующие машины позволяют строить фантастические сцены в реальном масштабе  времени, в которых сочетаются и изображение и голос. Такой симбиоз дает новый способ общения пользователя с машиной, открывает новые  перспективы в области искусственного интеллекта. Если же заглянуть в будущее, то нетрудно предположить, как рисующий, проектирующий,  моделирующий компьютер позволит ученым погрузиться в глубины микро­ имакрокосмоса, такие реальные и одновременно такие иллюзорные. И не просто  погрузиться, а действовать, перестраивая их в поисках научной истины. Художники овладеют невиданным средством изображения реальности не на ограниченном  пространстве холста, а на необъятной площади, составленной из миллионов изображений,  фиксируемых на экране электронной машины. Возможно, именно таким образом появится необыкновенный мир, запрограммированный, и  перед людьми возникнет действительность, сформированная новыми знаниями ученых и  неограниченной фантазией художников. технические средства проектирования машинная графика преимущества машинной графики основные системы машинной графики развитие идей машинной графики архитектурная фото использования фото в градостроительном проектировании применение ЭВМ для схемы пространственной композиции использование аэрофотоснимков архитектурно­градостроительная макетоскопия проблема объективного реального восприятия градостроительных макетов Основные системы машинной графики в настоящее время представлены двумя типами: диалоговые или автоматические системы (иногда их называют интерактивными). Они  работают по принципу разделения функций человека и машины. Основными средствами их  общения являются световое перо и функциональная клавиатура, на кнопках которой  заранее запрограммировано выполнение каких­либо конкретных и распространенных в  проектировании операций и процедур. Для этого необходим перечень таких процедур; автоматические (неинтерактивные) системы машинной графики отличаются полным  разделением функций человека и машины. Человек (проектировщик) вводит в машинусоответствующую программу, после чего она функционирует без дальнейшего  вмешательства человека и в конце работы выдает готовый результат на графопостроителе.  Основное преимуществ во такой системы ­ значительно меньшие затраты машинного  времени по сравнению с диалоговыми системами. Современные средства машинной графики позволяют усиливать реалистичность  восприятия изображаемых объектов и картин различными способами: модуляции  интенсивности линий и фокуса с глубиной, изображение собственных и подающих теней,  блики, цвет, движение (мультипликация), монтаж, стереоскопию и голографию. Например,  техника получения затемненного изображения при помощи растрового дисплея вместе с  алгоритмом устранения невидимых линий разработана сейчас до такой степени, что можно получать изображения перспектив с  тенями, почти не отличающиеся от реальной картины. Цветовые эффекты на  графопостроителях достигаются с помощью сменной чертежной головки с перьями  различного цвета. Имеются цветные дисплеи, которые могут выдавать достаточно  реалистичные изображения. Оглавление      Графические языки высокого уровня      Синтаксические расширения алгоритмических языков      Процедурные графические языки      Языки диалога      Выводы ВВЕДЕНИЕ 0.1       ИНТЕРАКТИВНЫЕ СИСТЕМЫ МАШИННОЙ ГРАФИКИ       0.1.1       0.1.2     0.1.3         0.1.4       0.1.5 0.2       АРХИТЕКТУРА ГРАФИЧЕСКИХ РАБОЧИХ СТАНЦИЙ       0.2.1     0.2.2           Регенерация видеопамяти         Модификация данных в видеопамяти     0.2.3         Графические процессоры TMS­34010 и TMS­34020         Графический сопроцессор Intel 82786         Набор графических СБИС National AGCS     0.2.4     0.2.5      RISC­процессор с графическим устройством (i860)      Высокоскоростные графические системы            Компоненты современных растровых дисплейных систем      Видеопамять      Технические средства формирования изображенийВыводы      Системы управления окнами (WMS)      Инструментарий создания пользовательского интерфейса      Системы управления интерфейсом пользователя      Непосредственное манипулирование      Пример реализации UIDS/UIMS      Выводы      AVS ­ Прикладная система научной визуализации      NGP (Network graphics рrotocol)      Международная деятельность по стандартизации в машинной графике      Деятельность ISO, IEC по стандартизации в машинной графике      Классификация стандартов      Core­System      GKS (Graphical Kernel System)      GKS­3D (Graphical Kernel System for Three Dimensions)      PHIGS (Programmer's Hierarchical Interactive Graphics Sys ­tem)      PHIGS+      CGI (Computer Graphics Interface)      Графические протоколы         Требования к высокоскоростным графическим системам         Система Silicon Graphics POWER IRIS 4D/380 VGX         Система Stardent GS2000       0.2.6 0.3       СТАНДАРТИЗАЦИЯ В МАШИННОЙ ГРАФИКЕ       0.3.1     0.3.2         0.3.3     0.3.4         0.3.5       0.3.6     0.3.7         0.3.8     0.3.9         0.3.10     0.3.11           Аппаратно­зависимые графические протоколы         Языки описания страниц         Аппаратно­независимые графические протоколы         Проблемно­ориентированные протоколы         Растровые графические файлы       0.3.12       0.3.13 0.4       СИСТЕМЫ УПРАВЛЕНИЯ ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ (UIMS)     0.4.1         0.4.2     0.4.3         0.4.4     0.4.5       0.4.6   0.5       VISC ­ ИНИЦИАТИВА     0.5.1           Архитектура системы прикладной визуализации      ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ 0.6        0.6.1      Тестовые программы (Benchmarks)      Результаты тестов       0.6.2      X Window System      ВыводыСПИСОК ЛИТЕРАТУРЫ ВВЕДЕНИЕ Цель данной, третьей части курса обучения машинной графике, ­ дать общий обзор  архитектур программных и технических средств машинной графики. Первый раздел носит вводный характер. В нем формулируются общие принципы  построения интерактивных систем машинной графики. Анализируются подходы к  построению средств вывода, основанные на использовании специализированных  графических языков, синтаксических графических расширений существующих  алгоритмических языков и процедурных расширений алгоритмических языков.  Показывается, что наибольшее распространение получили процедурные расширения а  также специализированные графические языки. Завершается первый раздел анализом  организации языков диалога. Во втором разделе: 1. Разъясняются понятия "рабочей станции" и "суперстанции". 2. Описываются архитектурные решения используемые в рабочих станциях, в том числе  показывается, что современные станции состоят из трех основных компонент ­  видеопамяти, графического процессора (процессоров) и видеоконтроллера. Особое  внимание уделяется вопросам организации видеопамяти. 3. Анализируются основные подходы к построению средств формирования изображений  (графических процессоров). Показывается, что основными подходами являются: ∙ использование специализированных, полностью программируемых процессоров, ∙ использование непрограммируемых графических сопроцессоров, реализующих  фиксированный набор функций, ∙ использование специализированных СБИС для построения графического процессора  требуемых возможностей и архитектуры. Упомянутые основные подходы иллюстрируются на примерах СБИС фирм: ∙ Texas Instruments ­ графические программируемые микропроцессоры TMS­34010, TMS­ 34020; ∙ National Semiconductor ­ набор графических СБИС DP­8500, DP­8510, DP­8512, DP­8515;∙ Intel ­ графический сопроцессор Intel 82786 и RISC микропроцессор с включением  графического устройства ­ Intel 860. 5. Рассматриваются конкретные реализации высокоскоростных 3D суперстанций на  примере систем POWER IRIS 4D/380 VGX фирмы Silicon Graphics и GS2000 фирмы  Stardent. Третий раздел посвящен вопросам стандартизации в машинной графике. В нем  описывается история работ по стандартизации, ее основные цели и задачи, заключающиеся  в обеспечении переносимости программного обеспечения. Вводятся и поясняются модели  переносимой графической системы. Рассматриваются организация и направления  деятельности по стандартизации в машинной графике. Дается классификация стандартов  на интерфейсы и протоколы. Приводятся общие описания различных стандартов на  интерфейс в области машинной графики: ∙ Core System, ∙ Graphical Kernel System (GKS), ∙ Graphical Kernel System for Three Dimensions (GKS­3D), ∙ Programmer's Hierarchical Interactive Graphics System (PHIGS), ∙ Programmer's Hierarchical Interactive Graphics System PLUS (PHIGS+), ∙ CGI (Computer  Graphics Interface). Рассматриваются протоколы передачи графических данных, используемые в различных  приложениях машинной графики В четвертом разделе рассматриваются активно формирующиеся в настоящее время  подходы к проблеме обеспечения эффективности разработки человеко­машинного  интерфейса. Важнейшей предпосылкой для решения этой проблемы является широкое  использование современных растровых дисплейных систем и высокоскоростных каналов  связи. В числе прочего в этом разделе рассматриваются: ∙ системы управления окнами (WMS), ∙ инструментарий создания пользовательского интерфейса, ∙ системы управления интерфейсом пользователя, (UIMS ­ User Interface Management  Systems), точнее системы проектирования интерфейса пользователя (UIDS ­ User Interface  Development Systems), ∙ техника "непосредственного манипулирования" (DM ­ Direct Manipulation). Приводится пример реализации UIDS/UIMS. Пятый раздел посвящен еще одной современной проблеме ­ проблеме визуализации,  особенно обострившейся с широким использованием суперкомпьютеров. В этом разделеобсуждается ViSC инициатива в США (Visualization in Scientific Computing) ­  "Визуализация в научных исследованиях". На эти работы в США предполагается  финансирование порядка 1% от всех затрат на машинную графику. ViSC ­ инициатива охватывает (интегрирует) машинную графику, обработку изображений,  компьютерное зрение, САПР (дизайн), обработку сигналов, пользовательский интерфейс.  Серьезная постановка и подходы к решению этой проблемы стали возможны благодаря  появлению суперстанций и формулированию новых идей и методов в программном  обеспечении. Приводится пример коммерческой системы визуализации ­ AVS. В последнем, шестом разделе излагаются методы и средства верификации и тестирования графических систем. Приводятся результаты тестирования более чем двадцати рабочих  станций. 0.      ИНТЕРАКТИВНЫЕ СИСТЕМЫ МАШИННОЙ ГРАФИКИ 0.1  ИНТЕРАКТИВНЫЕ СИСТЕМЫ МАШИННОЙ ГРАФИКИ Задача интерактивной системы машинной графики (рис. 0.1.1) при выполнении вывода  заключается в преобразовании информации из исходного высокоуровневого представления  предметной области в представление команд графических устройств вывода. При  выполнении ввода, наоборот, требуется преобразование низкоуровневой информации от  физических устройств ввода в высокоуровневую информацию на языке предметной  области. Рис. 0.1.1: Обобщенная модель интерактивной системы Можно выделить два основных способа построения средств вывода ­ системы с  графическим языком высокого уровня, включающим в себя развитые средства для  обработки графической и геометрической информации, и системы с расширенным языком,  которые, как правило, представляют тот или иной алгоритмический язык высокого уровня, расширенный средствами обработки графической и геометрической информации. На  практике это пакет подпрограмм, реализующих требуемые функциональные возможности.Ввод информации обеспечивается с помощью языка диалога. Диалог обычно  осуществляется в виде команд, содержащих числовые значения, имена, координаты,  произвольный текст. Выполняя ввод команд пользователь работает с тем или иным  набором вводных устройств, определяемых лексикой языка ­ алфавитно­цифровой и  функциональной клавиатурами, шаровым указателем (track ball), планшетом (tablett) и т.п. Далее, в п. 1.1­1.3, будут рассмотрены различные варианты построения геометрических  языков вывода, в п. 1.4 будут рассмотрены языки диалога. 0.1.1  Графические языки высокого уровня Имеется два подхода к построению систем программирования с языками машинной  геометрии и графики высокого уровня. Первый подход состоит в создании автономного  языка, второй ­ в необходимой модификации того или иного исходного алгоритмического  языка. Первый подход позволяет создать язык, наиболее соответствующий специфике работы с  графической и геометрической информацией, но только в том классе приложений, для  которых предназначался язык. Исторически основная область приложений таких языков ­  автоматизация программирования для оборудования с ЧПУ; системы автоматизации  проектно­конструкторских работ, требующие средств работы с данными, отсутствующих в  широко распространенных алгоритмических языках; системы геометрического  моделирования. Одним из первых проблемно­ориентированных языков, имеющих средства для описания  геометрической информации, явился язык АРТ (AUTOMATED PROGRAMMING TOOLS)  [57]. Этот язык послужил основой для разработки разнообразных систем автоматизации  программирования для станков с ЧПУ. В работе [23] предложен базовый проблемно­ориентированный язык описания графической информации ОГРА, предназначенный для описания графических конструкторских  документов и операций их формирования в системах автоматизированного  проектирования. В работах [50,] описан комплекс САГРАФ, предназначенный для использования в учебной  системе коллективного пользования МИФИ для решения задач машинной геометрии и  графики. В комплексе имеются подсистемы геометрического синтеза, геометрического  анализа и графического моделирования.В качестве примеров систем с автономным языком высокого уровня могут также служить  системы геометрического моделирования трехмерных тел ­ COMPAC [100,] и СИМАК­Д  [35]. Система COMPAC (COMPUTER ORIENTED PART CODING) предназначена для  формирования описания объемных тел из объемных элементов формы ­ (метод  конструктивной геометрии). Кроме трех базовых объемных элементов (кубы, цилиндры,  конусы), могут использоваться профилированные детали, получаемые перемещением  замкнутого контура вдоль прямой или дуги, а также тела вращения, получаемые  вращением замкнутого контура вокруг оси. Элементы задаются, позиционируются и  оразмериваются языковыми конструкциями, напоминающими АРТ [57]. Составление  детали из объемных элементов производится с помощью операций объединения, вычитания и отсечения. Отличия СИМАК­Д от COMPAC состоят в несколько ином входном языке и ином наборе  базовых элементов формы, включающем в себя точку, плоскость, прямоугольный  параллелепипед, круговые цилиндры и конус. * * * Ясно, что автономные графические языки, как всякая специализированная разработка,  обладают высокой эффективностью в своей области приложений, однако разработка и  использование таких языков сопряжена с рядом проблем: ∙ довольно значительные затраты на создание языка и транслятора с него, так, например,  трудозатраты на систему COMPAC составили около 40 ч/лет [117]; ∙ затраты на внедрение, на включение языка в работающую систему программирования и на  обучение пользователей, которые не всегда охотно берутся за изучение еще одного языка, а предпочитают пользоваться процедурными расширениями известных им алгоритмических  языков: ALGOL, FORTRAN, PL­1, PASCAL и т.д.; ∙ трудности с последующим расширением языка; ∙ известные в настоящее время языки машинной геометрии и графики, в отличие от  процедурных расширений, как правило, не обеспечивают интерактивного режима, а  предназначены для написания пассивных программ; ∙ затруднено объединение в рамках одной прикладной программы графических и  геометрических действий и обычных вычислений, которое легко реализуется в случае  процедурных расширений.0.1.2  Синтаксические расширения алгоритмических языков Ряд из отмеченных выше затруднений снимается при реализации второго подхода ­  синтаксическом расширении некоторого исходного алгоритмического языка. Удобство  этого подхода заключается в том, что пользователю требуется лишь "доучиться" в уже  известном ему языке. Расширение заключается в разработке дополнительных конструкций  языка для описания и манипулирования графическими и геометрическими объектами.  Возможны несколько способов реализации такого расширенного языка: ∙ модификация существующего транслятора; ∙ использование препроцессора, либо макропроцессора, обрабатывающего программу на  расширенном языке и превращающего его в программу на исходном языке; ∙ использование алгоритмического языка, предусматривающего расширение его набора  типов данных и операций над ними самим пользователем. Несмотря на всю неприспособленность FORTRANa для эффективной обработки  сложноструктурированных данных, неудобство его структур управления и средств  сегментирования программ, большинство реализаций синтаксических расширений было  связано именно с FORTRANом из­за его популярности в то время у пользователей. Одна из первых реализаций графического расширения FORTRANа система GRAF  (GRAPHIC ADDITIONS TO FORTRAN) [84]. Расширение основывается на введении  нового типа переменных DISPLAY, значениями которых являются последовательности  графических команд устройства. Имеются встроенные и пользовательские DISPLAY­ функции. Из DISPLAY­переменных и функций строятся выражения этого типа. Оператор  DISPLAY­присваивания присваивает вычисленное значение переменной соответствующего  типа. Предусмотрены средства стирания и вывода на оконечные устройства дисплейных  переменных, чтения/записи дисплейного файла, опроса наличия сигналов внимания с  графических устройств ввода. В качестве более мощного (и позднего) графического расширения FORTRANа можно  упомянуть систему GALA [99]. Также вводится новый тип данных ­ BILD. Значениями  этого типа могут обладать переменные и константы. В качестве системных констант этого  типа имеются элементарные изображения (в том числе пустое). Над данными этого типа  определены операторы преобразований. Для построения сложных изображений  используется, так называемый, оператор совмещения. Над изображением определены  операторы манипулирования и опроса. Изображения могут проверяться в условных  операторах. Имеются операторы вывода изображений с назначением преобразований и окнаотсечения. Средства ввода обеспечивают ожидание и получение данных, разрешение и  запрет прерываний. GALA­программа может структурироваться на поименованные  сегменты с параметрами или без. В качестве одной из отечественных разработок по графическому расширению FORTRANа  можно назвать "AВТОКОД для работы с графическим дисплеем EC­7064" [28], при  использовании которого обеспечивается пакетный режим работы, когда информация  только выводится на дисплей. Операторы АВТОКОДа вставляются в текст на FORTRANе  и помечаются в первой позиции буквой A. Предусмотрено 6 групп операторов:  резервирования памяти и увязывания с массивами FORTRANа; описания точек и процедур; построения совокупностей точек, ломаных, текстов, вызовов процедур; ветвления;  гнездования операторов; фрагментирования изображения на кадры и рисунки. Наряду с FORTRANом в качестве языка для графического расширения использовался  ALGOL. Так в [101] описана система DIGOS, которая состоит из геометрически  ориентированного языка, его интерпретатора и трехуровневой структуры данных (PDS ­  параметрической кольцевой структуры, элементы которой формируются операторами  геометрически­ориентированного языка; DDSR3 ­ структуры данных 3D представления,  формируемой из PDS при активации вывода; DDSR2 ­ структуры данных 2D  представления, формируемой из DDSR3 при выполнении преобразований, проецирования и отображения). В языке предусмотрены 2 группы геометрических операндов ­ простые  геометрические элементы (точки, прямые, плоскости, последовательности точек,  поверхности, тела) и составные геометрические элементы, образованные либо из элементов одного, либо разных типов. Над геометрическими операндами определены геометрические  операции. Графические логические операции служат для проверки значения  геометрического операнда и проверки, содержится ли геометрический операнд в  некотором другом. Имеются графические операции ввода/вывода и увязывания физико­ технических данных с геометрическими операндами. В качестве примера графического расширения PL­1 можно привести GPL/1 [114], где PL­1  расширен на векторные, двух и трехмерные типы данных и векторные операции. Введены  переменные типа IMAGE, которые могут принимать значения, определяемые  комбинациями элементов данных изображения вектора, строки, функциями изображения и  др. Значения переменных типа IMAGE состоит из двух частей ­ атрибутной и собственно  изображения. Над изображениями определены операции присоединения, объединения,  позиционирования, масштабирования, вращения. Введен тип данных GRAPHIC и  совокупность атрибутов, описывающих данные этого типа.Предусмотрено три разновидности элементов данных типа GRAPHIC: DESIGN, из которых строится изображение, все или некоторые элементы которого могут меняться (пример ­  вывод на дисплей); DISPLAY ­ аналогично DESIGN, но не может быть изменений (пример ­ вывод на графопостроитель); STORAGE ­ для запоминания и последующего  воспроизведения изображений. Оператор GET используется для извлечения изображения из элемента данных, оператор  ERASE ­ для выборочного либо полного стирания. Предусмотрены также средства для  ведения очереди ввода и манипулирования ею. * * * Анализ вышеприведенных, а также других синтаксических расширений алгоритмических  языков показывает, что: ∙ вводятся данные графических типов; ∙ определяются операции над ними; ∙ разрабатываются средства для структуризации, сохранения, манипулирования и  отображения изображений; ∙ устанавливаются правила ведения интерактивной работы. В целом следует отметить, что подход, основанный на синтаксическом расширении того  или иного алгоритмического языка, был характерен для раннего, скорее  исследовательского, периода развития машинной графики и имеет следующие основные  недостатки: ∙ требуются значительные затраты труда высококвалифицированных системных  программистов как на этапе первоначальной разработки, так и при необходимости  расширений; ∙ из­за использования в определенной мере экзотического языка безусловно нарушается  переносимость прикладных программ; ∙ вводимые в язык графические конструкции не имеют сколько­нибудь серьезных  преимуществ перед операторами вызова функций или подпрограмм; ∙ практически все графические операторы требуют интерпретации, так как они, как  правило, программируются как вызовы некоторых библиотечных подпрограмм.Выше отмеченные недостатки систем с графическим языком высокого уровня привели к  тому, что в настоящее время наибольшее применение получили процедурные графические  расширения алгоритмических языков, так называемые процедурные языки. 0.1.3  Процедурные графические языки Процедурные языки ­ это пакеты графических подпрограмм (графпакеты), доступные из  программ на самых различных языках. Процедурные языки особенно удобны для тех  приложений, в которых некоторой функции можно поставить в соответствие  семантическую подпрограмму. Именно таким приложением и является изобразительная  машинная графика, объектами которой являются искусственно созданные изображения.  Тесно к этой области приложений прилегает и перцептивная машинная графика, объектами которой являются либо искусственно созданные изображения, либо изображения,  выделенные из того или иного представления окружающего мира. Функционально  генерацию изображений и манипуляцию с ними естественно представить в виде исполнения команд, использующих имена, координатные и иные данные, характеризующие объект  манипулирования. Для выполнения таких действий нет необходимости в наличии  графических типов данных, а сами действия удобно представить в соответствующих  подпрограммах. Подпрограммы при этом фактически представляют собой мощное и легко  модифицируемое семантическое расширение языка. Именно поэтому графические  расширения языков за счет создания пакетов графических подпрограмм нашли самую  широкую поддержку как со стороны разработчиков системного обеспечения, так и со  стороны пользователей. Обрабатывающую систему (см. рис. 0.1.1) можно представить как  состоящую из базовой графической системы, осуществляющую чисто графические  функции и прикладной программы, осуществляющей необходимые вычисления и  управление. Концептуальная модель интерактивной системы при таком подходе  представлена на рис. 0.1.2. Рис. 0.1.2: Концептуальная модель интерактивной системы машинной графики с явным  выделением графической компоненты