Программа учебной дисциплины " Компьютерная графика " Программа дисциплины

Вид материалаПрограмма

Содержание


Программа учебной дисциплины
Организационно-методический раздел
Место курса в профессиональной подготовке выпускника
Требования к уровню и содержанию курса
Содержание курса
Распределение часов курса по темам и видам работы
Наименование тем и разделов
Форма промежуточного контроля
Форма итогового контроля Курсовая работа Учебно-методическое обеспечение курса
Дополнительная литература Составил доц. Панкратов В.Б.Вопросы к зачету
Примерные темы курсовых работ
Подобный материал:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Санкт-Петербургский государственный университет

Филологический факультет






















Рассмотрено и рекомендовано на заседании кафедры "Информационных систем в искусстве и гуманитарных науках"
протокол №
от 2004 г.




УТВЕРЖДАЮ

Декан филологического факультета
профессор С.И. Богданов







Заведующий кафедрой
Н.В.Борисов




"____" ________ 2004 г.








___________________




___________________






ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

" Компьютерная графика "


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

351400 – Прикладная информатика в области искусства и гуманитарных наук


Санкт-Петербург

2004 г.

ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ

Компьютерная графика
  1. Организационно-методический раздел

  1. Цель курса: Дать представление о комплексе современных технологий по созданию графических изображений с помощью различных математических алгоритмов.
  2. Задача курса: Изучение основных принципов реализации базовых математических алгоритмов компьютерной графики.
  3. Место курса в профессиональной подготовке выпускника: Курс обеспечивается дисциплинами «Введение в специальность», «Высшая математика», «Программирование на языке Java (C++)» и неразрывно связан с проводимыми параллельно курсам. «Эргономика и промышленный дизайн».
  4. Требования к уровню и содержанию курса: студент должен иметь навыки программирования на объектно-ориентированном языке программирования (Java, C++, Object Pascal), владеть математическим аппаратом матричной алгебры, иметь представление о современных концепциях дизайна.
  5. Промежуточная аттестация: После изучения базовых алгоритмов двумерной графики проводится промежуточная аттестация студентов.
  1. Содержание курса

  1. Разделы курса
  1. Основные понятия компьютерной графики
  2. Основные понятия и алгоритмы растровой графики
  3. Базовые алгоритмы двумерной графики
  4. Базовые алгоритмы трехмерной графики
  5. Возможности и принципы организации прикладных графических библиотек
  6. Векторная графика в Интернет



  1. Темы и краткое содержание.
  1. Основные понятия компьютерной графики
    1. Растровые изображения и их основные характеристики
    2. Основные графические форматы
    3. Характеристики устройств отображения
    4. Цветовые модели
      1. Понятие цветового пространства
      2. Цветовые модели RGB, CMYK, LAB, XYZ, HSV
      3. Понятие палитры, кодирование цветов
      4. Цветовая температура и настройка отображения
    5. Выходные характеристики растровых изображений
      1. Ступенчатый эффект и методы его устранения
      2. Дизеринг. Некоторые алгоритмы
      3. Особенности печати на принтерах. Цветное и ч/б разрешение
      4. Причины появления муара и методы его устранения
  2. Базовые алгоритмы растровой графики
    1. Основы растровой графики: рисование точки в массиве, оптимизация, двойная буферизация
    2. Реализация цветовой модели RGB и α-RGB
    3. Алгоритмы рисование базовых примитивов: вертикальная линия, горизонтальная линия, закрашенный прямоугольник, оптимизация
    4. Alpha-blending, работа с простыми форматами изображений (Targa)
    5. Основы анимации: перемещение объектов, анимация цвета Растеризация отрезка, 4- и 8-связность, midpoint-алгоритм и алгоритм Бразенхейма
    6. Закраска: простейшие алгоритмы заполнения замкнутых областей
  3. Базовые алгоритмы двумерной графики
    1. Аффинные преобразование на плоскости, общий вид, матричное представление, однородные координаты
    2. Реализация аффинных преобразований
    3. Отсечение отрезков алгоритм Sutherland-Cohen
    4. Алгоритмы расчета пересечения отрезков. Расчет освещенных и затененных пространств
    5. Anti-aliasing, теория, простые примеры
  4. Базовые алгоритмы трехмерной графики
    1. Аффинные преобразования в пространстве
    2. Реализация аффинных преобразований
    3. Проекции, теория, матричный вид, детали реализации
    4. Закраска треугольника, оптимизация
    5. Теория освещения, закон Ламберта, закон Фонга
    6. Текстурирование, перспективная коррекция текстуры
    7. Реализация текстурирования и освещения треугольника
    8. Введение в проблему удаление невидимых поверхностей, удаление нелицевых граней, Z-Buffer, основы обратной трассировки лучей
    9. Оптимизация и улучшение качества изображений: Mip mapping, LOD (уровень детализации)
    10. Теория программирования эффектов, туман, motion blur, lens flare
  5. Прикладные графические библиотеки
    1. API Windows. Графические возможности
    2. Принципы организации и основные возможности пакета OpenGL
  6. Использование векторной графики в Интернет
    1. Macromedia Flash
    2. W3C – проект Scalable Vector Graphic
    3. Microsoft - VML


Примерный перечень вопросов для самостоятельной работы.


  1. Распределение часов курса по темам и видам работы






Наименование тем и разделов

ЧАСЫ


Всего

Аудиторные занятия

Самостоятельная работа

Лекции

Практические занятия

1.

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

6

6




6

2.

Базовые алгоритмы растровой графики

26

10

10

10

3.

Базовые алгоритмы двумерной графики

32

12

14

12

4.

Базовые алгоритмы трехмерной графики

38

14




14

5.

Возможности и принципы организации прикладных графических библиотек

8

4




4

6.

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

6

2




4



Всего


116

48

24

50



  1. Форма промежуточного контроля


Контрольное задание. Студенты получают задание реализовать средствами Java алгоритм расчета и представления освещенных и затененных пространств от точечного источника света.
  1. Форма итогового контроля


Курсовая работа
  1. Учебно-методическое обеспечение курса

Основная литература

  1. Поляков А.Ю. Методы и алгоритмы компьютерной графики в примерах на Visual C++. СПб.: БХВ Петербург, 2002г. 416 c.
  2. Порев В.Н. Компьютерная графика. СПб.: БХВ-Петербург, 2004. – 432 с.
  3. Тихомиров Ю.В., OpenGL. Программирование трехмерной графики. – 2-е изд.-СПб.: БХВ-Петербург, 2002.-304 с.: ил.

Дополнительная литература



Составил доц. Панкратов В.Б.


Вопросы к зачету

  1. Классификация современного программного обеспечения обработки графики.
  2. Понятия растровой и векторной графики.
  3. Принципы работы с векторной графикой. Графические примитивы. Векторные графические редакторы.
  4. Форматы графических файлов.
  5. Цветовые модели и цветовые пространства.
  6. Особенности вывода информации в графическом режиме. Вывод на низком уровне.
  7. Компьютерная геометрия. Двухмерные преобразования. Перемещение, масштабирование, поворот, отображение с помощью матрицы 2x2.
  8. Двухмерные преобразования. Однородные координаты. Вращение вокруг центра координат.
  9. Двухмерные преобразования. Однородные координаты. Вращение вокруг произвольной точки. Комбинированные преобразования.
  10. Компьютерная геометрия. Трехмерные преобразования. Правостороння и левосторонняя системы координаты. Обобщенная матрица преобразований 4x4.
  11. Трехмерные преобразования. Масштаб, сдвиг, вращение.
  12. Проекторы. Проекции. Виды проекций.
  13. Получение проекций с помощью обобщенной матрицы преобразования.
  14. Представление пространственных форм. Полигональные сетки. Параметрические бикубические куски. Общие определения.
  15. Полигональные сетки. Способы задания полигональных сеток. Непротиворечивость задания полигональных сеток.
  16. Уравнение плоскости. Уравнение плоскости в матричном виде.
  17. Отсечения нелицевых граней (алгоритм работающий через вектор внешней нормали).
  18. Удаление невидимых линий. Алгоритм Робертса.
  19. Удаление невидимых поверхностей. Метод плавающего горизонта.
  20. Удаление невидимых поверхностей. Метод z-буфера.
  21. Удаление невидимых поверхностей. Метод трассировки лучей.
  22. Удаление невидимых поверхностей. Алгоритм художника.
  23. Удаление невидимых поверхностей. Алгоритм Варнака.
  24. Удаление невидимых поверхностей. Алгоритм Вейлера-Эйзертона.
  25. Методы закраски полигональных моделей. Модель диффузного отражения. Модель зеркального отражения. Метод постоянного закрашивания.
  26. Методы закраски полигональных моделей. Метод Гуро.
  27. Методы закраски полигональных моделей. Метод Фонга.
  28. Простейшие пошаговые алгоритмы построения отрезков. Недостатки.
  29. Алгоритм Брезенхейма для отрезков прямой.
  30. Растровая развертка окружностей. Простейшие способы построения окружностей, их недостатки. Восьмисторонняя симметрия.
  31. Алгоритм Брезенхейма для окружностей.
  32. Закраска области, заданной цветом границы.
  33. Отсечение многоугольников алгоритм Сазерланда-Ходгмана.
  34. Заполнение многоугольников. Алгоритм построчного сканирования.
  35. Библиотека OpenGL.



Примерные темы курсовых работ





1

Игра Арканоид

Полноразмерный вариант

Круглый шарик, отражение от ракетки и объектов, Выбивание кирпичей, подсчет очков

2

Игра Астероиды

1. Взаимодействие объектов в пространстве замкнутом в тор

2. в незамкнутом пространстве

3

Игра артиллерийская дуэль

Учет внешних физических факторов (гравитация)

4

Редактор 2D

Рисование многоугольников, окружностей их заливка

5

Редактор растровой графики

Кисточки масштабирование, фильтры

6

Генератор фракталов
  1. множество Мандельброта
  2. множество Жуля
  3. Эмуляция поверхности земли




7

3D мир
  1. Перемещение объекта в трехмерном пространстве
  2. Хождение по трехмерному лабиринту

8

3D модель

Осмотр с разных сторон, освещение