Лекции по "Компьютерной графике"

Автор: Пользователь скрыл имя, 18 Октября 2011 в 01:13, курс лекций

Краткое описание

Работа содержит лекции по дисциплине "Компьютерная графика".

Файлы: 1 файл

kr - extended version.doc

— 1.24 Мб (Скачать)

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

       На  втором – среднем уровне находится  аппаратно-независимый графпакет  общего назначения.

       На  третьем – верхнем уровне находятся  проблемно-ориентированные графпакеты. 

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

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

Основные  преимущества подхода с использованием графпакетов состоят в следующем:

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

привычного  ему языка.

  1. Легкая расширяемость за счет написания самим пользователем подпрограмм, необходимых для его приложения. Задача системных программистов состоит в том, чтобы дать базисный пакет, пригодный для многих пользователей и многих приложений.
  2. Легкая переносимость прикладной программы на другие ЭВМ.
  3. Легкая адаптируемость к новым требованиям либо аппаратным возможностям.
  4. Легкое обеспечение многоязыковости либо за счет наличия функционально идентичного пакета для другого языка, либо за счет использования одной и той же библиотеки в рамках многоязыковой системы программирования, либо за счет единого исполнительного модуля, доступного с помощью пакетов процедур связи из различных систем программирования.

Очевидными  недостатками такого подхода являются:

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

Несмотря  на отмеченные недостатки, можно уверенно утверждать, что создание пакетов

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

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

IGES (Initial Graphics Exchange Specification), Прикладные графические протоколы это объектно-ориентированные протоколы передачи данных между прикладными системами. Они наиболее компактны (вследствие высокой семантической насыщенности), допускают свободу в выборе различных способов графического представления, но требуют большей мощности локальной ЭВМ для интерпретации. Прикладные протоколы наиболее стандартизованы для САПР машиностроения и электроники. 

CGM (Computer Graphics Metafile) - аппаратно-независимый формат обмена графической информацией. Используется для передачи и запоминания информации, описывающей изображения. 

WMF (Windows Metafile Format) В системе Windows фирмы Microsoft для сохранения и последующего использования цветных изображений используется свой формат метафайла. В WMF используется двоичный способ кодирования, он, наиболее компактен и обеспечивает наибольшие скорости упаковки и воспроизведения, но неудобен для просмотра и анализа человеком. Метафайл содержит заголовок и собственно описание изображения в виде записей GDI (Graphical Device Interface) функций. Всего предусмотрено три варианта метафайла – стандартный (все изображение), размещаемый (placeable, изображение вставляемое в документ) и буферный (clipboard, для временного хранения и вставки). Отличия вариантов состоят только в разных структурах заголовков. В составе Windows предусмотрены функции для создания и проигрывания метафайлов и манипулирования ими. 

GKS (Graphical Kernel System) В 1979 г. GKS была принята в  качестве отправной точки международного стандарта. Основной из отличительных черт является введение понятия рабочей станции, представляющей собой абстракцию совокупности виртуальных устройств ввода/вывода, более полно соответствующей современной тенденции использования интеллектуальных терминалов. По максимуму рабочая станция обладает следующими свойствами: имеет одну адресуемую поверхность вывода с фиксированным разрешением; допускается только прямоугольное поле отображения, которое не может состоять из нескольких отдельных частей; позволяет задание и использование поля отображения, которое меньше максимально возможного, с гарантией того, что изображение не генерируется вне заданного поля отображения; поддерживает несколько типов линий, шрифтов текста, размеров символов и т.д. для вывода примитивов с различными атрибутами; имеет одно или больше устройств ввода для каждого класса устройств, которые независимо друг от друга могут работать в одном из трех режимов - синхронный ввод, опрос, асинхронный ввод; запоминает сегменты и обеспечивает средства для изменений сегментов и манипуляций с ними. Ясно, что выделение рабочей станции излишне громоздко, когда приходится иметь дело с одним устройством вывода и ввода. Основная ценность введения понятия рабочей станции состоит в удобной и естественной возможности разделения аппаратно-независимой и аппаратно-зависимой частей. Набор примитивов GKS приспособлен для целей растровой графики (ломаная; полимаркер; текст; многоугольник, который может быть залит одним цветом, заштрихован, покрыт узором, либо может быть не закрашен за исключением границ). 

GDI (Graphical Device Interface) Стандарт для Windows, возможна работа с перекрывающимися прямоугольными окнами за счет использования контекста рисования (набора текущих параметров рисования) для каждого окна. Более широкий набор примитивов. 

CGI (Computer Graphics Interface) Это стандарт на интерфейс  между аппаратно-независимой частью  графического программного обеспечения  (базисной графической системой) и аппаратно-зависимой (драйверами). Для эффективного использования аппаратных возможностей современных графических устройств набор функций CGI перекрывает аппаратно-реализуемые возможности и включает в себя следующие функции:

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

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

VESA (Video Electronics Standards Association) позволяет работать с отдельными пикселами изображения.  

X-Window
 

Это развитие графических систем под юникс, Архитектура  Х-системы базируется на модели клиент-сервер. Клиент - прикладная программа. Сервер - программа, вызванная на компьютере, к которому физически подключен  дисплей. В ней сосредоточена  вся аппаратная зависимость.

Основные  критерии, которыми руководствовались  в разработке Х-системы:

  • транспортабельность - система должна быть применима к различным дисплеям;
  • аппаратная независимость приложений;
  • сетевая прозрачность - приложения могут быть вызваны как локально, так и на удаленных ЭВМ без каких-либо их изменений и без необходимости информирования об отличиях. Должны быть поддержаны различные сетевые протоколы;
  • конкурирующие приложения - дисплей может делиться между несколькими приложениями. Возможен вывод из нескольких приложений как в единственное, так и в несколько окон;
  • интерфейсы с приложениями и управление окнами не предписывает какого либо одного способа работы с окнами, например, только перекрывающимися;
  • перекрытия окон - ввод/вывод должны быть возможны для полностью или частично затененных окон.
 

Одно из основных отличительных свойств Х-системы - работа одного сервера с несколь

кими клиентами и наоборот одного клиента с несколькими серверами  представляется весьма удобным и  естественным. Другое же основополагающее положение, что за перечерчивание окон, получивших экспозицию на экране, несет ответственность прикладная программа, приводит к необходимости иметь высокоскоростные каналы связи (например, Ethernet). 
 
 

Cоздание пользовательского интерфейса 

Инструментарий  создания пользовательского интерфейса - это библиотека технологических  интерактивных средств, дающих возможность  использовать физические устройства ввода (мышь, клавиатура, планшет...) для ввода  значений (таких как команда, число, положение или имя) при наличии обратной связи, отображаемой на экране. Программист использует этот инструментарий для организации взаимодействия с человеком. Инструментарий содержит набор функций, реализующий компоненты интерфейса нижнего уровня такие как: меню, кнопки, зоны диалога, подокна, зоны прокрутки. 

Возможные модели управления:

1. Внутренняя (прикладная программа вызывает  подпрограмму при необходимости  ввода/вывода). Все управление диалогом  сосредотачивается в прикладной  программе, которая должна создаваться с учетом этого факта.

2. Внешняя  (интерфейсные процедуры обращаются  к прикладной программе в случае  наступления требуемого события).

3. Смешанная,  включающая модули с управлением  по той и другой модели.

Пути реализации:

  • механизм обратного вызова (прикладная программа организована как набор процедур вызываемых инструментарием);
  • разделяемая память (между прикладной программой и инструментарием);
  • передача сообщений;
  • механизм обработки событий.

Информация о работе Лекции по "Компьютерной графике"