НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ

Кафедра Прикладной математики

“УТВЕРЖДАЮ”

Декан ФПМИ проф., д. т.н.

“___”_________2006 г.

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

ИНТЕРАКТИВНЫЕ ГРАФИЧЕСКИЕ СИСТЕМЫ

ООП:

010501 – Прикладная математика и информатика, квалификация – математик, системный программист.

Факультет прикладной математики и информатики

Курс – 5, семестр 9

Лекции – 34 часа

Лабораторные работы – 17 час

Курсовой проект – 9 семестр

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

Зачет – 9 семестр

Всего – 54/9191 91 час

Новосибирск

2006

Рабочая программа составлена на основании Государственного образовательного стандарта высшего профессионального образования по направлению 010500 – Прикладная математика и информатика и 010501 – Прикладная математика и информатика.

Регистрационный номер: 200ен/бак / 199 ЕН/СП, дата утверждения 0223.03.2000 / 23.03.2000.

Шифр дисциплины в ГОС ДС.05, региональный компонент.

Рабочая программа обсуждена на заседании кафедры Прикладной математики, протокол № ­­ 3 от 01.01.2001 г.

Программу разработали:

доцент, к. ф-м. н. _________

доцент, к. т.н. _________

Заведующий кафедрой

д. т.н., профессор _________

Ответственный за основную

образовательную программу:

Заведующий кафедрой ПМт

д. т.н., профессор _________

1. Внешние требования

Таблица 1

Требования ГОС к обязательному минимуму содержания учебной дисциплины

Шифр
дисциплины

Содержание учебной дисциплины

Часы

ДС.05

Программные средства компьютерной графики: базовые средства (графические объекты, примитивы и их атрибуты), графические возможности языков высокого уровня, графические редакторы; графические библиотеки и их использование; интерактивная машинная графика как подсистема систем автоматического проектирования.

91

1.3. Квалификационная характеристика выпускника

НЕ нашли? Не то? Что вы ищете?

Математик, системный программист подготовлен преимущественно к выполнению исследовательской деятельности в областях, использующих методы прикладной математики и компьютерные технологии; созданию и использованию математических моделей процессов и объектов; разработке и применению современных математических методов и программного обеспечения для решения задач науки, техники, экономики и управления; использованию информационных технологий в проектно-конструкторской, управленческой и финансовой деятельности.

7.1. Требования к профессиональной подготовленности специалиста

Математик, системный программист должен знать и уметь использовать:

- основы теории алгоритмов и ее применения, методы построения формальных языков, основные структуры данных, основы машинной графики, архитектурные особенности современных ЭВМ;

Математик, системный программист должен иметь опыт работы на различных типах ЭВМ, применения стандартных алгоритмических языков, использования приближенных методов и стандартного программного обеспечения для решения прикладных задач, пакетов прикладных программ и баз данных, средств машинной графики, экспертных систем и баз знаний.

Математик, системный программист должен обладать знаниями и умениями, позволяющими применять современные математические методы и программное обеспечение для решения задач науки, техники, экономики и управления и использования информационных технологий в проектно-конструкторской, управленческой и финансовой деятельности.

2. Особенности (принципы) построения дисциплины

Таблица 2

Особенности (принципы) построения дисциплины

Особенность (принцип)

Содержание

Основание для введения дисциплины в учебный план специальности

Стандарт специальности, решение ученого совета ФПМИ. протокол №8 от 01.01.2001

Адресат дисциплины

Студенты специальности 010501 – Прикладная математика и информатика

Главная цель дисциплины

Овладение математическим аппаратом, необходимым для успешного построения приложений связанных с трехмерной компьютерной графикой, интерактивных графических систем

Ядро дисциплины

Методы визуализации двух - и трехмерных сцен, создание реалистичных изображений с помощью ведущих мировых стандартов и пакетов программ

Требования к начальной подготовке, необходимые для успешного освоения дисциплины

·  Для успешного изучения дисциплины студенту необходимы знания, получаемые из курсов алгебры, математического анализа, численных методов, компьютерной графики.

·  Опыт работы на персональном компьютере, знание языка С++.

Уровень требований по сравнению со Стандартом

Соответствует требованиям Стандарта

Объем дисциплины в часах

34 часа лекций, 17 часов лабораторных работ

Основные понятия дисциплины

Графические объекты, примитивы и их атрибуты; проекции; преобразования объектов; полигональные модели; визуализация; растр; цветовые модели, модели освещенности; графическая библиотека OpenGL

Дисциплина и современные информационные технологии

Microsoft Visual C++ как средство разработки программ; библиотека OpenGL для визуализации двух - и трехмерных сцен.

3. Цели учебной дисциплины

Таблица 3

После изучения дисциплины студент будет

иметь представление:

1

о внутреннем устройстве интерактивных графических систем, интерфейсе пользователя предоставляемого системами 3D-Max, Maya, Cinema 4d ;

2

о математических методах, используемых при построении объектов 3-мерной графики.

знать:

3

основные элементы используемые при моделировании: системы локальных и глобальных координат, представления основных преобразований используемых в компьютерной графике

матрицами, геометрические свойства кривых и поверхностей, основные типы моделирования - полигональное, сплайн моделирование, неявное моделирование, важнейшие понятия и классические методы вычислительной геометрии, используемые при моделировании 3d – объектов,

уметь:

4

Построить простой графический редактор, предназначенных для решения узких задач моделирования, использующий библиотеку OpenGL;

5

Снабдить редактор профессионально написанным руководством пользователя.

иметь опыт:

6

Строить трехмерные сцены с последующей реалистической визуализацией в одной из систем: 3D-Max, Maya или Cinema 4d.

4. Содержание и структура учебной дисциплины

Таблица 4

Лекционные занятия (34 часа)

Блок, модуль, раздел, тема

Часы

Ссылки на цели

1. Системы координат. Преобразования плоскости и пространства

1.1 Мировая и локальная система координат. Роль локальных координат в компьютерной графике. Координатный репер, его матрица. Однородные координаты точки. Координаты вектора. Связь мировых и локальных координат.

1.2 Вращение объектов и сцены с помощью мыши.

4

2,3

2. Основные понятия о кривых и поверхностях в R3

2.1 Кривая. Регулярность кривой. Натуральная параметризация кривой. Кривизна кривой, её геометрический смысл. Кручение кривой. Геометрический смысл кручения. Репер Френе. Теорема Френе.

2.2 Поверхность. Её параметрическая форма. Регулярная поверхность. Касательная плоскость и нормаль к поверхности. Нормальные сечения поверхности. Кривизна нормальных сечений. Теорема Менье. Главные направления и главные кривизны. Теорема Эйлера. Классификация точек на гладкой поверхности. Гауссова кривизна. Сферическое изображение поверхности. Связь внешней и внутренней кривизны для регулярной поверхности.

2.3 Полигональная поверхность, её вершины ребра и грани. Кривизна вершины полигональной поверхности. Кривизна области на полигональной поверхности. Об аппроксимации гладких поверхностей полигональными поверхностями.

6

2,3

3. Сплайны кривых и поверхностей

3.1. Сплайны в компьютерной графике. Построение и редактиро-вание объектов с помощью сплайнов.

3.2. Алгебраическая форма кубического сплайна кривой. Краевые условия при построении сплайна. Форма Эрмита.

3.3. Сплайны Безье для кривых. Контрольные точки и базисные функции сплайна Безье. Свойства сплайна Безье.

3.4. Склеивание кривых из элементарных сплайнов. Геометриче-ская гладкость склеивания.

3.5. Алгебраическая форма бикубического сплайна поверхности.

3.6. Форма Безье бикубического сплайна поверхности. Базисные функции и контрольные точки сплайна. Свойства сплайна Безье. Управление формой сплайна с помощью контрольных точек.

3.7. Склеивание поверхности из элементарных сплайнов. Условия для непрерывного склеивания. Достаточные условия для гладкого склеивания.

3.8. B – сплайны. Узловой вектор и базисные функции В-сплайна. Формулы Кокса-де Бура. Свойства базисных функций. Свойства В-сплайна.

3.9. Равномерные, Открытые и неравномерные узловые векторы и их использование.

6

2,3

4. О полигональном моделировании в компьютерной графике

4.1. Аппроксимация кривой ломаной. Длина кривой. Об оптималь-ной аппроксимация кривой ломаной.

4.2. Полигональная поверхность. Основные инструменты редакти-рования полигональной поверхности.

4.3. Об оптимизации полигональных поверхностей в компьютерной графике.

6

2,3

5. Неявное моделирование в компьютерной графике

5.1. Понятие об поверхности заданной неявно. Примеры поверх-ностей - сфера, тор, цилиндр.

5.2. Метабол. Моделирование капли с помощью двух метаболов.

5.3. Примитивы. Использование примитивов при моделировании сложных поверхностей. Скелетное моделирование.

5.4. Полигонизация кривой заданной неявно. Полигонизация по-верхности методом марширующих кубов. Метод марширующих треугольников.

6

2,3

6. Элементы вычислительной геометрии

6.1. Понятие об эффективности алгоритма.

6.2. Задача локализации точки. Принадлежность точки простому многоугольнику. Принадлежность точки выпуклому многоугольнику.

6.3. Выпуклый многогранник. Структура данных для работы с многогранником.

6.4. Выпуклая оболочка множества точек на плоскости. Алгоритмы построения выпуклых оболочек. Оценка их эффективности. Построение выпуклых оболочек в пространстве.

6.5. Объединение выпуклых оболочек.

6.6. Пересечение выпуклых оболочек.

6.7. Триангуляция конечного числа точек на плоскости. Триангуляция Делоне. Построение триангуляции Делоне.

6.8. Диаграмма Вороного конечного числа точек на плоскости. Связь с триангуляцией Делоне.

6.9. Удаление невидимых поверхностей. Алгоритм сортировки по глубине.

6.7. Геометрический поиск в планарном подразбиении. Метод детализации триангуляции. Задача о принадлежности точки выпуклому многограннику.

6

2,3

Лабораторные работы (17 час)

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

Учебная деятельность

Часы

Ссылки на цели

Оборудование

Изучение современных графических редакторов

Используя один из современных графических редакторов, нарисовать сцену и затем визуализировать её, чтобы получить реалистическое изображение данной сцены.

7

1,6

Персональный компьютер с ОС Windows. Компилятор MS Visual C++

Разработка графического редактора

В системе программирования Visual C++ используя, заготовку, предоставляемую преподавателем написать простой графический редактор.

10

4,5

5. Учебная деятельность

В течение семестра студенты выполняют лабораторные работы и курсовой проект, которые охватывают основные разделы курса.

Выполнение лабораторных работ.

Цель. При выполнении заданий студент приобретает навыки создания программ визуализации трехмерных сцен, а также использования интерактивных графических систем.

Используя один из современных графических редакторов нарисовать сцену и затем визуализировать её, чтобы получить реалистическое изображение данной сцены.

При этом в процессе моделирования сцены должен быть использован следующий минимальный перечень инструментов

    Примитивы Поверхности вращения Поверхности, полученные выдавливанием плоского контура Поверхности, полученные методом протягивания вдоль кривой Булевские операции NURBS - поверхности Источники освещения и камеры

Также можно использовать естественно и другие инструменты, дополняющие этот перечень.

Реалистическое изображение сцены, полученное в результате визуализации, должно показывать использование материалов, текстур, показывать отражение, тени, преломление света проходящего через прозрачные объекты – стекло, вода и. т.п.

В системе программирования Visual C++ используя, заготовку, предоставляемую преподавателем (лектором) написать простой графический редактор. В данном редакторе должны быть реализованы функции:

·  Создания примитивов – сфера, тор, куб.

·  Создание точек в и кривых, используя мышь

·  Вращение перемещение и масштабирование объектов на сцене с помощью мыши (пример – редактор 3D-Мах)

·  Вращение сцены с помощью мыши (пример – редактор 3D-Мах)

·  Сохранение сцены в файле и загрузка сцены из файла.

Отчет по данному заданию – работающая программа и ее описание в формате. chm

Выполнение курсового проекта.

Цель. При выполнении курсового проекта студент приобретает навыки написания программ интерактивного создания кривых и поверхностей с использованием сплайнов.

Темы курсовых работ:

Для работ, указанных в разделах I-VII требуется разработать

1. Краткое, но достаточное, теоретическое описание ( формат *.chm)

2. Программу на Visual C++ c пошаговым исполнением предложенного алгоритма и комментариями к шагам…

I. Майкл Ласло

1. Построение звездчатого полигона

2. Построение выпуклой оболочки при вводе (О(nlog n))

3. Метод сканирования Грехема

4. Построение выпуклой оболочки методом слияния (8.5)

5. Триангуляция монотонных полигонов

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

7. Нахождение пересечения выпуклых полигонов (6.5)

8. Построение триангуляции Делоне

9. Нахождение пересечения отрезков (7.1)

10. Нахождение контура объединения прямоугольников (7.3)

11. Декомпозиция полигона на монотонные части

12. Построение диаграммы Вороного(8.4)

13. Триангуляция полигона(8.7)

14. Удаление невидимых поверхностей (9.5)

II (полигональные модели)

15. Алгоритмы заполнения многоугольника

16. Построение платоновых тел (реберный список)

17. Построение графика методом плавающего горизонта + (окрашивание)

18. Закрашивание моделей – Метод Гуро и Фонга

III Л. Аммерал ( интерактивная трехмерная машинная графика)

19. Построение винта с прямоугольной резьбой (Представление полученной поверхности в виде ориентированного реберного списка)

20. Построение кабеля (Представление в виде ориентированного реберного списка)

IV Л. Аммерал (принципы программирвания в машинной графике)

21. Полый цилиндр –(Представление в виде ориентированного реберного списка)

22. Толстая полусфера –(Представление в виде ориентированного реберного списка)

V Л. Аммерал (программироване графики на турбо Си)

23. Рекурсия и фракталы

VI Л. Аммерал (машинная графика на персональных компьютерах)

24. Быстрая программа для заполнения области

VII. Д. Роджерс, Дж Адамс (математические основы машинной графики)

27. Рациональные В-сплайны. Построение замкнутых поверхностей.

VIII Уроки в 3d StudioMax ( Разработка урока по моделированию в формате *.chm (help))

1. Моделирование на основе патчей Безье.

2. Натягивание патчей Безье на скелетную сетку

3. NURBS – моделирование

4. Универсальная маска в 3d StudioMax

5. Создание реалистического изображения в 3dMax.

6. Анимация в 3dMax

IX Уроки по Синема 4d ++( Разработка урока по моделированию в формате *.chm (help))

1. Освещение, Фон, Цвет, Кисти, Материалы...

Отражение, преломление, тени в Синема 4d...

2. Полигональное моделирование в Синема 4d

3. Неявные поверхности в Синема 4d. Моделирование и анимация.

X Уроки моделирования для Rhinoceros ++( Разработка урока по моделированию в формате *.chm (help))

1. NURBS – моделирование в Rhinoceros

XI Разработка инструмента моделирования в мини-3d редакторе.

1. Построение 3d – выпуклой оболочки

2. Построение выпуклого тела, заданного набором неравенств (лежащего большом кубе). +

3. Основы Моделирования с помощью NURBS (OpenGL) Построение выпуклой оболочки простого многоугольника (Препарата, Шеймос 205-209 )

4. Задача локализации точки. Mетод детализации триангуляции (Препарата, Шеймос 75-79 )

5. Создание поверхности вращения. Редактирование

6. Правила аттестации студентов по учебной дисциплине

Проводится в соответствии с планом ООП – зачет (9 семестр). К зачету допускаются студенты, выполнившие все лабораторные работы и курсовой проект. При аттестации используются контролирующие материалы, образцы которых приведены в п.8. Каждому студенту выдаются 5 вопросов. Для получения зачета необходимо правильно ответить на 4 любые вопроса.

7. Список литературы

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

1. Порев графика. Учебное пособие. – СПб.: БХВ-Петербург, 2004. - 432с.

2. Интерактивная компьютерная графика : методические указания к лабораторным работам и курсовому проектированию для 3 и 4 курса ФПМИ / Новосиб. гос. техн. ун-т ; [сост. , , ].-Новосибирск: Изд-во НГТУ, 2005.- 36 с.

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

3. Шикин графика. Динамика, реалистические изображения. – М.: Диалог-МИФИ, 1997.-288с.

4. Шикин и поверхности на экране компьютера: Руководство по сплайнам для пользователей. – М.: ДИАЛОГ-МИФИ, 1996.- 237 с.

5. Томпсон программирования трехмерной графики для Windows 95 : Пер. с англ..-СПб.: Питер, 1997.- 352 с.

6. Ласло геометрия и компьютерная графика на С++ : Пер. с англ..-М.: БИНОМ, 1997.- 301 с.

7. Янг графики в Windows 95 : Векторная графика на языке С++: Пер. с англ..-М.: БИНОМ, 1997.- 366 с.

8. Коцюбинский графика : Практ. пособие.-М.: ТЕХНОЛОДЖИ-3000, 2001.- 750 с.

9. Пономаренко и вектор. Принципы цифровой графики. – СПб.: БХВ-Петербург, 2002.- 477 с.

10. Дружинин компьютерной графики : Учебное пособие / , .-Новосибирск: НГТУ, 2003.- 54 с.

11. Петров графика : Учебное пособие / , . -СПб.: Питер, 2002.- 735 с.

12. Глушаков, графика : Учебный курс Харьков; М. : Фолио:АСТ, 2001. 500 с.

8. Контролирующие материалы для аттестации студентов по дисциплине

1.  Системы координат. Мировые, сцены, локальные. Координатный репер. Матрица репера.

2.  Основные аффинные преобразования и их матрицы.

3.  Вращение объектов и сцены с помощью мыши.

4.  Кватернионы в компьютерной графике. Формула Эйлера для кватернионов. Вычисления поворота с помощью кватернионов.

5.  Кривая, длина, поворот и кручение кривой в пространстве. Кривизна и кручение кривой. Теорема Френе.

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

7.  Главные кривизны. Теоремы Эйлера и Менье. Линии кривизны. Гауссова кривизна. Классификация точек гладкой поверхности.

8.  Сферическое изображение поверхности. Связь внешней и внутренней кривизны для регулярной поверхности.

9.  Полигональная поверхность, её вершины ребра и грани. Кривизна вершины полигональной поверхности. Повороты ломаных на полигональной поверхности. Кривизна области на полигональной поверхности. Теорема Гаусса.

10.  Характеристика Эйлера многогранной метрики. Внутренняя кривизна многогранной метрики. Связь с характеристикой Эйлера.

11.  Связь внешней и внутренней кривизны многогранной поверхности.

12.  Алгебраическая форма кубического сплайна кривой. Краевые условия при построении сплайна. Форма Эрмита и Безье.

13.  Формы Безье и Эрмита би-кубических поверхностей. Свойства. Склеивание элементарных патчей.

14.  Понятие об поверхности заданной неявно. Примеры. Метабол. Моделирование капли с помощью двух метаболов. Примитивы. Использование примитивов при моделировании сложных поверхностей. Скелетное моделирование.

15.  Полигонизация кривой заданной неявно. Полигонизация поверхности методом марширующих кубов. Метод марширующих треугольников.

16.  Структура данных для работы с многогранной поверхностью.

17.  Выпуклая оболочка множества точек на плоскости. Алгоритмы построения выпуклых оболочек. Оценка их эффективности. Построение выпуклых оболочек в пространстве.

18.  Триангуляция конечного числа точек на плоскости. Триангуляция Делоне. Построение триангуляции Делоне.

19.  Диаграмма Вороного конечного числа точек на плоскости. Связь с триангуляцией Делоне.

20.  Геометрический поиск в планарном подразбиении. Метод детализации триангуляции.

21.  Задача о принадлежности точки выпуклому многограннику.