НПП «Динамические системы» г Киев, ул. Героев Севастополя 5-А Пути оптимизации скелетной анимации Тема: Докладчик: Николай Гаркавец
Анимация модели – изменение пространственного положения контрольных точек путем изменения от геометрических параметров – перемещения, поворота, масштабирования Идея скелетной анимации Внести дополнительную информацию о модели в виде набора контрольных точек, связанных иерархически – скелет – и степень влияния каждой точки на вершины модели. Самый простой способ изменения параметров – подстановка нужного значения на каждом кадре
Как можно уменьшить объем информации? Определить функциональную зависимость изменения значения параметра в зависимости от текущего кадра анимации Использовать числовые типы меньшей разрядности
Какие функции можно использовать? Константы – параметр не меняет свое значение Номер кадра Значение
Какие функции можно использовать? Линейные функции – параметр меняется с постоянным приращением Номер кадра Значение
Какие функции можно использовать? Нелинейные функции Номер кадра Значение
Строим сплайн Аппроксимация анимации кубическим сплайном f (t, a, b, c, d) Где: a, b, c, d – параметры сплайна подлежащие определению
Вычисление коэффициентов Уравнения для вычисления коэффициентов a, b, c, d
Вычисление коэффициентов Матричная форма записи
Вычисление коэффициентов Решение системы линейных уравнений
Выбор контрольных точек F0F0 F1F1 PnPn P n+1 PmPm P m+1 k2k2 k1k1 Номер кадра Значение n m Где: - целая часть от числа - дробная часть от числа
Вычисление коэффициентов Значения параметров в контрольных точках
Переход от функции зависящей от параметра к функции зависящей от номера кадра Вводим замену
Переход от функции зависящей от параметра к функции зависящей от номера кадра Поскольку можем ввести другой набор коэффициентов – константа,
Переход от функции зависящей от параметра к функции зависящей от номера кадра Тогда g(F) – функция, зависящая от номера кадра для текущего интервала
Переход от функции зависящей от параметра к функции зависящей от номера кадра Если вычислить коэффициенты при F, получим сплайн, который описывает изменение анимационных данных в зависимости от номера кадра, на заданном интервале
Строим максимальный сплайн Номер кадра Значение Δ max g 1 (F) g 2 (F)
Замена данных типа float на данные short Выбор максимальных коэффициентов для N сплайнов Использование числовых данных меньшей разрядности - сплайн для n-ого участка
Использование числовых данных меньшей разрядности Новые коэффициенты
Использование числовых данных меньшей разрядности – необходимы для правильного расчета значения. Коэффициенты Новое выражение для вычисления необходимого значения
В чем выгодность использования линейных функций Начальный кадр Тип вычисления abcd Меньше данных для описания одного участка Данные, необходимы для определения сплайна Данные, необходимы для определения участка с линейной интерполяцией Начальный кадр Тип вычисления cd
Меньше операций для вычисления текущего значения В чем выгодность использования линейных функций Для вычисления значения при помощи сплайна необходимо 3 операции сложения и 3 операции умножения Для вычисления значения при помощи линейной функции необходимо 1 операция сложения и 1 операции умножения
Комбинирование методов Номер кадра Значение КонстантаСплайнЛинейное изменение
Список рекомендуемой литературы Цисарж В. В., Марусик Р. И. Математические методы компьютерной графики. Киев 2004 г. Завялов Ю.С., Квасов Б. И., Мирошниченко В. А., Методы сплайн-функций. Москва 1980 г. Корнейчук Н. П. Сплайны в теории приближения. Москва 1984 г. Дзядык В. К. Введение в теорию равномерного приближения функций полиномами. Москва 1977 г.
Спасибо за внимание. Вопросы?