Современная компьютерная графика
Кафедра информатики и автоматизации научных исследований
Специальность: Прикладная информатика в области принятия решений
Преподаватель: Васин Д.Ю.
Данная дисциплина относится к дисциплинам профессионального цикла, вариативной части, в т.ч. дисциплины по выбору студента, преподается в 1 семестре 1 курса обучения магистров. Дисциплина опирается на материал курсов математического анализа, алгебры и геометрии, алгоритмизации и программирования, языков и методов программирования.
Дисциплина знакомит студентов с математическими, алгоритмическими, программными и технологическими основами компьютерной графики (КГ), областями ее применения и тенденциями построения современных графических систем.
Целями освоения курса "Компьютерная геометрия и графика" являются:
- изучение и освоение базовых понятий, методов и алгоритмов, применяемых при разработке компьютерной графики. Формирование у студентов теоретической базы для решения задач обработки графической информации;
- формирование взгляда на компьютерную графику как на систематическую научно-практическую деятельность, носящую как теоретический, так и прикладной характер;
- формирование базовых теоретических понятий, лежащих в основе компьютерной графики, освоение особенностей восприятия растровых и векторных изображений, методов квантования и дискретизации изображений;
- дать представление о структуре программного обеспечения и реализации алгоритмов компьютерной графики;
- дать представление о методах геометрического моделирования, моделях графических данных и связанных с ними методах представления, хранения и обработки графической информации;
- научить использованию алгоритмов и методов компьютерной графики при проектировании пользовательских интерфейсов программных систем;
- анализ современные тенденции и перспективы в сфере обработки графической информации.
- В результате освоения дисциплины обучающийся должен:знать:
- математические основы компьютерной графики и геометрического моделирования;
- методы и формы визуального представления информации;
- особенности восприятия изображений;
- системы кодирования и операции над цветом изображения;
- алгоритмы растрирования и геометрические преобразования;
уметь:
- на практике создавать геометрические модели объектов;
- работать с графическими библиотеками при программировании на языках высокого уровня;
владеть представлениями о:
- методах геометрического моделирования, моделях графических данных;
- технических и программных средствах компьютерной графики.
Содержание
1. Введение. Три основных направления обработки видеоинформации: компьютерная графика (КГ), обработка изображений (ОИ), распознавание образов (РО). Цели и задачи каждого направления. История развития интерактивных графических систем: системы автопроектирования (САПР), геоинформационные системы (ГИС), системы виртуальной реальности (СВР). Использование графики в кино, компьютерных играх, в сети Internet.
2. Математические аспекты 2D графики. Декартовы координаты на плоскости: система декартовых координат; координаты точки на декартовой плоскости. Явный и неявный виды уравнения прямой линии. Особенности отображения вертикальных прямых. Уравнение прямой, проходящей через 2 заданные точки. Классификация положения точки относительно отрезка прямой. Явный и неявный виды уравнения плоских кривых. Трудности, возникающие при компьютерном моделировании плоских кривых. Важнейшие формулы, описывающие взаимоотношения между точками и прямыми на плоскости: расстояние между двумя точками в различных метриках; расстояние между точкой и прямой на плоскости; условие пересечения двух прямых на плоскости и нахождение координат точки их пересечения; вычисление угла, образованного пересечением двух прямых на плоскости; условие параллельности и перпендикулярности двух прямых на плоскости. Пересечения прямых и кривых. Уравнения касательной и нормали к кривой. Параметрические уравнения прямых и кривых. Пересечение двух параметрических кривых.
Кривизна. Радиус кривизны. Использование полярной системы координат для кривых с осевой симметрией. Недостатки полярной системы координат с точки зрения машинной графики. Интерполирование с помощью многочленов. Определение и свойства многочленов Безье. В-сплайны. Вычислительные аспекты использования В-сплайнов. Интерполяционные В-сплайны. Применение В-сплайнов в КГ.
3. Координатный метод в компьютерной графике. Причины использования координатного метода в КГ. Общие вопросы преобразования координат. Прямое и обратное преобразования. Классификация преобразований координат, линейные и нелинейные преобразования.
Аффинные преобразования на плоскости. понятие однородных координат. матричная запись аффинных преобразований; сложное аффинное преобразование; частные случаи аффинных преобразований: параллельный сдвиг, растяжение, сжатие, поворот; свойства аффинных преобразований. Преобразования объектов. Связь преобразований объектов с преобразованиями координат. Задача отображения в прямоугольное экранное окно.
4. Цвет и цветовые модели. Палитра. Физические основы цветовосприятия: опыты И. Ньютона по спектральному разложению белого цвета; цветовой круг И. Ньютона; цвет с позиций волновой теории. Длина волны. Монохроматическое излучение. Цвет монохроматического излучения. Зависимость чувствительности глаза человека от длины волны светового излучения; характеристики цвета цветовой тон, яркость, насыщенность; понятие метаменных излучений; колориметрия; законы смешивания цветов Г. Грассмана; Аддитивная цветовая модель RGB:
способ представления цветов; геометрическая интерпретация, треугольник Максвелла, цветовой куб. Обзор других цветовых моделей, используемых в КГ. Кодирование цвета. Палитра
5. Классы изображений, выделяемые при их обработке на ЭВМ. Четыре класса изображений, их основные характеристики и способы представления в ЭВМ. Преобразования изображений, переводящие их из одного класса в другой.
6. Обзор базовых форматов хранения растровых и векторных данных. Краткое перечисление возможностей основных растровых форматов, используемых в КГ. Подробное рассмотрение растрового формата хранения BMP. Краткое перечисление возможностей основных векторных форматов.
7. Элементы геометрии дискретной плоскости. Алгоритмическое обеспечение 2D растровой графики. Два способа визуализации изображений: растровый и векторный. Определение пикселя, его характеристики. Определение растрового изображения. Геометрические и цветовые характеристики растровых изображений. Бинарные, полутоновые и цветные изображения. Понятие глубины цвета. Оценка разрешающей способности растра. Определение векторного изображения. Определения: н-связности и к-связности пикселей; н-маршрута и к-маршрута; н-связного множества и к-связного множества пикселей. Базовые растровые алгоритмы: определение н- и к-соседей данного пикселя; построение одиночной области н-связных пикселей; построение всех н-связных областей одноцветных пикселей; построение одиночного контура области связных не фоновых пикселей по бинарной растровой матрице; построение всех контуров не фоновых связных растровых областей по бинарной растровой матрице; алгоритмы устранения «лестничного» эффекта на растровых изображениях. Инкрементные растровые алгоритмы Брезенхама: алгоритм вывода прямой линии, основанный на непосредственном вычислении координат. Его положительные и отрицательные черты с точки зрения требований КГ; понятие инкрементного алгоритма. Инкрементные алгоритмы генерации точек прямой, окружности с заданными координатами центра и радиусом и эллипса, с заданными координатами центра и длинами полуосей. Алгоритмы заполнения растровой области: рекурсивный алгоритм заполнения по критерию связности с затравкой; нерекурсивный алгоритм заполнения по критерию связности. Алгоритм проверки принадлежности точки многоугольнику. Алгоритм вычисления площади многоугольника на дискретной сетке. Алгоритм построения звездчатого полигона. Алгоритм построения выпуклой оболочки.
8. Алгоритмическое обеспечение 2D векторной графики. Алгоритмы формирования многочленов Безье: геометрический алгоритм построения многочленов Безье; построение многочленов Безье по схеме Горнера. Алгоритмы построения кривых по точкам: построение дуги окружности заданного радиуса, соединяющей две заданные точки с известными координатами; интерполирование с помощью В-сплайна. Алгоритмы заполнения контуров: заполнение прямоугольника; заполнение круга; заполнение полигонов. Алгоритмы отсечения: отсечение отрезка по границе прямоугольника. Алгоритм Сазерленда-Кохена; отсечение произвольного многоугольника по границе заданного выпуклого многоугольника
9. Виды проецирования. Параллельное и центральное проецирование. Виды, классификация и характеристика параллельного проецирования: ортографическое, аксонометрическое и косоугольное. Математическое описание ортографических проекций и изометрических аксонометрических проекций. Виды, классификация и характеристика центрального проецирования: одноточечное, двухточечное и трехточечное проецирование. Математическое описание перспективного преобразования.
10. Методы и алгоритмы 3D графики. Модели описания поверхностей: аналитическая модель; векторная полигональная модель. Структуры данных, используемые в векторных полигональных моделях. Положительные черты и недостатки полигональной модели с точки зрения КГ;
воксельная модель. Понятие вокселя, его характеристики. Применение воксельной модели. Достоинства и недостатки; равномерная сетка. Достоинства и недостатки модели; неравномерная сетка. Изолинии. Достоинства и недостатки модели; преобразования моделей описания поверхности. Способы визуализации объемных изображений: каркасная («проволочная») модель; отображение поверхностей в виде многогранников с плоскими гранями с удалением невидимых точек; дополнение предыдущей модели реалистичным закрашиванием поверхностей. Отображение с удалением невидимых точек: сортировка граней по глубине; метод плавающего горизонта; метод Z-буфера.
11. Закрашивание поверхностей. Модели отражения света: зеркальное отражение. Модель Фонга; диффузное отражение. Закон Ламберта. Метод закраски Гуро. Метод закраски Фонга. Преломление света. Модель идеального преломления. Вычисление вектора преломленного луча.
12. Синтез 3D сцен. Метод трассировки лучей. Прямая трассировка. Сложность физической реализации метода прямой трассировки. Обратная трассировка. Ограничения, существенно повышающие быстродействие метода обратной трассировки. Цветовая модель Уиттеда. Алгоритм вычисления значения интенсивности текущего трассируемого луча. Общие выводы по методу обратной трассировки.
13. Изучение возможностей использования графической библиотеки OpenGL. Общие сведения о библиотеке. Условия ее распространения и установки. Сценарий создания нового проекта, использующего OpenGL, в среде MS Visual C++. Запуск OpenGL в полноэкранном режиме. Инициализация библиотеки. Создание приложений: консольное приложение Win32 Console Application; полнофункциональное приложение Win32 Application. Синтаксис функций OpenGL и ее базовые типы данных. Преобразования сдвига и вращения, переход к новым координатам. Анимация в OpenGL. Отображение в OpenGL простых объектов: понятие вершины в OpenGL, ее создание; отображение точек, линий, треугольников, многоугольников. Построение поверхностей. Плоскости отсечения. Интерполяция цветов. Эффекты прозрачности, тумана. Базовые логические операции OpenGL. Работа OpenGL с готовыми растровыми изображениями: загрузка растрового изображения в OpenGL; понятие текстуры. Создание текстуры в памяти. Наложение текстуры на объект. Повторение текстуры. Освещение объектов: модели освещения; материал;
лампы и их свойства.
14. Графические примитивы API Windows. Отображение отдельных пикселей. Понятие контекста памяти. Создание контекста памяти. Параметры контекста графического устройства. Отображение линий с помощью примитивов API Windows. Стиль линии. Перо. Отображение контуров геометрических фигур и фигур с заполнением цветом. Стиль заполнения. Кисть.
15. Графический редактор Paint. Назначение, функциональные возможности. Форматы файлов, понимаемые редактором. Обзор возможностей основных чертежно-графических инструментов. Инструменты выделения областей. Масштабирование и трансформация изображений. Ввод текста.
16. Система трехмерного моделирования КОМПАС. Назначение и функциональные возможности системы КОМПАС. Основные этапы работы с системой КОМПАС: запуск пакета; создание нового файла чертежа; режим работы с чертежом; запись чертежа. Основное меню: общий принцип работы с выбранным действием в подменю; вид. Режим работы с видом; выполнение основных геометрических построений; вспомогательные построения. Построение основных примитивов изображения: выбор атрибутов линий; запись вида. Построение плоского контура: в тонких линиях обвод контура в заданных типах линий. Режим простановки размеров. Специальные знаки. Технологические параметры.
Литература
а) основная литература:
- Павлидис Т. Алгоритмы машинной графики и обработки изображений. Пер. с англ.-М.: Радио и связь. 1986.-400с.: ил.
- Гилой В. Интерактивная машинная графика: Структуры данных. Пер. с англ.-М.: Мир.1981.-384 с.: ил.
- Фоли Дж..Ван Дэм А. Основы интерактивной машинной графики. в 2 книгах., Том 1-2,-М.:Мир. 1985
- Д. Роджерс. Алгоритмические основы машинной графики. Пер. с англ.-М.: Мир.1989.-512 с.: ил.
- Пореев В.Н. Компьютерная графика. - СПб.: БХВ-Петербург, 2004. - 432 с.: ил.
б) дополнительная литература:
- Энджел Й. Практическое введение в машинную графику.- М.: Радио и связь, 1984
- Л.Аммирал. Машинная графика на персональных компьютерах. Пер. с англ.-М.:"Сол Систем", 1992
- Л.Аммирал. Принципы программирования в машинной графике. Пер.с англ.-М.: "Сол Систем" , 1992
- Е.В.Шишкин, А.В.Боресков. Компьютерная графика. Динамика, реалистические изображения - М.: Диалог-МИФИ, 1995.- 288 с.
- Е.В.Шишкин, А.В.Боресков. Компьютерная графика. Полигональные модели – М.: Диалог-МИФИ, 2005.- 464 с.
- Прэтт У. Цифровая обработка изображений. Пер. с англ.-М.:Мир, 1982
- М.Минаси. Графический интерфейс пользователя. Секреты проектирования. – М. Мир. 1996
- Эйнжел Э. Интерактивная компьютерная графика. Вводный курс на базе OpenGL, 2 изд.; пер. с англ.- М.; Изд.дом “Вильямс”, 2001
Отчетность
- Семестр 1: Экз