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

Автор работы: Пользователь скрыл имя, 26 Сентября 2013 в 20:01, курс лекций

Описание работы

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

Содержание работы

Введение в компьютерную графику.
Основные направления компьютерной графики:
Виды компьютерной графики
Фрактальная графика
Растровая графика
Векторная графика
Математические основы векторной графики
Кодирование ASCII
Цвет в векторной графике
Трехмерная графика
Области применения компьютерной графики
Представление графических данных. Форматы графических данных.
Цвет и цветовые модели
Цветовая модель RGB
Системы цветов HSB и HSL
Цветовая модель HSB
Цветовая модель CIE Lab
Цветовая модель CMYK, цветоделение
Индексированный цвет, работа с палитрой
Программное обеспечение для работы с графикой
Программные средства создания растровых изображений
Программы векторной графики
Программы верстки
Особенности графической информации и способы ее кодирования
Графическая информация
Обработка изображений с помощью ЭВМ .
Основные понятия трехмерной графики
Средства обработки трехмерной графики
Устройства ввода, обработки, распознавания, хранения, вывода, отображения информации.
Визуализация экономической информации.

Файлы: 1 файл

1.doc

— 658.00 Кб (Скачать файл)

 

API (Application Programming Interface)

Комплект программ, которые прикладная программа использует для обращения  к задачам исполняемым на уровне операционной системы. Т.е. программы  связи аппаратных средств (таких, как, например, видеопроцессор) с приложениями, например, играми. Разработчики игры пишут ее код согласуясь с API, что позволяет ей работать с любыми аппаратными средствами, на любых компьютерах. 3D API позволяет программисту создавать трехмерное программное обеспечение использующее все возможности 3D-ускорителей. 3D API делятся на стандартные (универсальные) и собственные (специализированные). Без стандартных API, поддерживающих широкий спектр 3D-ускорителей, разработчиками, пришлось бы портировать игры под множество плат. Наиболее известные стандартные 3D API - OpenGL и Direct3D. Собственный (native) 3D API предназначен для одного конкретного семейства 3D-уcкopитeлeй и ограждает программиста от низкоуровневого программирования. Примеры специализированных 3D API - Glide (от 3Dfx), RRedline (от Rendition), PowerSGL (от Videologic). Ис-пользование 3D API предполагает применение драйверов для этого API. На сегодняшний день наличие драйверов Direct3D и OpenGL для Windows 95/ 98 является обязательным требованием ко всем 3D-уcкopитeлям.

 

DirectX

API для Microsoft® Windows® сфокусированный  на разработке мультимедийных  приложений. По словам Microsoft, DirectX обеспечивает  разработчиков программного обеспечения  гибкостью необходимой для работы в Internet и открывает путь к использованию мощнейших возможностей современных персональных компьютеров в работе с мультимедийными приложениями. DirectX 6.0 был оптимизирован для работы с технологией 3DNow! и стал доступен пользователям в июле 1998 года.

 

Direct3D

Часть DirectX ориентированная на исполнение трехмерной графики. Direct3D предлагается компанией Microsoft как важное дополнение к API для игр и других 3D-приложений. Direct3D, как часть DirectX 6.0, оптимизирован  для технологии 3DNow! Direct3D существует только в Windows 95, в скором будущем появится и в Windows NT 5.0. Direct3D име-ет два режима: RM (retained mode), или абстрактный и IM (immediate mode), или непосредственный. IМ состоит из тонкого уровня, который общается с аппаратурой и обеспечивает самое высокое быстродействие. Абстрактный режим - высокоуровневый интерфейс, покрывающий множество операций для программиста, включая инициализацию и трансформацию. У обоих режимов есть достоинства и недостатки, большинство Direct3D-игр используют IM.

 

OpenGL

OpenGL - открытый 3D API, созданный компанией  SGI и контролируемый ассоциацией  OpenGL Architecture Review Board (ARB), в которую  входят DEC, E&S, IBM, Intel, Intergraph, Microsoft и  SGI. OpenGL реализует широкий диапазон  функций от вывода точки, линии или полигона до рендеринга кривых поверхностей NURBS, покрытых текстурой. OpenGL долгое время использовался для работы с трехмерной графикой на компьютерах профессионального уровня. Сейчас многие разработчики игр используют этот API. OpenGL также оптимизируется для совместной работы с технологией 3DNow! OpenGL-драйвер может быть реализован в трех вариантах: ICD, MCD и мини-порт. ICD (Installable Client Driver) полностью включает все стадии конвейера OpenGL, что дает максимальное быстродействие, но разработка ICD-драйвера занимает большое количество времени. MCD (Mini Client Driver) разработан для внесения абстракции в конвейер OpenGL, и поэтому написание драйвера менее трудоемко. MCD уступает ICD в быстродействии, плюс к этому MCD работает только в Windows NT. Мини-порт - драйвер, предназначенный для одной конкретной игры (или движка), обычно для GLQuake и Quake 2. Мини-порт может работать по принципу ICD (Rage Pro), через собственный API (Voodoo 2) или через Direct3D (lntel740). В последнем случае он называется враппером.

 

VRML

VRML - язык описания трехмерных  миров. Лидером среди разработчиков  программного обеспечения для  работы с VRML считается Cosmo Software (одно из подразделений SGI). Эта  компания также активно разрабатывает  новые стандарты VRML. Ее программа CosmoPlayer предназначена для просмотра сцен, созданных на VRML. CosmoPlayer поддерживает OpenGL, что при наличии OpenGL-ускорителя дает прирост скорости и повышает качество 3D.

 

AGP (Advanced Graphics Port)

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

 

DiME

DiME (Direct Memory Execution) - главное преимущество AGP. AGP-платы без DiME недалеко ушли от РСI. DiME (или, как его еще называют, AGP-текстурирование) дает возможность 3D-ускорителю брать текстуры напрямую из системной памяти, а не из локальной видеопамяти. DiME - ключ к использованию большого количества больших текстур. DiME превращает системную память в своего рода расширение видеопамяти. 3D-ускоритель с поддержкой DiME уже сейчас без проблем справляются с 16 Мбайт текстур на один кадр

 

Сравнение стандартов OpenGL и Direct 3D

Главное концептуальное отличие OpenGL от Direct 3D это то, что OpenGL - открытый стандарт, для которого любой производитель может писать свои расширения. Direct 3D - жестко регламентированный стандарт, не допускающий никаких нововведений до появления новой версии. OpenGL - в оригинальном виде это набор функций, которые производитель должен реализовать в драйверах для типа и платы и которые разработчик может использовать в своих программах. Но ради переносимости многие функциональные возможности не введены прямо в стандарт, а выделены в расширение, и любой производитель сам может решить поддержать то или иное расширение. И даже если он не будет поддерживать ни одно расширение, кроме оригинального OpenGL, все равно будет считаться, что он полностью соответствует этому стандарту. Любой член OpenGL написал свои расширения. Есть расширения от Intel, Microsoft и тому подобное. Direct 3D имеет архитектуру, оснащенную на проверке функциональных возможностей, так называемой CAPS TEST. Direct 3D регламентирует все возможности, доступные производителям, которые могут использовать в своих 3D - ускорителях и разработкам ПО, которые используют эти возможности.

 

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

Прерывания

Концепция прерываний и связанная с ней концепция исключительных ситуаций составляют фундамент конструкции процессоров Intel-80x86. Это очень мощные идеи, позаимствованные от больших ЭВМ. Программно-аппаратное обеспечение, поддерживающее прерывания, дает возможность писать более качественные программы с меньшими затратами сил. Намереваясь управлять видеосистемой или другими устройствами компьютера необходимо понимать принципы работы прерываний. В частности, надо знать о многочисленных возможных конфликтных ситуациях, как их выявить и устранить. Без прерываний невозможно понять работу резидентных программ или драйверов устройств.

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

  • Завершение операции ввода/вывода;
  • Обнаружение аппаратного сбоя;
  • Катастрофы (отказ питания).

Для обеспечения эффективного обслуживания прерываний большинство современных  процессоров поддерживают механизм типов или уровней прерывания. Любому типу обычно соответствует ячейка в памяти, называемая вектором прерывания, который определяет место положения программы обработчика прерываний данного типа. Такая система ускоряет обработку прерываний, т.к. у компьютера есть возможность непосредственной передачи управления соответствующей программе. Отпадает необходимость в центральной программе, которая определяла бы источник прерываний, затрачивая на это драгоценные машинные циклы. Концепция типов прерываний позволяет, к тому же, назначать прерыванию приоритет, чтобы в случае одновременного возникновения нескольких прерываний, наиболее важное могло быть обработано в первую очередь. Процессоры компьютеров, которые поддерживают систему прерываний, должны иметь средства для блокирования прерываний во время выполнения критических участков программы, центральный процессор может блокировать прерывания избирательно или глобально, последнее происходит чаще. Пока идёт обслуживание прерывания, центральный процессор блокирует все остальные прерывания того же или более низких уровней до тех пор, пока программа активного обработчика не завершится. В то же время, если происходит выполнение программы обработчика прерываний и возникает прерывание с более высоким приоритетом, то первая программа будет приостановлена. Семейство процессоров Intel-80x86 поддерживает 256 уровней приоритетных прерываний. Они вызываются тремя типами прерываний:

1. Внутренние аппаратные прерывания;

2. Внешние аппаратные прерывания;

3. Программные прерывания.

Внутренние аппаратные прерывания, например, попытка деления на ноль.

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

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

Программные прерывания

Любая программа может инициировать синхронное программное прерывание с помощью выполнения команды INT. Операционная система MS DOS пользуется для ввода данных со своими модулями и прикладными программами прерывания в диапазоне от 20H до 3FH, например: доступ к диспетчеру функций MS DOS осуществляется с помощью прерывания 21H. Программы BIOS, хранящиеся в ПЗУ и прикладные программы IBM - совместимых компьютеров используют другие прерывания с меньшими или большими прерываниями. Например: прерывание 10H ПЗУ BIOS используется для обслуживания драйвера дисплея; прерывание 42H - используется BIOS для обслуживания дисплея, если установлен видеоадаптер EGA, прерывание 43H - содержит таблицы символов для графических адаптеров EGA, MCGA, VGA.

 

Замечание. 

Программы могут узнавать о внешних событиях путём опроса, но это отнимает много времени, к тому же в программу приходиться встраивать множество команд, чтобы определить что произошло, поэтому для сокращения программ и повышения их производительности используются аппаратные прерывания, подобно дверным звонкам, когда один из таких звонков срабатывает, процессор выясняет номер звонка и реагирует на данное событие. В центральном процессоре есть встроенные средства для слежения за определёнными ситуациями и если такие ситуации возникают, то микропроцессор приостанавливает работу, чтобы не ухудшить ситуацию. Такие прерывающие работу события называются исключительными ситуациями.

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

 

Устройства ввода информации

 

Главным признаком устройств ввода  является преобразование одного вида информации, например, изображений, которые  нанесены на бумагу (на фотопленку, фотобумагу) или на любые иные носители —  в иной вид информации, а именно в цифровую форму.

 

Замечание

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

 

Клавиатура

Клавиатура (keyboard) по-прежнему является основным устройством для ввода  текстовой информации.

 

Замечание

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

 

В техническом смысле клавиатура — это устройство, являющееся совокупностью механических датчиков, воспринимающих давление на клавиши и замыкающих определенным способом электрическую цепь.

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

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

Мышь и трекболл

Устройство типа мышь (mouse) создавалось как средство свободного, позиционирования курсора на экране с графическим интерфейсом (указатель мыши на экране перемещается синхронно с движением мыши по коврику). С помощью этого устройства можно также осуществлять "ввод" графической информации — это свободное рисование "от руки". Разумеется, мышь не самое оптимальное устройство для рисования, но поскольку им всегда комплектуется компьютерная система, то это самый массовый инструмент художника.

Смотрите далее информацию о  графическом планшете.

Вариацией мыши является устройство, названию которого нет эквивалента  в русском языке, — трекболл (trackball). Вариация состоит в том, что трекболл легче всего представить как перевернутую мышь, у которой шарик вращается не от трения по поверхности коврика, а от прикосновения пальцев пользователя. Применение трекболла диктуется ограниченным местом или мобильностью, в частности он встраивается в переносные компьютеры (notebook или laptop).

Информация о работе Описание основных понятий компьютерной графики для студентов Гуманитарного факультета