Использование функционального представления (FRep) для компьютерной анимации и интерактивных сред
Использование функционального представления для компьютерной анимации и интерактивных сред В лекции рассматривается круг приложений функционального представления для работы с гибридными моделеми и создания анимаций на их основе. Описываются основные особенности и решения, характерные для данного подхода. Дополнительно рассматриваются возможные способы уменьшения времени расчета и визуализации функциональных моделей.
FRep Modelling (hard to model and control visually, but for complex models cant keep the whole tree in the head) Texturing (cubemap, solid texture, procedural, projection) Viscous Hybrid (shape + skinning) Skinning result (weighting) – example with critters (mention spore) Mention plug-in in maya (show some shots) Rendering (cpu+gpu) polygonization ray-trace (interval arithmetics) volume render More apps (path planning, collision (e.g. for particles or char in game world), changeable environment) Applications of FRep for computer animation and interactive environements The lecture deals with a set of applications of FReps for hybrid modelling and animation. Also discusses a number of issues and ways to overcome them. Additional attention is paid to speed optimizations of FRep models evaluation.
Функциональное представление (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.Трассировка лучей. (аффинные преобразования, смешивания, нелинейные деформации и пр.) 3.Объемная визуализция 2. Трассировка лучей 3. Объемная визуализция
Функциональное представление (FRep) Визуализация модели 1.Полигонизация: Marching Cubes/Tetrahedra/Triangles 2. Трассировка лучей (Ray-tracing) 3. Объемная визуализация (Volume rendering)
Моделирование с помощью FRep HyperFun Высокоуровневый язык описания FRep моделей Поддержка широкого набора примитивов и операций Возможность определения новых функций Простой синтаксис (схож с C)
Моделирование с помощью FRep Высокая трудоемкость создания сложных моделей HyperFun FIGURE
Моделирование с помощью FRep Возможность манипуляции FRep сущностями с получением визуальных результатов в интерактивном режиме Визуальное моделирование FIGURE (no hypervolumes)
Y X Y T Y X T
Компактное представление Высокая вычислительная сложность Вычисление модели в произвольной последовательности Ограниченный объем разделяемой и кэш памяти Большое число независимых АЛУ («аппаратных потоков») Упрощение параллелизации