Рабочая программа по дисциплине Компьютерная графика для специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем
Вид материала | Рабочая программа |
- Рабочая программа по дисциплине "Программирование на языке высокого уровня" для специальности, 137.39kb.
- Рабочая программа для специальности: 220400 Программное обеспечение вычислительной, 133.96kb.
- Рабочая программа по дисциплине Архитектура вычислительных систем Для специальности, 122.63kb.
- Рабочая программа по дисциплине «Информатика» для специальности 230105(220400) «Программное, 259.13kb.
- Рабочая программа по дисциплине: «Программное обеспечение сетей эвм» Для специальности, 72.13kb.
- «Программное обеспечение вычислительной техники и автоматизированных систем», 1790.14kb.
- Рабочая программа по дисциплине "Вычислительная математика" для специальности 230105, 201.66kb.
- Рабочая программа по дисциплине: «Сети ЭВМ и телекоммуникации» Для специальности, 95.71kb.
- Рабочая программа По дисциплине "Теория оптимального управления" Для специальностей, 109.97kb.
- Рабочая программа, 140.12kb.
Саратовский Государственный технический университет
Кафедра «Техническая физика и информационные технологии»
РАБОЧАЯ ПРОГРАММА
по дисциплине
Компьютерная графика
для специальности 220400 Программное обеспечение вычислительной техники и автоматизированных систем
Курс 3
Семестр 5
Часов в неделю: лекции 3
Курсовая работа –
Курсовой проект 5
Расчетно-графическая работа –
Контрольная работа –
Экзамен 5 семестр
Зачет –
Рабочая программа обсуждена на заседании кафедры
“____”___________200__ г, протокол №_____
Зав. кафедрой проф.__________________Кац А.М.
Рабочая программа утверждена на заседании УМКС
“____”___________200__ г, протокол №_____
Председатель УМКС проф._____________Кац А.М.
Энгельс, 200__.
1. Цели и задачи дисциплины, ее место в учебном процессе
- Цели преподавания дисциплины - освоение обучаемым фундаментальных знаний в области теории компьютерной графики и выработка практических навыков применения этих знаний.
- Задачи изучения дисциплины - изложение основных положений компьютерной графики, их приме
нения при реализации алгоритмов и создании прикладных графических систем.
- Перечень дисциплин, усвоение которых студентами необходимо для усвоения данной дисциплины - Для успешного освоения
курса студенты должны быть знакомы с основами теории множеств, начертательной
геометрии, алгебры, иметь практические навыки программирования.
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 | 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++. Перечень заданий:
- Редактор ломаных линий.
- Реализация Диаграмм Смита.
- Реализация призмы любого основания.
- Реализация "сводчатого" потолка.
- Построение теней объекта.
- Реализация "пилотирования" камеры по сцене.
- Визуализация текстуры.
8. Эмуляция движения планет Солнечной системы.
- Задание объектов сцены при помощи скрипт-файла.
- Эмуляция движения маятника.
9. Курсовая работа.
Учебным планом не предусмотрены.
10. Расчетно-графические работы.
Учебным планом не предусмотрены.
11. Контрольные работы.
Учебным планом не предусмотрены.
12. Экзаменационные вопросы.
1. Однородные координаты.
2. Аффинные преобразования на плоскости. Матрицы 2d преобразований.
- Аффинные преобразования в пространстве. Матрицы 3d преобразований.
- Архитектура библиотеки OpenGL. Конвейер OpenGL. Аналоги OpenGL.
- Вершины и примитивы. Положение вершины в пространстве. Цвет вершины. Нормаль.
- Операторные скобки glBegin и glEnd.
- Преобразование объектов. Работа с матрицами.
- Проекции.
- Освещение. Модель освещения.
- Материалы. Спецификация материалов.
- Описание источников света.
- Создание эффекта тумана.
- Текстурирование. Подготовка текстуры.
- Текстурирование. Наложение текстуры на объекты.
- Текстурирование. Текстурные координаты.
- Смешивание изображений. Прозрачность.
- Буферы.
- Тени. Построение теней.
- Зеркальные отражения.
- Оптимизация программ
13. Список основной и дополнительной литературы.
13.1. Основная литература.
13.1.1. Боресков А.В., Шикин Е.В., Компьютерная графика. Динамика, реалистические
изображения. - М.: "ДИАЛОГ - МИФИ", 1995.
- Краснов М.В., OpenGL. Графика в проектах DELPHI. - СПб.: БХВ - Санкт-
Петербург, 2000.
- Ла Мот А., Ратклифф Д., Семинаторе М., Тайлер Д., Секреты программирования
игр/ Перев. с англ. - СПб.: Питер, 1995.
13.1.4. Румянцев П.В., Азбука программирования в WIN 32 API. - М.: "Радио и
связь", 1998.
13.1.5. Тарасов И.А., Основы программирования в OpenGL. - М.: Горячая линия - Теле-
ком, 2000.
- Хилл Ф. OpenGL. Программирование компьютерной графики. Для профессиона
лов. - СПб.: Питер, 2002.
- Юань Фень. Программирование графики для Windows. - СПб.: Питер, 2002.
13.2. Дополнительная литература.
13.2.1*. Шикин Е.В. Справочник и атлас кривых, New York: CRC Press, 1995.
- Роджерс Д.Е., Адаме Дж.А. Математические основы компьютерной графики.
- Роджерс. Д.Е. Процедурные основы компьютерной графики.
13. Использование наглядных пособий, ТСО, вычислительной техники.
Непосредственно используется вычислительная техника.
Рабочую программу составил ____________ ассис. Манаков В.В.