Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред
Функциональное представление (FRep) Описывающая функция: f(P) T f(P) – вещественная непрерывная функция (с неразрывной 1-ой производной) P=(x 1,..,x n ) – точка в n-мерном пространстве T – пороговое значение (threshold value)
X Y f(3,-3)=-14 f(0,0)=4 f(2,0)=0 f(2,-2)=-4 Внутренняя область f(x,y)>0 Контур/ поверхность f(x,y)=0 f(x,y ) = x 2 - y 2 Функциональное представление (FRep) Пример описывающей функции в 2-мерном пространстве: Таким образом любая точка P в пространстве моделирования может быть классифицирована, т.е. возможно определить принадлежит ли точка сплошному телу (solid body)
Функциональное представление (FRep) В 3-мерном пространстве возможна визуализация изоповерхностей Но описывается сплошной объект, содержащийся внутри поверхности
Составляющие FRep 1.Примитивы (алгебраические поверхности, скелетные примитивы, псевдослучайные функции, воксели и т.д.) 2.Операции (аффинные преобразования, смешивания, нелинейные деформации и пр.) 3.Отношения (пересечение, включение и др.)
Функциональное представление (FRep) Конструктивный подход
Функциональное представление (FRep) Визуализация модели 1.Полигонизация: Marching Cubes/Tetrahedra/Triangles 2. Трассировка лучей (Ray-tracing) 3. Объемная визуализация (Volume rendering)
Моделирование с помощью FRep HyperFun Высокоуровневый язык описания FRep моделей Поддержка широкого набора примитивов и операций Возможность определения новых функций Простой синтаксис (схож с C)
Моделирование с помощью FRep Высокая трудоемкость создания сложных моделей HyperFun
Моделирование с помощью FRep Возможность манипуляции FRep сущностями с получением визуальных результатов в интерактивном режиме Визуальное моделирование
Моделирование с помощью FRep Возможность манипуляции составляющими конструктивного дерева FRep Визуальное моделирование
Моделирование с помощью FRep Моделирование форм с помощью поверхностей свертки (convolution surfaces) Визуальное моделирование Набор скелетных примитивов Результирующая форма
Моделирование с помощью FRep Объемное моделирование (Hypervolume modelling) Сплошной объект (форма) Пространственные разделы, задающие атрибуты Объемный объект с набором атрибутов
Моделирование с помощью FRep Объемное моделирование (Hypervolume modelling) Пространственные разделы также представляются с помощью конструктивных деревьев Набор дополнительных примитивов и операций для задания атрибутов Объемный объект задается конструктивным деревом, определяющим геометрию, и множеством деревьев, задающих набор атрибутов (оптические свойства материала, температура, концентрация вещества и т.д.)
Моделирование с помощью FRep Интерактивное объемное моделирование
Моделирование с помощью FRep ? Интерактивное текстурирование FRep объектов
Моделирование с помощью FRep Интерактивное текстурирование FRep объектов Как правило, визуализация сеточной модели: Параметризация 3D2D (артефакты при применении простых методов) Автоматическая генерация 2D UV-развертки (длительный процесс, артефакты при сложной топологии сетки)
Моделирование с помощью FRep Интерактивное текстурирование FRep объектов Цветовой атрибут для вершин полигонизированного объекта Карты отражений (сферические, кубические) Процедурные текстуры Смешение проективных текстур
Моделирование с помощью FRep Цветовой атрибут для вершин полигонизированного объекта
Моделирование с помощью FRep Карты отражений (сферические, кубические)
Моделирование с помощью FRep Процедурные текстуры
Моделирование с помощью FRep Смешение проективных текстур
Моделирование с помощью FRep Смешение проективных текстур Video (all methods)
Моделирование с помощью FRep Пример моделирования и применения проективных текстур со смешением Video
Гибридные модели Использование объектов в различных представлениях в рамках одной модели Взаимодействие между объектами Использование общих параметров
Гибридные модели Анимация полигонального и FRep объектов Сетка Скелет Поверхность свертки
Гибридные модели Частичный управляемый метаморфозис Пример Video
Гибридные модели Взаимодействие FRep объекта с полигональным объектом в интерактивной среде Пример Video (hand grabbing a ball)
Гибридные модели Возможность конвертации между представлениями на различных этапах
Гибридные модели Геометрическое моделирование взаимодействия вязких веществ с анимированными объектами
Гибридные модели Возможна синхронизация Геометрическое моделирование взаимодействия вязких веществ с анимированными объектами СеткаСкелет Поверхность свертки
Гибридные модели Геометрическое моделирование взаимодействия вязких веществ с анимированными объектами Начальное вписывание поверхности свертки в полигональный объект Глобальная минимизация в пространстве высокой размерности
Гибридные модели Применение управляемого геометрического смешивания между вписанной поверхностью свертки и объектом, представляющим вязкое вещество Геометрическое моделирование взаимодействия вязких веществ с анимированными объектами
Гибридные модели Video Геометрическое моделирование взаимодействия вязких веществ с анимированными объектами Видео (вязкий материал) Видео (неестественное поведение материала)
Моделирование с помощью FRep Интерактивная визуализация Полигонизация «Упрощение» конструктивного дерева Различные уровни детализации Использование временной когерентности O(n 3 )O(n 2 ) Параллелизация: Потоки CPU GPU
Моделирование с помощью FRep Интерактивная визуализация Полигонизация на GPU Вычисление значений функций Шейдеры (набор 2D текстур или 3D текстура) Набор «ядер» (kernal) NVIDIA CUDA Генерация треугольников Вершинные шейдеры Геометрические шейдеры NVIDIA CUDA
Моделирование с помощью FRep Интерактивная визуализация Трассировка лучей Адаптивная подвыборка «Упрощение» конструктивного дерева Интервальные/аффинные методы Использование временной когерентности Параллелизация: Потоки CPU GPU (шейдеры, CUDA)
Компактное представление Высокая вычислительная сложность Вычисление модели в произвольной последовательности Ограниченный объем разделяемой и кэш памяти Большое число независимых АЛУ («аппаратных потоков») Упрощение параллелизации Моделирование с помощью FRep Интерактивная визуализация FRep GPU
Моделирование с помощью FRep Применения для интерактивных сред Построение маршрута в модели (path planning) Проверка столкновений (collision detection) Динамически создаваемые среды (бесконечные) Среды, изменяемые пользователем ?
Вопросы Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред