Автор работы: Пользователь скрыл имя, 11 Декабря 2013 в 20:38, курсовая работа
В данной работе рассматриваются тенденции построения современных графических систем: графическое ядро, приложение, инструментарий для написания приложений. Описана история развития графических систем и современные технологии для их создания. Рассматривается компьютерная графика в компьютерном моделировании. Так же приведены примеры их использования и представлены графические языки высокого уровня.
ВВЕДЕНИЕ ………………………………………………………………....3
1 История компьютерной графики………………………………………...5
1.2 Приложения компьютерной графики………………………………….8
1.3 Компьютерная графика в компьютерном моделировании.…………...9
2 ВИДЕОАДАПТЕРЫ……………………………………………………….…11
2.1 Мониторы.................................................................................................11
2.2 Видеоадаптеры EGA/VGA……………………………………………..12
3 ИНТЕРАКТИВНЫЕ ГРАФИЧЕСКИЕ СИСТЕМЫ…………………………………...14
3.1 Графические языки высокого уровня………………………………....15
3.2 Синтаксические расширения алгоритмических языков……………..16
3.3 Процедурные графические языки……………………………………..20
3.4 Языки диалога…………………………………………………………..23
3.5 Стандартизация ИГС……………………………………………………25
3.6 Логическое и физическое представление изображений в ИГС. Операции над изображениями…………………………………………………………27
3.7 Основные элементы структуры ИГС. ……………………………….…..28
3.8 Проектирование ИГС……………………………………………………….29
3.9 Прикладная модель ИГС. Способы построения прикладной модели…31
3.10Интерфейс пользователя. Принципы разработки интерфейса пользователя……………………………………………………………………31
3.11 Выводы………………………………………………………………….32
ЗАКЛЮЧЕНИЕ………………………………………………………...…..33
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ…………
Отличия СИМАК-Д от
COMPAC состоят в несколько ином
входном языке и ином наборе
базовых элементов формы,
* * *
Ясно, что автономные графические языки, как всякая специализированная разработка, обладают высокой эффективностью в своей области приложений, однако разработка и использование таких языков сопряжена с рядом проблем:
- довольно значительные затраты на создание языка и транслятора с него, так, например, трудозатраты на систему COMPAC составили около 40 ч/лет ;
- затраты на внедрение,
на включение языка в
- трудности с последующим расширением языка;
- известные в настоящее
время языки машинной
- затруднено объединение
в рамках одной прикладной
программы графических и
3.2 Синтаксические расширения алгоритмических языков
Ряд из отмеченных
выше затруднений снимается
- модификация существующего транслятора;
- использование препроцессора,
либо макропроцессора,
- использование
Несмотря на всю неприспособленность FORTRANa для эффективной обработки сложноструктурированных данных, неудобство его структур управления и средств сегментирования программ, большинство реализаций синтаксических расширений было связано именно с FORTRANом из-за его популярности в то время у пользователей.
Одна из первых
реализаций графического
В качестве более мощного (и позднего) графического расширения FORTRANа можно упомянуть систему GALA. Также вводится новый тип данных - BILD. Значениями этого типа могут обладать переменные и константы. В качестве системных констант этого типа имеются элементарные изображения (в том числе пустое). Над данными этого типа определены операторы преобразований. Для построения сложных изображений используется, так называемый, оператор совмещения. Над изображением определены операторы манипулирования и опроса. Изображения могут проверяться в условных операторах. Имеются операторы вывода изображений с назначением преобразований и окна отсечения. Средства ввода обеспечивают ожидание и получение данных, разрешение и запрет прерываний. GALA-программа может структурироваться на поименованные сегменты с параметрами или без.
В качестве одной
из отечественных разработок
по графическому расширению
Наряду с FORTRANом в качестве языка для графического расширения использовался ALGOL. Так в описана система DIGOS, которая состоит из геометрически ориентированного языка, его интерпретатора и трехуровневой структуры данных (PDS - параметрической кольцевой структуры, элементы которой формируются операторами геометрически-ориентированного языка; DDSR3 - структуры данных 3D представления, формируемой из PDS при активации вывода; DDSR2 - структуры данных 2D представления, формируемой из DDSR3 при выполнении преобразований, проецирования и отображения). В языке предусмотрены 2 группы геометрических операндов - простые геометрические элементы (точки, прямые, плоскости, последовательности точек, поверхности, тела) и составные геометрические элементы, образованные либо из элементов одного, либо разных типов. Над геометрическими операндами определены геометрические операции. Графические логические операции служат для проверки значения геометрического операнда и проверки, содержится ли геометрический операнд в некотором другом. Имеются графические операции ввода/вывода и увязывания физико-технических данных с геометрическими операндами.
В качестве примера графического расширения PL-1 можно привести GPL/1 [8], где PL-1 расширен на векторные, двух и трехмерные типы данных и векторные операции. Введены переменные типа IMAGE, которые могут принимать значения, определяемые комбинациями элементов данных изображения вектора, строки, функциями изображения и др. Значения переменных типа IMAGE состоит из двух частей - атрибутной и собственно изображения. Над изображениями определены операции присоединения, объединения, позиционирования, масштабирования, вращения. Введен тип данных GRAPHIC и совокупность атрибутов, описывающих данные этого типа.
Предусмотрено три разновидности элементов данных типа GRAPHIC: DESIGN, из которых строится изображение, все или некоторые элементы которого могут меняться (пример - вывод на дисплей); DISPLAY - аналогично DESIGN, но не может быть изменений (пример - вывод на графопостроитель); STORAGE - для запоминания и последующего воспроизведения изображений.
Оператор GET используется для извлечения изображения из элемента данных, оператор ERASE - для выборочного либо полного стирания. Предусмотрены также средства для ведения очереди ввода и манипулирования ею.
* * *
- Анализ вышеприведенных,
а также других синтаксических
расширений алгоритмических
- вводятся данные графических типов;
- определяются операции над ними;
- разрабатываются средства для структуризации, сохранения, манипулирования и отображения изображений;
- устанавливаются правила ведения интерактивной работы.
В целом следует отметить, что подход, основанный на синтаксическом расширении того или иного алгоритмического языка, был характерен для раннего, скорее исследовательского, периода развития машинной графики и имеет следующие основные недостатки:
- требуются значительные
затраты труда
- из-за использования
в определенной мере
- вводимые в язык графические
конструкции не имеют сколько-
- практически все графические
операторы требуют
Выше отмеченные недостатки систем с графическим языком высокого уровня привели к тому, что в настоящее время наибольшее применение получили процедурные графические расширения алгоритмических языков, так называемые процедурные языки.
3.3 Процедурные графические языки
Процедурные языки
- это пакеты графических
Назначение графической
системы в такой модели
На пути использования
пакетов графических
- обеспечением аппаратной
независимости прикладных
- обеспечением адаптируемости прикладных программ, т.е. легкости приспособления к новым функциональным требованиям;
- обеспечением мобильности прикладных программ, т.е. легкости их переноса в иное окружение.
Аппаратная независимость
средств отображения
Более гибкое и
мощное использование
На первом - нижнем уровне находятся аппаратно-зависимые драйверы устройств (иногда организованные в виде самостоятельных графпакетов), обладающие достаточным набором типичных элементарных функций. Назначение этого уровня - формирование файлов вывода на графические устройства.
На втором - среднем
уровне находится аппаратно-
На третьем - верхнем
уровне находятся проблемно-
Адаптируемость прикладных программ в части средств вывода естественным образом обеспечивается последовательным использованием иерархического принципа, т.е. либо заменой требуемого уровня, либо надстройкой необходимых уровней.
Мобильность прикладных
программ по отношению к
* * *
Основные преимущества
подхода с использованием
1. Легкая обучаемость, так как пользователь пакета не выходит за рамки удобного либо привычного ему языка.
2. Легкая расширяемость
за счет написания самим
3. Легкая переносимость
прикладной программы на
4. Легкая адаптируемость к новым требованиям либо аппаратным возможностям.
5. Легкое обеспечение многоязыковости либо за счет наличия функционально идентичного пакета для другого языка, либо за счет использования одной и той же библиотеки в рамках многоязыковой системы программирования, либо за счет единого исполнительного модуля, доступного с помощью пакетов процедур связи из различных систем программирования.