birmaga.ru
добавить свой файл

1
АННОТИРОВАННОЕ СОДЕРЖАНИЕ КУРСА ЛЕКЦИЙ «СИСТЕМЫ ВИРТУАЛЬНОГО ОКРУЖЕНИЯ И СИТУАЦИОННОГО УПРАВЛЕНИЯ»

Составитель: Афанасьев В.О., д.ф.-м.н., с.н.с.
Вводная тема. Системы виртуального окружения и ситуационное моделирование.

Системы искусственного интеллекта и виртуальной реальности (исторический аспект): логические устройства и функции алгебры логики; теория автоматов; машины Тьюринга; гиромат Поспелова-Пушкина. Situational Awareness и ситуационное управление. Уровни SA. Интерфейс человеко-машинной системы. Представление о системе виртуального окружения (ВО) и индуцированного виртуального окружения (ИВО).
Часть 1. Геометрические основы 3D-визуализации.

1.1. Аффинные и проективные преобразования на плоскости и в пространстве. Элементарные преобразования на плоскости. Основы проективной геометрии. Аффинные и аффинно-проективные преобразования и их матрицы. Суперпозиции преобразований и построение их матриц.
1.2. Основные классы проецирования на плоскость. Параллельные (ортографическая, косоугольная, аксонометрическая и их разновидности), перспективные (1-, 2-, 3-точечная) проекции и построение их матриц. Центральное проецирование. Перспективные преобразования. Центральное проецирование как суперпозиция преобразований.
1.3. Типовые примеры выполнения аффинных преобразований. Построение матриц преобразований и их суперпозиций.
1.4. Элементарные алгоритмы определение взаимного положения точек, прямых и плоскостей. Особенности использования математического аппарата алгебры и геометрии в машинной графике. Векторный инструментарий. Необычные объекты (перп-вектор, нормали в вершине). Миграция между формами описания прямой и плоскости. Алгоритмы определения положений и расстояний.
1.5. Классические алгоритмы компьютерной графики. Определение принадлежности точки полигону. Булевы операции над полигонами. Алгоритм Сазерленда отсечения отрезка. Обход Вейлера-Азертона.

1.6. Множества, оболочки и связанные с ними алгоритмы компьютерной графики. Крайние точки множеств и их отыскание. Алгоритмы Грехэма, Джарвеса, Сайруса-Бека.

1.7. Подходы к описанию и визуализации поверхностей. Отображение плоской области R2R3. Явные и самопересекающиеся поверхности. Способы задания отображений R2R3. 3D-носитель поверхности. Дифференциальные свойства поверхности и квадратичные формы. Неявные поверхности. Восполнение. Триангуляция. Триангуляция Делоне. Общие сведения о сплайновых поверхностях.
1.8. Зрительное восприятие объёма и геометрические основы бинокулярного зрения. Модель редуцированного глаза камерного типа и сфероидальная обскура. Модель бинокулярной зрительной системы. Углы вергенции и аккомодация. Понятие константности зрительного восприятия. LEEP-оптика. Эволюция интерфейсных систем визуализации. Феноменология зрительного восприятия объёма. Параллакс движения и его инверсия.
Часть 2. Алгоритмы 3D-визуализации.

2.1. Базовые алгоритмы (удаление невидимых линий и поверхностей). Алгоритмы плавающего горизонта. Алгоритм художника и его разновидности. Сортировка граней на BSP-деревьях.

2.2. Алгоритмы Z-буфера. Идея алгоритма и необходимые массивы. Понятие «растеризация». Рисование прямых на дискретном растре (алгоритм Брезенхема). Действие алгоритма Z-буфера.

2.3. Алгоритмы трассировки. Идея алгоритма трассировки, прямая трассировка лучей. Абстракция обскуры, метод Виттеда.

2.4. Обратная трассировка лучей (ОТЛ). Принцип Гельмгольца (обратимость процессов). Стандартная постановка задачи ОТЛ. Световое дерево. Оверсемплинг. Расширенная постановка задачи ОТЛ (неплоская картинная поверхность, «кривые лучи», распределённый центр проекции).

2.5. Обратная трассировка полигональных и составных полиморфных поверхностей. Примеры простейших систем уравнений встречи луча и поверхности (плоские полигоны, поверхности вращения). Трассировка параметрических поверхностей.

2.6. CSG-операции. Трактовка ближайшей точки встречи. Булевы операции над полупространствами. Принцип организации CSG-операций в алгоритме обратной трассировки. Базисы CSG-операций.


2.7. Точка встречи луча с поверхностью и связанные с ней задачи. Определение координат точки встречи, нормали и возможной точки начала луча. Поиск источников света, затеняющих объектов, отражённых и преломлённых лучей.

2.8. Подходы к расчёту глобальной освещённости в точке встречи. Тривиальный расчёт освещённости. Схема полного решения задачи и подходы к реализации схемы полного решениязадачи расчёта освещённости. BRDF и её приближения. Прикладные задачи трассировки траекторий частиц.

Часть 3. Основы разработки программно-математического обеспечения (ПМО) графической подсистемы системы виртуального окружения (ВО).

3.1. Структура системы ВО и основные задачи разработки ПМО. Потоки данных и фазы процесса формирования изображения. Основные подсистемы в составе системы ВО.

3.2. Графическое ядро и 3
D-модели виртуальных объектов. Виды данных и их преобразование данных в графической подсистеме. Особенности работы графических «движков» (лучевого и растеризационного) с разными видами 3D-моделей (полигональными и параметрическими).

3.3. Интенсивное введение в теорию деревьев. Основы теории графов. Представление графов в памяти компьютера. Деревья и связанные списки.

3.4. Моделирование структур и поведения 3D-объектов с помощью деревьев. Иерархические структуры и деревья. Семантика обхода дерева 3D-объекта. Кинематическая система 3D-объекта. Управление формой 3D-объекта с помощью моделей структуры и кинематической системы. Иерархические стурктуры с переменным отношением порядка (RTR-деревья). Связанные списки и RTR-списки.

3.5. Объектно-ориентированное проектирование программных систем ВО. Ретроспектива развития языков программирования. Эволюция семантики типа. Класс как обобщение понятия типа. Объекты. Основные положения парадигмы ООП (абстрагирование, инкапсуляция, модульность, иерархия, типизация параллелизм, сохраняемость). Особенности применения ООП при разработке систем визуализации.


3.6. Язык и паттерны проектирования программного кода. О злоупотреблении наследованием. Декомпозиция ответственности за создание, изменение и сопровождение объектов. Развитие инструментария описания объектов и UML. Нотация UML. Шаблоны (паттерны) проектирования кода и «Банда четырёх». Обзор основных GOF-паттернов. Представление связанных списков средствами UML.

3.8. Особенности жизненного цикла объектов в программных системах ВО. Виртуальная среда. Граф сцены и объекты виртуальной среды. Виды памяти как среды существования программных объектов и особенности их использования. Некоторые элементы техники ОО-програмирования при разработке систем визуализации.

3.7. Полиморфизм в задачах проектирования и разработки ПМО 3D-визуализации. Концевые элементы деревьев структуры виртуальных объектов с разными ролевыми фукнциями. Двухуровневый полиморфизм.

3.9. Проектирование средств создания виртуальных объектов. Порождающие паттерны и их использвоание. Применение паттерна Abstract Factory для создания полиморфных 3D-объектов. Применение паттерна Builder для порождение объектов ВО.

3.10. Моделирование и управление сложными видами поведения виртуальных объектов. Применение паттерна Bridge для развертывания сцен с 3D-объектами сложной структуры с кинематикой. Гибридный паттерн RTR-Creator (композиция паттернов Fabric, Builder, Bridge). Управление поведением деревьев. Изменение компонент связности графа 3D-сцены. Паттерны для управления операциями склейки/разбиения RTR-деревьев.

3.11. Модель данных для описания состояния виртуальной средой и управления её объектами. Понятия «Вектор состояния» и «Кадр состояния» в контексте описания состояния 3D-объектов и 3D-сцен. Строение классов для описания векторов и кадров состояния. Параметризация событий «Создание связи» и «Разрыв связи». Разделение абстракций «Описание свойств» и «Обработка описаний свойств». Использование паттерна «Мост» для согласования процессов обработки описаний свойств объектов и развёртывания объектов в оперативной памяти.


Часть 4. Основы проектирования и разработки ПМО распределённых систем ВО.

4.1. Модель взаимодействия «клиент сервер», коммуникационный протокол и API для разработки распределённых приложений. Принципы организации взаимодействия приложений в разных вычислительных узлах. Понятие «Коммуникационный протокол». Представление о преобразовании данных при прохождении по стеку протокола. Сопоставление архитектуры стеков OSI/ISO и TCP/IP. Прикладной уровень стека протокола и его функции. Понятие «Сокет сетевого приложения». Представление об API сокетов. ПО промежуточного слоя.

4.2. Основные классы современных технологий разработки распределенных систем и их возможности в контексте систем ВО. Обзор современного состояния методологии создания распределённых систем. Технология «Клиент-сервер» и основные задачи сетевого ПО распределенной системы 3D-визуализации. Обзор 3-х доминирующих технологий создания ПО распределённых систем (CORBA, J2EE, DOT.NET). CORBA Open Source. Технология MDA OMG и её возможности для создания ПО распределённых систем визуализации. Язык (протокол) X3D и его возможности. Модель метаданных OMG.

4.3. Архитектура распределенной системы ВО, задачи и логика функционирования основных слоёв системы. Представление о системе ВО как о распределённой системе. Метафора распределенной системы индуцированного ВО. Основные компоненты и сценарии функционирования распределенной системы ВО.

4.4. Интерактивная 3D-визуализация. Понятие интерактивности в контексте 3D-визуализации. Идеология и стандарты WEB-3D (обзор и критика). Векторы состояния виртуального объекта, наблюдателя. Понятия «Пост визуализации» и «Толстый клиент». Задачи и логика функционирования клиентского слоя в интерактивной системе 3D-визуализации.

4.5. Протоколы, модели данных и моделирование поведения 3D-объектов в распределенной системе ВО. Сетевая топология системы визуализации и виды контента. Особенности распределения функций между слоями распределённой системы интерактивной 3D-визуализации (включая промежуточный слой). Широковещательная рассылка, протокол UDP и сопутствующие проблемы. Моделирование поведения виртуальных объектов при ненадёжной доставке данных о состоянии. Модель прикладного протокола с параметризованными событиями.