Министерство образования и науки Российской Федерации ГОУ ВПО «УДМУРТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Математический факультет Кафедра алгебры и топологии РАБОЧАЯ ПРОГРАММА по дисциплине «Машинная графика» для специальности 511200 Математика, прикладная математика (магистратура) (код, название) форма обучения очная Курс ………………………………………………_____2 Семестр ………………………………………….._____3 Всего часов …………….………………………. .___138 Лекции, час ……..………………………………____18 Практические, час ……………………………… ____18 Самостоятельная работа, час ………………….. ___102 Домашнее задание (семестр) ….……………. …. ___3 Зачет (семестр) …………………………………. ____3 Ижевск 2007 2 Рабочая программа составлена ____________________________________________________ (название документа, дата утверждения) на основании Составители рабочей программы _доцент, к.ф.-м.н.__________ ______________ __Грызлов А.А. (должность, ученое звание, степень) (подпись) (Ф.И.О.) _______________________________________________ ___________________________ (должность, ученое звание, степень) (подпись) (Ф.И.О.) Рабочая программа утверждена на заседании кафедры алгебры и топологии «____» _______________________________ 200__ года Заведующий кафедрой __Грызлов А.А.__________ (Ф.И.О.) ________________ (подпись) «____» _______________200__года Решение методической комиссии математического факультета «____» _______________200__года Председатель методической комиссии ________________ (подпись) __Баранова Н.А.___ (Ф.И.О.) Согласовано с библиотекой УдГУ «___» ________________ 200__ года Директор библиотеки УдГУ __________ (подпись) ________________________ (Ф.И.О.) 3 Программа дисциплины «Компьютерная графика» составлена в соответствии с требованиями регионального компонента к обязательному минимуму содержания и уровню подготовки: дипломированного специалиста по специальности «Математика»-010101, бакалавра, магистра по направлению «Математика. Прикладная математика»-010200 по циклу «Специальных дисциплин» государственного образовательного стандарта высшего профессионального образования. I. Введение 1. Цель дисциплины: изучение классических алгоритмов компьютерной графики и вычислительной геометрии обзор современных методов, появившихся в дисциплине в течение последних лет изучение графической библиотеки OpenGL, являющейся стандартов в разработке современных графических приложений одним из 2. Задачи дисциплины: Научить базовым алгоритмам работы с графикой Дать общее представление о состоянии области на текущий момент времени Научить пользоваться библиотекой, являющейся промышленным стандартом при разработке приложений, связанных с трехмерной визуализацией. 3. Место дисциплины в системе высшего профессионального образования Дисциплина использует знания, полученные в ходе изучения таких курсов как «Вычислительные машины и программирование», «Алгебра» и «Дискретная математика». 4. Требования к уровню освоения содержания курса После прослушивания курса студент должен ориентироваться в алгоритмах компьютерной графики и уметь визуализировать трехмерные объекты разной степени сложности с использованием функций библиотеки OpenGL. 5. Методическая новизна курса (новые методики, формы работы, авторские приемы в преподавании курса) Теоретическая часть курса проводится в аудитории с проектором, что позволяет наглядно иллюстрировать теоретический материал картинками и видеороликами. Распределение часов курса по темам и видам работ II. № п/п Наименование разделов и тем ВСЕГО (часов) Аудиторные занятия (час) в том числе Лекции Практические (семинары, лабораторные работы) Самостоятельная работа 4 1 2 3 4 5 6 7 8 9 Трехмерные преобразования и проекции Пространственные кривые и поверхности Алгоритмы растровой графики Алгоритмы вычислительной геометрии Удаление невидимых линий и поверхностей Освещение сцены и текстуры Фотореалистичная визуализация 16 2 2 12 24 3 3 18 20 3 2 15 16 2 2 12 14 2 2 10 14 2 2 10 14 2 2 10 Фрагменты OpenGL Примитивы OpenGL ИТОГО: 12 8 138 1 1 18 1 1 18 8 6 102 Форма итогового контроля III. Зачет IV. Содержание курса 1. Разделы курса, темы, их краткое содержание Трехмерные преобразования и проекции. Однородные координаты. Видовые преобразования. Матрицы преобразований. Аксонометрические и перспективные проекции Пространственные кривые и поверхности. Параметрическое представление кривых. Квадрики. Кривые Безье. Б-сплайны. Кривые Эрмита. Параметрическое представление поверхности. Поверхности Безье. Бикубические Б-поверхности и NURBS. Поверхности Эрмита. Алгоритмы растровой графики. Алгоритм Брезенхема для отрезка и окружности. Алгоритмы заполнения области с затравкой (простой и построчный). Алгоритмы заполнения многоугольника методом сканирующей строки. Алгоритмы вычислительной геометрии. Определение выпуклости многоугольника. Принадлежность точки многоугольнику. Направление обхода контура. Нахождение выпуклой оболочки. Триангуляция многоугольников. Удаление невидимых линий и поверхностей. Алгоритмы плавающего горизонта и художника. Z-буфер. Алгоритм Варнока. Алгоритм Робертса для многогранников и для всей сцены. Освещение сцены и текстуры. Теория цвета, цветовые модели. Уравнение Фонга. Методы закраски Гуро и Фонга. Текстуры, шум Перлина. Имитация рельефа. Фотореалистичная визуализация. Метод излучательности. Метод фотонных карт. Метод обратной трассировки лучей 2. Темы лабораторных, семинарских занятий и коллоквиумов 5 1. Введение в OpenGL. Создание окна приложения, контекста визуализации, использование вспомогательных библиотек OpenGL 2. Примитивы OpenGL 3. Преобразования координат 4. Освещение и материалы 5. Текстуры 6. Фрагменты OpenGL Прозрачность, туман и механизмы смешивания цветов 7. Загрузка внешних объектов 3. Перечень примерных контрольных вопросов и заданий для самостоятельной работы 1. Визуализация графика неявной/параметрической функции в трехмерном пространстве (рисование трехмерных примитивов, преобразования координат, освещениe, наложение текстуры, ввод данных с клавиатуры) 2. Создание фрактального ландшафта (прозрачность, туман, загрузка внешних объектов) 4. Примерный перечень вопросов к экзамену (зачету) 1. Трехмерные преобразования и проекции. Однородные координаты. 2. Параметрические кривые. Кривые Безье, Б-сплайны, кривые Эрмита. 3. Способы представления поверхностей. Бикубические поверхности Безье, Бповерхности, поверхности Эрмита. 4. Растровые алгоритмы: алгоритм Брезенхема для отрезка и окружности 5. Алгоритмы заливки области: простой и построчный алгоритм заливки с затравкой 6. Алгоритм заливки многоугольников со списком активных ребер. Когерентность 7. Алгоритмы работы с многоугольниками: принадлежность точки многоугольнику. определение выпуклости, 8. Построение выпуклой оболочки множества точек: обход Грэхема 9. Удаление невидимых линий и поверхностей: алгоритм плавающего горизонта, алгоритм художника. 10. Удаление невидимых линий и поверхностей: алгоритм Робертса. 11. Удаление невидимых линий и поверхностей: алгоритм, использующий Z-буфер. 12. Модели освещения, уравнение Фонга. 13. Метод трассировки лучей. 14. Глобальное освещение сцены: карта фотонов, метод излучательности. 15. Текстуры, шум Перлина, имитация рельефа (бампмэппинг) 6 16. Цвет: модели RGB, CMYK, HSB V. Учебно-методическое обеспечение курса 1. Рекомендуемая литература (основная) 1. Роджерс Д., Адамс Дж.Математические основы машинной графики. М.: «Мир», 2001. 2. Роджерс Д. Алгоритмические основы машинной графики. М.: «Мир», 1989. 2. Рекомендуемая литература (дополнительная) 1. Препарата Ф., Шеймос М. Вычислительная геометрия: Введение. М.: «Мир», 1989. 2. Шишкин Е.В., Боресков А.В. Компьютерная графика. М.: «Диалог МИФИ» 1996. 3. Тихомиров Ю. OpenGL. Программирование трехмерной графики. СПб.: BVH, 2002. 3. Перечень обучающих, контролирующих компьютерных программ, кино- и телефильмов, мультимедиа и т.п. 1. www.opengl.org/documentation/red_book_1.0/ 2. pmg.org.ru/nehe/index.html