Программа курса лекций
Вид материала | Программа курса |
СодержаниеПрограмма лабораторных занятий (36 часов) Доцент Виктор Алексеевич Дебелов Задания Лучевая трассировка Динамическое приложение Динамическое приложение |
- Программа предусматривает проведение лекций, проведение семинарских занятий, подготовку, 17.19kb.
- Программа курса лекций для студентов специальности «История», 109.25kb.
- Программа курса Конспект лекций > Тесты Задачи > Вопросы к экзамену Методические рекомендации, 1693.2kb.
- Программа курса лекций "Языки программирования Internet", 61.91kb.
- М. Н. Общая риторика программа курса лекций общая риторика программа курса, 236.54kb.
- Программа регионоведческого курса, 292.18kb.
- Программа регионоведческого курса, 292.24kb.
- Программа курса лекций, 27.96kb.
- М. В. Кричевцев Программа курса лекций Предлагаемый курс лекций, 215.31kb.
- Название курса, 106.28kb.
Динамическая 3D графика
(4 курс, 7 сем., 72 ч., диф.зачет)
Программа курса лекций (36 часов)
Доцент Виктор Алексеевич Дебелов
- Цели и задачи курса. Реалистическая визуализация. Введение, исторический обзор алгоритмов и аппаратных возможностей. Wireframe. Удаление невидимых линий. Алгоритм подвижного горизонта. Очерки или линии силуэта.
- Упрощенная модель зрения (или сведения из психофизиологии – колбочки, палочки, цвет). Полосы Маха. Диапазон различаемых яркостей. Локальная модель освещенности, рассеянный свет, диффузное отражение, зеркальное отражение. Закраска по Гуро, закраска по Фонгу. Полигональные приближения гладких поверхностей. Модель Торренса-Спэрроу.
- Простейшая трассировка лучей. Пространственная сцена. Отраженный и преломленный лучи. Нахождение пересечений луча с основными элементами сцены: а) сфера; б) бокс; в) плоский многоугольник в пространстве.
- Алгоритм обратной рекурсивной лучевой трассировки. Основные элементы сцены. Камера. Правила ограничения дерева трассировки. Методы повышения качества изображений (удаление лестничного эффекта) – рендеринг на субпиксельном уровне, фильтрация, .
- Методы ускорения лучевой трассировки. Пространственные структуры данных: иерархические ограничивающие объемы (боксы, сферы), сетки, иерархические сетки, октодеревья, kd-деревья. Достоинства и недостатки этих структур при изображении динамических сцен. Кластеризация источников света.
- Недостатки рекурсивной лучевой трассировки – отсутствие диффузных переотражений. Компонент рассеянного света. Метод световых сеток. Световые сетки прямой и непрямой освещенности.
- Введение в MS DirectX. Общие сведения об объектно-ориентированной системе SmogDX: сцена (основной объект), камера, порт вывода, мировая система координат, фреймы, модельная система координат, геометрические элементы, источники света, материалы, текстуры, анимации.
- Основной объект – сцена. Пульс – динамика сцены. Методы класса CD3DMainObject.
- Класс CD3DFrame. Иерархическая структура фреймов. Управление фреймами на основе однородных преобразований координат. Создание геометрии сцены (полигональные сетки). Окрашивание поверхностей сцены, применение полупрозрачных цветов. Динамика – поступательная и вращательная скорости фрейма. Основные методы класса.
- Методика программирования геометрических классов в системе SmogDX. Методика создания простейшего приложения. Класс CD3DMaterial. Расчет освещенности в точке в зависимости от материала. Методы класса. Приписывание материала фрейму.
- Класс CD3DTexture. Понятие текстуры, текстурные координаты. Виды покрытий. Текстурирование поверхностей (сеток) сцены. Класс CD3DDecal. Размещение изображения фона на порту вывода.
- Программирование динамики сцены. Использование скоростей фрейма. Простейший морфинг – изменение положения вершин в сетках. Класс CD3DAnimation – создание сценариев поведения фреймов.
- Программирование указаний мышью на трехмерные объекты сцены. Программирование теней. Обзор инструментов для создания динамических интерактивных приложений в среде SmogDX.
- Ведение в OpenGL. Совпадающие и различающиеся характеристики OpenGL и SmogDX или OpenGL и DirectX.
- Создание приложений на OpenGL в среде Windows.
- Уравнение визуализации – уравнение баланса освещенности в сцене. Особенности лучевой трассировки Монте-Карло. Диффузные сцены. Излучательность (radiosity), уравнение излучательности. Расчет методом конечных элементов.
- Методы расчета коэффициентов формы: полукуб, Монте-Карло. Обзор курса.
Программа лабораторных занятий (36 часов)
Доцент Виктор Алексеевич Дебелов
Задания
Задание № 1 (сдать к концу 8-й учебной недели)
Лучевая трассировка
Разработать программу в среде VisualStudio 6.0 на языке C++, реализующую алгоритм рекурсивной лучевой трассировки для визуализации пространственных сцен. Выполняется в 3 этапа:
- Программа выбора ракурса. Создается простая сцена, состоящая из 1-3 примитивов. Минимальный набор примитивов: плоскость, куб, сфера. Вычисляется габаритный бокс сцены. Пользователь при помощи мыши осуществляет повороты и перемещения бокса для достижения требуемого ракурса. Разработка – 4 часа. Сдача – конец 2-й учебной недели.
- Разработать библиотеку функций, вычисляющих пересечение луча со сферой, с боксом, с плоским выпуклым многоугольником в пространстве. Разработать функции, вычисляющие: нормальный вектор к примитиву в указанной точке, отраженный вектор, преломленный вектор. Для тестирования предлагается унифицированный формат файла. Разработка – 4 часа. Сдача – конец 4 й учебной недели.
- Разработать программу лучевой трассировки на основе программы, выполненной на этапе 1, и библиотеки функций, выполненной на этапе 2. Характеристики программы: а) возможен выбор ракурса изображения сцены в интерактивном режиме (см. этап 1), разрешение изображения определяется клиентской областью окна приложения; б) чтение описания сцены из файла (унифицированный формат); в) все действия выполняются с использованием библиотеки функций, разработанных на этапе 2; г) регулируется глубина дерева трассировки (от одного до трех отражений); д) один из объектов сцены должен быть в движении – имитация смазывания изображения; е) включение/выключение гамма-коррекции. Разработка – 8 часов. Сдача – конец 8-й учебной недели.
Задание № 2 (сдать к концу 14-й учебной недели)
Динамическое приложение SmogDX
Разработать динамическое приложение, используя систему классов SmogDX в среде VisualStudio 6.0 на языке C++. Выполняется в 3 этапа:
- Простейшее приложение. Разработать собственный геометрический класс. Разработка – 2 часа. Сдача – конец 10-й учебной недели.
- Разработать сценарий анимационного приложения. Запрограммировать геометрические элементы и анимацию элементов сцены. Источники освещения. Разработка – 6 часов. Сдача – конец 12-й учебной недели.
- Применить текстурирование объектов сцены, применить 2-3 материала, использовать 1-2 тени, использовать указание на изображение трехмерного объекта. Разработка – 4 часа. Сдача – конец 14-й учебной недели.
Задание № 3 (сдать к концу 17-й учебной недели)
Динамическое приложение OpenGL
Разработать несложное динамическое приложение, используя библиотеку OpenGL в среде VisualStudio 6.0 на языке C++. Программа должна основываться на иерархическом построении объектов, использовать текстуры, дисплейные списки и стеки координатных преобразований. Разработка – 6 часов. Сдача – конец 17-й учебной недели.
Оценка на дифференцированном зачете по курсу "Динамическая 3D графика" выставляется после устного ответа с учетом:
- трех предварительных отметок по заданиям 1 – 3;
- оценки, выставляемой преподавателем за работу в семестре с учетом своевременной сдачи заданий.
При проверке программ на всех этапах существенными будут следующие факторы:
- Своевременность сдачи программ. Все программы сдаются по электронной почте по установленным в курсе правилам. Например, неверная тема письма считается грубейшей ошибкой. Временем предъявления программы считается время отправки письма. Это время должно быть не позднее, чем 24:00 субботы указанной учебной недели.
- Полнота, недвусмысленность и краткость описания особенностей авторской реализации.
- Полнота учета требований к программе.
- Реализация дополнительных эффектов сверх требований.
Литература
- Дж. Фоли, А. вэн Дэм. Основы интерактивной машинной графики. В двух книгах. Пер. с англ.-М.:Мир,1985.- 368 с.ил.
- А. Фокс, М. Пратт. Вычислительная геометрия. Применение в проектировании и на производстве. Пер. с англ. – М.: Мир, 1982.
- Е.В. Шикин, А.В. Боресков. Компьютерная графика. Динамика, реалистические изображения – М.: "ДИАЛОГ - МИФИ", 1995.
- В.А.Дебелов, Ю.А.Ткачев. SmogDX – объектно-ориентированная графика для Windows (DirectX и Visual C++). Новосибирск: Сибирское университетское изд-во, 2001, 311 с.
- В.А.Дебелов, Ю.А.Ткачев. Объектно-ориентированная система машинной графики для Windows (C++ и Microsoft DirectX). – Новосибирск: ИВМиМГ СО РАН, 1999.
- Д. Роджерс. Алгоритмические основы машинной графики. Пер. с англ. – М.: Мир, 1989. (2-ое издание – 2001 год).
- Н. Томпсон. Секреты программирования трехмерной графики для Windows 95. СПб: Питер, 1997. – 352 с.
- Ю. Тихомиров. Программирование трехмерной графики – СПб.: БХВ – Санкт-Петербург, 1999. – 256 с.