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

Вид материалаРабочая программа

Содержание


1. Цели и задачи дисциплины, ее место в учебном процессе
2. Требования к знаниям и умениям студентов по дисциплине
3. Распределение трудоемкости (час.) дисциплины по темам и видам занятий.
4. Содержание лекционного курса.
Тема лекции. Вопросы, обрабатываемые на лекции
Перечень практических занятий.
Наименование лабораторной работы.
7. Задания для самостоятельной работы студентов.
Вопросы для самостоятельного изучения
9. Курсовая работа.
13. Список основной и дополнительной литературы.
Подобный материал:
Саратовский Государственный технический университет

Кафедра «Техническая физика и информационные технологии»


РАБОЧАЯ ПРОГРАММА


по дисциплине

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

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


Курс 3

Семестр 5

Часов в неделю: лекции 3

Курсовая работа

Курсовой проект 5

Расчетно-графическая работа

Контрольная работа

Экзамен 5 семестр

Зачет


Рабочая программа обсуждена на заседании кафедры

“____”___________200__ г, протокол №_____


Зав. кафедрой проф.__________________Кац А.М.


Рабочая программа утверждена на заседании УМКС

“____”___________200__ г, протокол №_____


Председатель УМКС проф._____________Кац А.М.


Энгельс, 200__.

1. Цели и задачи дисциплины, ее место в учебном процессе
  1. Цели преподавания дисциплины - освоение обучаемым фундаментальных знаний в области теории компьютерной графики и выработка практических навыков применения этих знаний.
  2. Задачи изучения дисциплины - изложение основных положений компьютерной графики, их приме­
    нения при реализации алгоритмов и создании прикладных графических систем.
  3. Перечень дисциплин, усвоение которых студентами необходимо для усвоения данной дисциплины - Для успешного освоения
    курса студенты должны быть знакомы с основами теории множеств, начертательной
    геометрии, алгебры, иметь практические навыки программирования.

2. Требования к знаниям и умениям студентов по дисциплине

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

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

3. Распределение трудоемкости (час.) дисциплины по темам и видам занятий.



модуля

недели

темы

Наименование темы

Часы

всего

лекции

лаб. заня­тия

практ. занятия

СРС

1

2

3

4

5

6

7

8

9

1

1-2

1

Координаты и преобразования.

11

4

2




8

1

2

2

Графические примитивы. Реализа­ция в языках программирования.

12

3

3




4

1

3-4

3

Растровые алгоритмы

6

5

1







1

4-6

4

Основные алгоритмы отсечения

5

5










1

6-7

5

Другие алгоритмы вычислитель­ной геометрии

15

5

3




4

1

8-9

6

Структуры данных

10

5

5







1

9-10

7

Удаление скрытых линий и по-

13

3

2




12










верхностей
















1

10-11

8

Методы рендеринга полигональ­ных моделей

10

3

2




3

1

11-12

9

Реалистичное представление сцен

13

3

4




8

2

12-14

10

Библиотека OpenGL

17

6

5




8

2

14-15

11

OpenGL. Преобразования коорди­нат и проекции

12

3

3




4

2

16

12

OpenGL. Материалы и освещение

6

3

3







2

17

13

OpenGL. Текстуры

10

3

1




4










Итого

140

51

34




55

4. Содержание лекционного курса.



темы

всего часов

лекции

Тема лекции. Вопросы, обрабатываемые на лекции

1

2

3

4










Модуль 1. Основы компьютерной графики. Основные алгоритмы.

1

4

1,2

Координаты и преобразования.

Двумерные преобразования. Аффинные преобразования на плоско­сти. Понятие однородных координат. Двумерные преобразования в однородных координатах. Композиция двумерных преобразований. Эффективность преобразований. Трехмерные координаты. Проекции. Стереоизображения. Геометрические преобразования растровых кар­тин.

2

3

3

Графические примитивы. Реализация в языках программирова­ния.

Работа с отдельными точками. Отображение линейных объектов. Ото­бражение сплошных объектов. Понятие режима (способа) вывода. По­нятие окна (порта) вывода. Понятие видеостраниц и работа с ними.

3

5

4-6

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

Растровое представление отрезка. Генерация окружности. Алгоритм Брезенхема. Заполнение многоугольника. Построчное заполнение. Заполнение многоугольника. Распределяющий подсчет. Простой ал­горитм заливки. Построчный алгоритм заливки с затравкой.

4

5

7-9

Основные алгоритмы отсечения.

Двумерный алгоритм Коэна-Сазерленда. Двумерный FC-алгоритм. Двумерный алгоритм Лианга-Барски. Двумерный алгоритм Кируса-Бека. Трехмерное отсечение отрезка.

5

5

10,11

Другие алгоритмы вычислительной геометрии

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

6

5

12-14

Структуры данных

Последовательный доступ. Непосредственный доступ. Линейные спи-










ски. Комбинированные списки. Циклические списки.

7

3

15,16

Удаление скрытых линий и поверхностей

Классификация методов удаления невидимых частей. Отсечение не­лицевых граней. Ограничивающие тела. Разбиение пространства. Ал­горитм удаления поверхностей с Z-буфером. Построчный алгоритм Z-буфером. Алгоритм разбиения области Варнока. Построчный алго­ритм Уоткинса. Алгоритм трассировки лучей.

8

3

17

Методы рендеринга полигональных моделей

Метод постоянного закрашивания. Метод Гуро. Метод Фонга.

9

3

18,19

Реалистичное представление сцен

Модели освещения. Модели закраски. Прозрачность. Тени. Фактура. Трассировка лучей. Излучаемость.










Модуль 2. Использование библиотеки OpenGl.

10

6

20-22

Библиотека OpenGL

Введение. Основные возможности. Архитектура и особенности син­таксиса. OpenGL в ОС Windows. Общая структура приложения. Вер­шины и примитивы. Определение атрибутов вершин. Массивы вер­шин. Списки изображений.

11

3

23

OpenGL. Преобразования координат и проекции

Видовое преобразование. Проекции. Область вывода.

12

3

24

OpenGL. Материалы и освещение

Свойства материала. Источники света. Модель освещения.

13

3

25

OpenGL. Текстуры

Подготовка текстуры. Методы наложения текстуры. Координаты тек­стуры.
  1. Перечень практических занятий.

Практические занятия учебным планом не предусмотрены.


  1. Перечень лабораторных занятий.




темы

Всего часов

заня­тия

Наименование лабораторной работы.

Вопросы, обрабатываемые на лабораторном. занятии.

1

2

1

Трехмерные координаты. Проекции.

2

3

2,3

Понятие режима (способа) вывода. Понятие окна (порта) выво­да. Понятие видеостраниц и работа с ними

3

1

4

Простой алгоритм заливки.

5

3

5,6

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

6

5

7,8,9

Структуры данных.

7

2

10

Отсечение нелицевых граней. Алгоритм удаления поверхно­стей с Z-буфером

8

2

11

Метод Гуро. Метод Фонга.

9

4

12,13

Модели освещения. Модели закраски. Прозрачность. Излучае­мость.

10

5

14,15

Вершины и примитивы.

11

3

16

Проекции.

12

3

17

Источники света. Модель освещения.

13

1

18

Методы наложения текстуры.


7. Задания для самостоятельной работы студентов.



темы

Всего часов

Вопросы для самостоятельного изучения

Литература

1

4

Двумерные преобразования. Эффективность преоб­разований

13.1.1. с.60

1

4

Стереоизображения.

13.1.1., 13.1.2. с.121

2

4

Работа с отдельными точками.

13.1.2., 13.1.6. с.23

5

4

Классификация точки относительно отрезка.

13.1.1., 13.1.6. с.213

7

4

Классификация методов удаления невидимых час­тей.

13.1.1., 13.1.5. с.230

7

4

Ограничивающие тела. Разбиение пространства.

13.1.1. с.32

7

4

Алгоритм трассировки лучей.

13.1.1.Д3.1.6.

8

3

Метод постоянного закрашивания.

13.1.1., 13.1.6. с.23

9

4

Реалистичное представление сцен. Тени. Фактура.

13.1.4. с.13

9

4

Трассировка лучей.

13.1.3. с.56

10

4

Архитектура и особенности синтаксиса OpenGL.

13.1.5,13.1.6. с.54

10

4

OpenGL в ОС Windows. Общая структура приложе­ния

13.1.4., 13.1.5., с.34 13.1.7. с.43

11

4

OpenGL. Видовое преобразование.

13.1.6. с.34

13

4

OpenGL. Текстуры. Координаты текстуры.

13.1.6., 13.1.7. с.54

8. Курсовой проект.

В качестве основы для выполнения курсового проекта студентам предлагается использо­вать язык программирования C++. Перечень заданий:
  1. Редактор ломаных линий.
  2. Реализация Диаграмм Смита.
  3. Реализация призмы любого основания.
  4. Реализация "сводчатого" потолка.
  5. Построение теней объекта.
  6. Реализация "пилотирования" камеры по сцене.
  7. Визуализация текстуры.

8. Эмуляция движения планет Солнечной системы.
  1. Задание объектов сцены при помощи скрипт-файла.
  2. Эмуляция движения маятника.

9. Курсовая работа.

Учебным планом не предусмотрены.

10. Расчетно-графические работы.

Учебным планом не предусмотрены.

11. Контрольные работы.

Учебным планом не предусмотрены.

12. Экзаменационные вопросы.

1. Однородные координаты.

2. Аффинные преобразования на плоскости. Матрицы 2d преобразований.
  1. Аффинные преобразования в пространстве. Матрицы 3d преобразований.
  2. Архитектура библиотеки OpenGL. Конвейер OpenGL. Аналоги OpenGL.
  3. Вершины и примитивы. Положение вершины в пространстве. Цвет вершины. Нормаль.
  4. Операторные скобки glBegin и glEnd.
  5. Преобразование объектов. Работа с матрицами.
  6. Проекции.
  7. Освещение. Модель освещения.
  8. Материалы. Спецификация материалов.
  9. Описание источников света.
  10. Создание эффекта тумана.
  11. Текстурирование. Подготовка текстуры.
  12. Текстурирование. Наложение текстуры на объекты.
  13. Текстурирование. Текстурные координаты.
  14. Смешивание изображений. Прозрачность.
  15. Буферы.
  16. Тени. Построение теней.
  17. Зеркальные отражения.
  18. Оптимизация программ

13. Список основной и дополнительной литературы.

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

13.1.1. Боресков А.В., Шикин Е.В., Компьютерная графика. Динамика, реалистические

изображения. - М.: "ДИАЛОГ - МИФИ", 1995.
  1. Краснов М.В., OpenGL. Графика в проектах DELPHI. - СПб.: БХВ - Санкт-
    Петербург, 2000.
  2. Ла Мот А., Ратклифф Д., Семинаторе М., Тайлер Д., Секреты программирования

игр/ Перев. с англ. - СПб.: Питер, 1995.

13.1.4. Румянцев П.В., Азбука программирования в WIN 32 API. - М.: "Радио и
связь", 1998.

13.1.5. Тарасов И.А., Основы программирования в OpenGL. - М.: Горячая линия - Теле-

ком, 2000.
  1. Хилл Ф. OpenGL. Программирование компьютерной графики. Для профессиона­
    лов. - СПб.: Питер, 2002.
  2. Юань Фень. Программирование графики для Windows. - СПб.: Питер, 2002.

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

13.2.1*. Шикин Е.В. Справочник и атлас кривых, New York: CRC Press, 1995.
  1. Роджерс Д.Е., Адаме Дж.А. Математические основы компьютерной графики.
  2. Роджерс. Д.Е. Процедурные основы компьютерной графики.


13. Использование наглядных пособий, ТСО, вычислительной техники.


Непосредственно используется вычислительная техника.


Рабочую программу составил ____________ ассис. Манаков В.В.