Вы находитесь на странице: 1из 44

Алгоритмические

средства
компьютерной графики
Тема 1. Введение в
компьютерную графику

1
Содержание
1. Предмет компьютерной графики
2. Применение компьютерной графики
3. Классификация
4. Аппаратные средства компьютерной графики
5. Программные средства компьютерной графики
6. Уровни технологии компьютерной графики
7. Этапы формирования изображения

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

Быстродействие Наглядность
восприятия

+
 «Одна картина стоит тысячи слов» (Китайская поговорка)
Основные области применения компьютерной графики:

• Научная графика Современная научная компьютерная графика дает возможность


проводить вычислительные эксперименты с наглядным представлением их
результатов
• Деловая графика - область компьютерной графики, предназначенная для
наглядного представления различных показателей работы учреждений. Плановые
показатели, отчетная документация, статистические сводки
• Конструкторская графика используется в работе инженеров-конструкторов,
архитекторов, изобретателей новой техники (САПР - систем автоматизации
проектирования)
• Иллюстративная графика - это произвольное рисование и черчение на экране
компьютера – графические редакторы
• Художественная и рекламная графика - рекламные ролики, мультфильмы,
компьютерные игры, видеоуроки, видеопрезентации.
• Компьютерная анимация - это получение движущихся изображений на экране
дисплее.
Применение компьютерной графики
• Черчение графиков
• Картография
• Системы автоматизированного проектирования (САПР)
• Моделирование и мультипликация
• Управление процессами
• Офисные приложения и электронная публикация
• Искусство и реклама
• Диагностика заболеваний
• Виртуальные миры
• Обучение
• и т. д.

5
Классификация изображений (1)
• По типу объекта и изображения
1. линейчатые рисунки двухмерных объектов (электронные
схемы, графики и т.п.)
2. линейчатые рисунки трехмерных объектов (каркасные
модели)
3. линейчатые рисунки трехмерных объектов с удалением
скрытых линий
4. двух/трех мерные черно-белые полутоновые изображения
5. двух/трех мерные цветные изображения

6
Классификация изображений (2)

 По типу интерактивности
 автономное вычерчивание
 интерактивное вычерчивание
 представление объекта и «полет» вокруг него
 интерактивное проектирование
 По роли изображения
 изображение - конечная цель
 изображение - средство визуализации

7
Классификация изображений (3)

• Векторная графика
• Растровая графика
• Фрактальная графика

8
Растровая графика
• всегда оперирует двумерным массивом (матрицей)
пикселей. Каждому пикселю сопоставляется
значение — яркости, цвета, прозрачности — или
комбинация этих значений. Растровый образ имеет
некоторое число строк и столбцов.
• В растровом виде представимо любое изображение,
однако этот способ хранения имеет свои недостатки:
• больший объём памяти, необходимый для работы с
изображениями,
• потери при редактировании.
Пример растрового изображения - фотография

Офис Google
Без особых потерь растровые
изображения можно только лишь
уменьшать, хотя некоторые детали
изображения тогда исчезнут навсегда, что
иначе в векторном представлении.
Увеличение же растровых изображений
оборачивается «красивым» видом на
увеличенные квадраты того или иного
цвета, которые раньше были пикселями.
Растровая графика
• При преобразовании растровой картинки исходными
данными является только описание набора пикселей,
поэтому возникает проблема замены меньшего числа
пикселей на большее (при увеличении), или
большего на меньшее (при уменьшении).
• Простейшим способом является замена одного пикселя
несколькими того же цвета (метод копирования
ближайшего пикселя: Nearest Neighbour). Более
совершенные методы используют алгоритмы
интерполяции, при которых новые пиксели получают
некоторый цвет, код которого вычисляется на основе
кодов цветов соседних пикселей.
(билинейная и бикубическая интерполяция).
Примеры интерполяции
Векторная графика (1)
• представляет изображение как набор геометрических
примитивов. Обычно в качестве них выбираются точки,
прямые, окружности, прямоугольники, а также как общий
случай, кривые некоторого порядка. Объектам
присваиваются некоторые атрибуты, например, толщина
линий, цвет заполнения.
• Рисунок хранится как набор координат, векторов и других
чисел, характеризующих набор примитивов. При
воспроизведении перекрывающихся объектов имеет значение
их порядок.
• Но, не всякое изображение можно представить как набор из
примитивов. Такой способ представления хорош для схем,
используется для масштабируемых шрифтов, деловой
графики, очень широко используется для создания
мультфильмов, игр и просто роликов разного содержания
Примеры векторных изображений
Векторная графика (2)
• Изображение в векторном формате даёт простор для
редактирования. Изображение может без потерь
масштабироваться, поворачиваться,
деформироваться, также имитация трёхмерности в
векторной графике проще, чем в растровой.
• Каждое такое преобразование фактически выполняется
так: старое изображение (или фрагмент) стирается, и
вместо него строится новое. Математическое описание
векторного рисунка остаётся прежним, изменяются
только значения некоторых переменных, например,
коэффициентов.
Векторная графика vs растровая
графика
Фракталы
• Фрактал — объект, отдельные элементы которого
наследуют свойства родительских структур.
Поскольку более детальное описание элементов
меньшего масштаба происходит по простому
алгоритму, описать такой объект можно всего лишь
несколькими математическими уравнениями.
• Фракталы позволяют описывать целые классы
изображений, для детального описания которых
требуется относительно мало памяти. С другой
стороны, фракталы слабо применимы к
изображениям вне этих классов.
Примеры фракталов
Использование фракталов
• Фракталы используются при анализе и классификации сигналов
сложной формы, возникающих в разных областях, например при
анализе колебаний курса валют в экономике, в физике твердого
тела, в динамике активных сред, для сжатия изображений.
• Структуры, похожие на фракталы, можно обнаружить в
окружающей нас природе: границы облаков, границы морских
побережий, турбулентные потоки в жидкостях, трещины в
некоторых породах, зимние узоры на стекле, изображения
структуры некоторых веществ, полученные с помощью
электронного микроскопа, кровеносная система сердечной
мышцы и т.д.
Аппаратные средства компьютерной графики

• Устройства вывода • струйные


• Дисплей + адаптер • лазерные
• текстовые • Графопостроитель
• графические • Устройства ввода
• разрешающая • Клавиатура
способность • Мышь
• количество цветов • Световое перо
• (CGA, EGA, VGA, SVGA, • Сканер
XVGA)
• Планшеты
• Принтер
• ромашковые
• матричные

21
Дисплей на основе электронно-лучевой трубки CRT (Cathode Ray Tube) (1)

• С фронтальной стороны внутренняя часть стекла трубки


покрыта люминофором . В качестве люминофоров для
цветных ЭЛТ используются довольно сложные составы на
основе редкоземельных металлов - иттрия, эрбия и т.п.
Люминофор - это вещество, которое испускает свет при
бомбардировке его заряженными частицами.
•  Для создания изображения используется электронная пушка,
которая испускает поток электронов сквозь металлическую
маску или решетку на внутреннюю поверхность стеклянного
экрана монитора, которая покрыта разноцветными
люминофорными точками.
• Электроны попадают на люминофорный слой, после чего
энергия электронов преобразуется в свет, т.е. поток
электронов заставляет точки люминофора светиться. В
цветном CRT-мониторе используются три электронные пушки.
Дисплей на основе электронно-лучевой трубки CRT (Cathode Ray Tube) (2)
LCD (Liquid Crystal Display, жидкокристаллические дисплеи) (1)

• сделаны из вещества, которое находится в жидком состоянии, но при


этом обладает некоторыми свойствами, присущими кристаллическим
телам.
• Молекулы жидких кристаллов под воздействием электричества могут
изменять свою ориентацию и вследствие этого изменять свойства
светового луча проходящего сквозь них.
• Дисплей состоит из
• ЖК-матрицы (стеклянной пластины, между слоями которой и располагаются
жидкие кристаллы),
• источников света для подсветки,
• контактного жгута
• обрамления (корпуса), чаще пластикового, с металлической рамкой жёсткости.
LCD (Liquid Crystal Display, жидкокристаллические мониторы) (2)

• Каждый пиксель ЖК-матрицы состоит из слоя молекул между двумя прозрачными


электродами, и двух поляризационных фильтров, плоскости поляризации которых (как
правило) перпендикулярны. 
• В отсутствие напряжения кристаллы выстраиваются в винтовую структуру. Эта структура
преломляет свет таким образом, что до второго фильтра плоскость его поляризации
поворачивается и через него свет проходит практически без потерь.
• Если же к электродам приложено напряжение, то молекулы стремятся выстроиться в
направлении электрического поля, что искажает винтовую структуру. При этом силы
упругости противодействуют этому, и при отключении напряжения молекулы
возвращаются в исходное положение.
• При достаточной величине поля практически все молекулы становятся параллельны, что
приводит к непрозрачности структуры. Варьируя напряжение, можно управлять степенью
прозрачности.
•  Во всей матрице можно управлять каждой из ячеек индивидуально, но при увеличении
их количества это становится трудновыполнимо, так как растёт число требуемых
электродов. Поэтому практически везде применяется адресация по строкам и столбцам.
LCD (Liquid Crystal Display, жидкокристаллические мониторы) (3)
LCD (Liquid Crystal Display, жидкокристаллические мониторы) (4)
LCD и LED мониторы
• LCD и LED мониторы относятся к жидко-
кристаллическим. LED отличаются от LCD
 только способом подсветки ЖК-дисплея
(или матрицы): вместо ламп используются
светодиоды.
Видеоадаптер
• Видеокарта (также видео карта, видеоадаптер, графический адаптер,
графическая плата, графическая карта, графический ускоритель, 3D-карта) —
устройство, преобразующее графический образ, хранящийся как содержимое
памяти компьютера (или самого адаптера), в форму, пригодную для
дальнейшего вывода на экран монитора. Первые мониторы, построенные на
электронно-лучевых трубках, работали по телевизионному принципу
сканирования экрана электронным лучом, и для отображения требовался
видеосигнал, генерируемый видеокартой.
• В первую очередь, сейчас под графическим адаптером понимают устройство с
графическим процессором — графический ускоритель, который и занимается
формированием самого графического образа. Современные видеокарты не
ограничиваются простым выводом изображения, они имеют встроенный
графический процессор, который может производить дополнительную
обработку, снимая эту задачу с центрального процессора компьютера.
Например, все современные видеокарты Nvidia и AMD (ATi) осуществляют
рендеринг графического конвейера OpenGL и DirectX на аппаратном уровне. В
последнее время также имеет место тенденция использовать вычислительные
возможности графического процессора для решения неграфических задач.
Современная видеокарта состоит из следующих частей

• Графический процессор
• Видеоконтроллер
• Видео-ПЗУ (постоянное
запоминающее устройства)
• Видео-ОЗУ (оперативное запоминающее
устройство)
• Цифро-аналоговый преобразователь
• Коннектор
• Система охлаждения
• Интерфейс
Программные средства компьютерной графики
• Интегрированные графические пакеты
• Простое решение сложных задач
• Закрытость кода
• Языки программирования
• Basic
• Pascal, C, C++, C#
• Assembler
• Библиотеки
• OpenGl,
• DireсtX.

31
Наиболее популярные библиотеки
• OpenGL (Open Graphics Library — открытая графическая
библиотека, графическое API) — спецификация,
определяющая независимый от языка
программирования платформонезависимый
программный интерфейс для написания приложений,
использующих двухмерную и трёхмерную
компьютерную графику.
• DirectX (от англ. direct — прямой, непосредственный) —
это набор API, разработанных для решения задач,
связанных с программированием под Microsoft Windows.
Наиболее широко используется при написании
компьютерных игр.
Уровни технологий компьютерной графики
• Пользовательский - для работы с трёхмерной
графикой используются программы трёхмерного
моделирования и системы виртуальной
реальности
• Алгоритмический - описание алгоритмов
построения трёхмерных сцен и взаимодействие
с ними выполняется на языках высокого уровня,
что требует определённой программистской
квалификации.

33
Этапы формирования изображения (1)
Этапы формирования изображения (2)
1. Моделирование - создание формы трехмерного объекта.
Для представления объектов, как правило, используются
многоугольники (полигоны), которые располагаются таким
образом, чтобы образовывать оболочку нужной формы.

35
Этапы формирования изображения (3)
2. Наложение материалов. Геометрические модели
определяют формы, которые не имеют поверхностных
свойств. Все предметы реального мира состоят из каких-либо
материалов (пластмассы, дерева, кирпича, мрамора и др.).
Материалы – краски и текстуры, которыми покрываются
объекты. Кроме того, материалы определяют поверхностные
свойства объектов, такие как шероховатость, блеск,
прозрачность
Этапы формирования изображения (4)
3. Расстановка источников света.
Освещение сцены – процесс
расстановки источников света таким
образом, чтобы вид сцены точно
соответствовал замыслу. Освещение
придаёт сцене ощущение объёмности
и реальности, так как источники света
способны создавать тени, когда их
лучи падают на объекты.
Этапы формирования изображения (5)
4. Установка камер. Выбор
способа показа сцены является
очень важным для зрителя.
Пользователь может
рассматривать сцену через
«съёмочную камеру» и, таким
образом, управлять
параметрами съёмки.
Этапы формирования изображения (6)
4. Визуализация – формирование изображения.
Процесс преобразования описания сцены в
растровое изображение, а именно, вычисление
цвета и яркости каждого пикселя. Визуализация
выполняется специальным программным
обеспечением и может занимать довольно
продолжительное время, зависящее от
сложности сцены и быстродействия компьютера.
5. Анимация изображений достигается за счет
показа на экране последовательности кадров со
скоростью, достаточной для создания иллюзии
плавного движения.
Анимация
• Двумя базовыми методами анимации являются анимация
реального времени и покадровая анимация.
• В анимации реального времени кадры отображаются на
экране по мере их генерации.
• При покадровой анимации каждый кадр генерируется и
записывается отдельно. Позже все кадры объединяются в
фильм или же последовательно отображаются на мониторе в
режиме воспроизведения в реальном времени.
Некоторые понятия
• Модель – это набор данных, отображающих свойства объекта и совокупность
отношений между этими данными
• В модель объекта проектирования в зависимости от способа ее исполнения
может входит ряд разнообразных характеристик и параметров. Для
обработки модели в графических системах существенным является не весь
объем информации об объекте, а та часть, которая определяет его геометрию,
то есть формы, размер, пространственное размещение.
• Описание объекта с точки зрения его геометрии называется геометрической
моделью объекта.
• Модель объекта в трёхмерной графике, представляет собой совокупность
вершин и рёбер, которая определяет форму отображаемого многогранного
объекта. Простейшая модель состоит из списка вершин, где каждой вершине
соответствуют некоторые координаты в трёхмерном пространстве и списка
отрезков-рёбер, где описана начальная и конечная вершина каждого ребра. В
более сложных моделях рёбра могут описываться кривыми,
например, кривыми Безье. 
Некоторые понятия

• Сцена - совокупность моделей в


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