Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ВОПРОСЫ_И_Лекции по КГ

.pdf
Скачиваний:
31
Добавлен:
22.03.2016
Размер:
2.17 Mб
Скачать

БИЛЕТЫ КОМПЬЮТЕРНАЯ ГРАФИКА

ВЕСНА 2015

1.Области применения компьютерной графики.(2)

2.Графическая система, графическое ядро, графический примитив.(7) 3.Стандартизация машинной графики и классификация стандартов.(9,12) 4.Графические протоколы.(16)

5.Графические интерфейсы.(12)

6.Устройства графического 2D-ввода/вывода(22-30) 7.Устройства графического 3D-ввода/вывода.(30) 8.Мониторы.(31-35)

9.Видеокарты (в общем, без подробностей).(36) 10.Графические процессоры (подробно).(36)

11.Создание компьютерного изображения, атрибут пикселя.(41) 12.Графический конвейер (аппаратная и программная реализация).(43) 13.Прикладные интерфейсы разработчика (API).(46)

14.Форматы графических изображений.(49)

15.Структура растровых файлов на примере .BMP, .GIF.(52, 55)

16.Редакторы компьютерной графики (самостоятельно сделать краткий обзор).(132)

17.Типы изображений, требования к алгоритмам сжатия.(58)

18.Алгоритмы сжатия формата .BMP.(61)

19.Алгоритм Хаффмана.(62)

20.Режимы сжатия формата .JPG.(63)

21.Виды систем координат.(79)

22.Аффинные преобразования. Перенос, вращение, масштабирование.(88) 23.Аффинные преобразования в однородных координатах.(92) 24.Проекции.(83)

25.Основные этапы 3D-моделирования.(96)

26.Виды геометрических моделей.(98)

27.Каркасные модели.(99)

28.Поверхностное моделирование.(105)

29.Воксельное моделирование.(100)

30.Октарные и бинарные модели.(101, 103)

31.Конструктивное моделирование.(104)

32.Способы построения моделей.

33.Кубические сплайны.(108)

34.Ахроматический источник света. Хроматический источник света.(66 смотри подчеркнутое)

35.Цветовые модели RGB и RGBA.(71)

36.Цветовая модель CIELab. (68,69)

37.Цветовая модель HSB, HSL.(72-73)

38.Цветовые моделиY**.(75)

1

39.Цветовая модель CMY, CMYK.(77) 40.Аппаратно-независимый цвет. Гамма-коррекция.(78)

41.Виртуальные источники света. Подробное объяснение формулы освещения I = Iaka + (Ilkdcosθ)/(d + K).(122,123)

42.Закраска поверхностей. Метод постоянного закрашивания, метод Гуро, метод Фонга.(123-125)

43.Отсечение. Виды отсекателей. Полностью видимые, тривиально невидимые, полностью невидимые и частично видимые отрезки.(111,112)

44.Необходимость удаления невидимых линий и поверхностей. Классификация алгоритмов удаления. Главная сортировка в алгоритмах удаления.(114,115)

45.Алгоритм Z-буфера.(116)

46.Алгоритм плавающего горизонта.(117,118)

47.Алгоритм обратной трассировки лучей.(119,120)

48.Растровые форматы хранения графической информации(51,57)

49.Векторные форматы хранения графической информации. Универсальные форматы хранения графической информации(57)

50.Алгоритмы сжатия изображений без потерь/с потерями.(60)

Область применения компьютерной графики

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

-полиграфия

-двухмерная графика

2

-web-дизайн

-мультимедиа

-3D-графика и компьютерная анимация

-видеомонтаж

-САПР и деловая графика

Для каждой сферы применения создано свое программное обеспечение, включающее разные специальные программы.

Полиграфия Компьютерная графика начала свое распространение с полиграфии, в

которую входит работа в периодических изданиях, создание визиток, бланков, рекламных листовок, буклетов и плакатов. Для реализации этих задач предназначены программы верстки. Программы верстки страниц дают возможность соединить вместе текстовую и графическую информацию для создания бюлетений, журналов и т. д. Среди наиболее популярных программ можно выделить Adobe Page Maker и QuarkXPress. Большинство программ верстки страниц используются для компоновки различных элементов на странице, а не для того, чтобы с нуля создавать в них текстовые или графические файлы. Тексты объемных документов набираются в текстовых редакторах. Графика часто создается в программах черчения (деловой графики) и редактирования изображений. Затем созданные ранее файлы импортируются в программу верстки страниц. Пакеты компьютерной графики для полиграфии позволяют дополнять текст иллюстрациями разного происхождения, создавать дизайн страниц и выводить полиграфическую продукцию на печать с высоким качеством. Кроме обязательного знания программ верстки и графических редакторов специалист в области полиграфии должен также знать основы печати, разбираться в допечатных процессах (сканирование, цветоделение, цветокалибровка мониторов, фотонаборные автоматы и т.д.) и контроле качества.

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

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

-Растровая графика

-Векторная графика

-Фрактальная графика

Двухмерная или 2D-графика – это основа всей компьютерной графики. Ни один компьютерный художник-дизайнер не может работать над своими проектами без понимания базовых положений двухмерной графики.

Растровые программы.

Большинство программ для редактирования изображений - Adobe Photoshop, Corel Photo Paint или MS Paint – являются растровыми программами. В них изображение формируется из решетки крошечных квадратиков, называемых пикселями. Поскольку каждый пиксель на экране компьютера отображен в специальном месте экрана, то программы, которые создают изображение таким способом, называются побитовыми или программами с побитовым отображением (bitmap). Решетку (или матрицу), образуемую пикселами, называют растром.

3

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

Векторные программы

Изображение, созданное в векторных программах, основывается на математических формулах. Составляющие основу таких изображений кривые и прямые линии называют векторами. Так как при задании объектов на экране используются математические формулы, то отдельные элементы можно легко перемещать, увеличивать или уменьшать без эффекта ступенек. Векторные программы обычно используются тогда, когда нужны четкие линии. Они часто применяются при создании логотипов, шрифтов для вывода на плоттер и чертежей

О фрактальной графике разговор особый. Фракталом называется объект, имеющий разветвленную структуру, части фрактала подобны всему объекту. Фрактальная графика, как и векторная, вычисляемая и занимает промежуточное положение между растровыми и векторными программами. Кроме того, фрактальные узоры часто используются в качестве красивых фрактальных заливок в редакторах растровой и векторной графики, а также для создания линий побережья, облаков, деревьев и т.д.

Мультимедиа Мультимедиа – это область компьютерной графики, связанная с созданием

интерактивных энциклопедий, справочных систем, обучающих программ и интерфейсов к ним. В отличие от полиграфии, где дизайнер-полиграфист сотрудничает с печатником, дизайнер-мультимедийщик сотрудничает с программистом. Здесь требования к графике уже другие. В полиграфии файлы должны иметь большое разрешение. В результате файлы занимают десятки и сотни мегабайт. В мультимедиа ограничением служит разрешение экрана и требование минимизации размеров файлов. Здесь контроль за качеством проще. Примером программ создания мультимедиа являются Macromedia Director или MS Power Point.

Word Wide Web (веб-дизайн)

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

3D – графика и компьютерная анимация

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

Широкое применение 3D-графика находит в индустрии компьютерных игр. Анимационные заставки, интерфейсы и персонажи компьютерных игр создаются в программах 3D-графики.

4

Другая область применения 3D-графики - телевизионная реклама и оформление телевизионных каналов.

Многие архитекторы и дизайнеры используют 3D-графику для построения макетов зданий и трехмерных моделей архитектурных памятников, которых еще не существует в природе.

Освоение 3D-графики требует много времени и мощных системных ресурсов. Чтобы результат выглядел фотореалистично, необходимо освоить не только 3Dмоделирование, но и уметь правильно осветить сцену, найти хороший ракурс камер, подобрать материал и текстуры.

САПР и деловая графика

Программы САПР (или CAD) представляют собой векторные программные средства.

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

Другой важной областью применения САПР является архитектура. Так фирма McDonald’s уже с 1987 года использует машинную графику для архитектурного дизайна, размещения посадочных мест, планирования помещений и проектирования кухонного оборудования.

САПР используют и в медицине. Например, автоматизированное проектирование имплантантов, особенно для костей и суставов.

Среди программ моделирования под Windows лидером является программ AutoCAD. Это мощная система машинного проектирования, которую иногда рассматривают как электронный кульман, позволяющий:

Реализовать основные операции по созданию и редактированию линий, дуг и текста;

Синтезировать 2D и 3D-модели;Автоматизировать решения многих задач;

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

Такая программа даже способна сформировать бюджет крупных архитектурных и инженерных проектов.

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

Видеомонтаж

Видеомонтаж можно условно разделить на два вида:Спецэффекты в кино;Подготовка телевизионных передач

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

5

Видеомонтаж отличается от других направлений компьютерной графики тем, что манипулирует живыми картинками и использует свою технологию работы. На сегодняшний день наиболее популярная программа в этой области – Adobe Premier.

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

графики

Полиграфия

Растровая

Векторная

Фрактальная

САПР

3D-

Мульти-

Видеомонтаж

 

графика

графика

графика

 

графика

медиа

 

 

 

 

 

 

 

 

 

 

Adobe

Adobe

Corel Draw

Fractal

Design

AutoCad

3D-Studio

MS Power

Adobe

PageMaker

PhotoShop

 

Painter

 

 

Max

Point

Premier

 

 

 

 

 

 

 

 

 

QuarkXPress

MS Paint

Corel Xara

Fractal

Design

 

SoftImage-

Macromedia

 

 

 

 

Expression

 

3D

Director

 

 

 

 

 

 

 

 

 

 

Corel

Adobe

Art Dabbler

 

Maya

 

 

 

Photo Paint

Illustrator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Paint Shop

Free Hand

 

 

 

 

 

 

 

Pro

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Photo

 

 

 

 

 

 

 

 

Draw 2000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

Графическая система, графическое ядро,

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

Функции графических систем:

-ввод данных;

-вывод графических изображений;

-обработка запросов пользователей;

-поиск и хранение данных;

-выполнение преобразований графической информации.

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

Графическая система ПК состоит из аппаратной и программной частей. Аппаратная часть включает видеоадаптер, монитор и интерфейсы, которые обслуживают графическую систему: один между адаптером и северным мостом, второй – между видеоадаптером и устройством отображения. Программная часть обеспечивает поддержку интерфейсов видеоадаптера, монитора и приложений на уровне BIOS, ОС, драйверов и специализированных прикладных языков программирования (API). Графическая система используется всеми прикладными программами. Приложение использует функции видеоадаптера при посредничестве драйвера, который интерпретирует команды для графического процессора. В соответствии с полученными командами видеоадаптер выводит на монитор изображение.

Графическая система решает задачи:

- 2D графики. Это задачи интерфейса GUI (Graphic User Interface). Графическим ядром Windows являются библиотеки GDI и новая версия GDI+.

-3D графики. 3D графика представляет собой геометрические модели объектов. Эти модели, как правило, создаются и обрабатываются специальными программами, которые выполняются на ЦП и хранятся в ОП ПК. Графическая система используется

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

-задачи вывода и обработки видеографики.

Графической подсистемой часто считается часть операционной системы, которая обеспечивает решение задач компьютерной графики. В нее входят

7

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

Графический примитив – это простейший геометрический объект, создаваемый и обрабатываемый как единое целое и отображаемый на устройстве вывода. Существуют графические примитивы двухмерной и трехмерной графики, каждый примитив имеет определенный набор атрибутов. В качестве примеров примитивов можно привести точку, линию, прямоугольник, овал, пирамиду, куб и т. д. В качестве атрибутов – цвет, толщину и форму линии. Основное значение графических примитивов - обеспечить наличие программных средств для рисования всевозможных геометрических объектов. Условно можно разбить все графические примитивы по типу рисуемых ими графических объектов на две группы: контурные и площадные. Функции первой группы рисуют всевозможные контурные линии. Ко второй группе относятся функции, предназначенные для рисования геометрических фигур с закрашиванием ограничиваемых ими областей.

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

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

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

8

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

Стандартизация в машинной графике

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

В следующий период более актуальной стала проблема создания программного обеспечения.

Во-первых, велись разработки алгоритмов машинной графики: генерация примитивных элементов, интерполяция, аппроксимация, формы и методы представления изображений и т.д.;

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

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

Базовая графическая система - международный стандарт на интерфейс прикладных программ с системами графического ввода/вывода.

Документ стандарта определяет GKS (БГС) как набор функций для

выполнения графических действий, описанных в языково-независимой форме;

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

Развитие сетей ЭВМ, оснащенных терминальными устройствами различных типов, потребовало обеспечить независимость программного обеспечения от аппаратуры.

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

9

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

Прикладная программа

Проблемно-ориентированный уровень

Уровень, зависящий от языка Базовая графическая система

Операционная система

Графические ресурсы

Иные ресурсы

 

 

 

 

Рис 2: Шестиуровневая модель прикладной графической сстемы

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

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

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

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

Наиболее известными проектами по стандартизации базисных систем являются Core System, GKS, GKS-3D, PHIGS, PHIGS+. Основное направление развития этих проектов заключалось в усилении изобразительных возможностей для визуализации геометрических объектов (2D, 3D, удаление скрытых линий и граней, полутоновая закраска, текстурирование и пр.).

Визуализация (рендеринг) – процедура подготовки информации для изображения на графическом устройстве.

Растрирование (растеризация) – преобразование изображения векторной графики в растровое изображение заданного размера и формата.

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

10