Моделирование.PPT
- Количество слайдов: 30
Геометрическое моделирование
Геометрическое моделирование § Иерархическое представление § Добавление простейших геометрических фигур § Моделирование сложных объектов § Просчет освещения § Текстурирование § Задание рельефных поверхностей §Моделирование с помощью метаболов (отсечение от куба) Деформации произвольных форм
3 Иерархическое представление § Верхний уровень геометрии (root) Ø Описание геометрии (geometry) o Преобразования системы координат o Атрибуты ● Геометрический примитив • Набор треугольников (Triangle Mesh) • Веер треугольников (Triangle Fan) • Полоса треугольников (Triangle Strip) • Регулярная сетка (Grid) ● Геометрический примитив • . . . ●. . . o Дочерние геометрические объекты Ø Описание геометрии (geometry) Ø. . . Ø Описание геометрии (geometry) ●. . . Ø. . . Текущий контекст геометрического моделирования
4 Простейшие геометрические фигуры § Стандартные геометрические фигуры Ø Сфера Ø Усеченный конус Ø Прямоугольный параллелепипед Ø Тор § Моделирование сложных тел Ø Протяженные тела Ø Тела вращения Ø Выдавливание тел Ø Создание рельефных поверхностей по карте высот
Освещение (lighting) - результат просчета освещения (цвет в точке); - коэффициент константного освещения(Ambient) ; - коэффициент диффузного отражения (Diffuse reflection); -коэффициент бликовости (Specular reflection); - рассеянный свет окружающей среды; - интенсивность источника света; LN – количество источников света. Ph – коэффициент зеркальности (коэффициент Фонга / Phong);
Наложение текстур (texture mapping) Цилиндрическое мэпирование
Наложение текстур (texture mapping)
8 Моделирование сложных тел Деформации произвольных форм (FFD) s u t
9 Моделирование сложных тел Skinning g 1 g 2 g 3 b 1 g 6 g 7 g 4 g 5 b 2 g 8 g 9 g 10
10 Моделирование сложных тел Маркировочные кубы (Marching Cubes). (Используются для построения функционалов) § Алгоритм Ø Разбиваем выделенное пространство на множество кубов Ø Находим пересечения всех ребер кубиков с функционалом Ø По данным пересечений строим объект f(x, y, z)=x 4+y 4+z 4 -x 2 -y 2 -z 2=0 f(x, y, z)=sin(x)+sin(y)+sin(z)=0
11 Моделирование сложных тел Обобщенные метаболы (Metaballs). § Визуализация в пространстве § Деформация объектов
Инверсная кинематика (inverse kinematics)
Процедурная анимация Unit #1 Unit #2 ID SIZE NAME PRIORITY FUNCTIONS … … … 12 Response time 9 3 6 Post render
Эффекты на основе частиц (particle system) Источник частиц Y X Z Частицы Методы обслуживания Обслуживание частиц : § определение количества новых частиц и инициализация начальных параметров; § обновление состояния активных частиц и удаление отслуживших; § вывод системы частиц на экран.
Моделирование Газов p = ∑ƒqi qi ƒqi = x(Aq + Bq(eqi * t) + Cq(eqi * t)² + Dq(t)²), u = (∑ƒqieqi)/p ei qi ƒqi = p(Aq + Bq(eqi * u) + Cq(eqi * u)² + Dq(u)²) D 3 Q 19 eq D 3 Q 1 D 3 Q 6 D 3 Q 12 Ωqi = 1/T(ƒqi(xi, t) - ƒqi(p, u))
Визуализация теней (cast shadow) При отсутствии теней невозможно визуально оценить расстояние от объекта до земли. Наличие теней позволяет довольно Точно оценивать расстояние до земли.
Визуализация теней (cast shadow) Основной алгоритм: § § Подготовительная часть (происходит один раз в начале работы программы) Ø Построение графа ребер у объектов, отбрасывающих тень. Основная часть (процесс построения и прорисовки теней) Ø Строится силуэт объекта, который был бы виден из источника света. Ø По силуэту строится многогранник, все объекты попадающие в него находятся в тени.
Построение отражений (reflection mapping) Поддержка отражений позволяет Имитировать такие поверхности, Как мраморный пол, и другие Отражающие материалы.
Просчет диффузного освещения методом Radiosity. Уравнения задающие Radisoity: • • • n – общее количество патчей в сцене; Bi, Bj – radiosity i-ого и j-ого патчей; Ei – энергия, излучаемая единицей поверхности патча; Fij – коэффициент рассеяния энергии патчем, показывающий какая часть энергии не поглотилась, а отразилась от патча; Fij – форм-фактор между i–ым и j– ым патчами, показывающий, какая часть энергии, покидающая патч j доходит до патча i. • • d. Ai, d. Aj – элементарные площадки i -ого и j-ого патчей; i, j – углы между нормалями патчей и отрезком соединяющим их центры; V(i, j) – функция видимости; r – расстояние между центрами патчей.
Просчет форм-факторов. Метод проекции полукуба. Патч а j-ый патч Патч b N i-ый патч Fij = d. Fa+d. Fb+d. Fc+d. Fd d. A d. B Формула вычисления форм-факторов сводится к следующему:
Физическое моделирование Механика твердых тел (rigid body) C(t) – центр масс V(t) – его линейная скорость q(t) – ориентирующий кватернион w(t) – угловая скорость M - масса L(t) – момент импульса I(t) – тензор инерции F(t), t(t) – силы, действующие на тело и их момент e – коэффициент восстановления
Физическое моделирование Обработка столкновений.
Advanced Character Physics X* X X 1 Расстояние слишком большое Корректное расстояние Расстояние слишком малое Фиксация первоначального положения сдвигом частиц
Физическое моделирование Определение столкновений (collision detection) § Столкновение динамических объектов § Пересечение объекта и отрезка § Пересечение объекта и сферы § Пересечение объекта и луча
Низкий уровень § Система вывода: драйвера обслуживания низкоуровневых API (Direct 3 D и Open. GL) § Звуковое сопровождение § Взаимодействие с устройствами ввода
Низкий уровень: система вывода Драйвера (Direct 3 D и Open. GL) Ø Инициализация Ø Создание графического контекста Ø Начало и завершение кадра Ø Вывод 3 D геометрии Ø Вывод графического контекста на экран Ø Установка параметров вывода Ø Создание текстуры (загрузка и сохранение) Ø Установка параметров текстурирования Ø Динамическое изменение текстуры Ø Перенаправление вывода в текстуру
Низкий уровень: система вывода Консоли Ø Инициализация Ø Создание консоли Ø Изменение косоли Ø Вывод 2 D примитивов Ø Ввод и вывод текста
Низкий уровень: звуковое сопровождение § Direct. Sound Ø Инициализация Ø Загрузка звука (WAV) Ø Изменение громкости звучания Ø Изменение частоты дискретизации Ø Изменение стерео параметров Ø Позиционирование дорожки (и зацикливание) § Direct. Music Ø Инициализация Ø Загрузка музыки (MIDI) Ø Изменение громкости звучания Ø Позиционирование дорожки (и зацикливание)
Низкий уровень: устройства ввода § Direct. Input Ø Инициализация Ø Опрос клавиатуры Ø Опрос мыши Ø Опрос джойстика Ø Задание обратной связи (feed back)
Низкий уровень: вершинные шейдеры ВШ работает ВШ отключен


