Например, ряд базовых движений ноги при ходьбе можно задать так, как показано на рис. 13.20. Тазобедренный сустав движется вперед вдоль горизонтальной линии, а связанные с ним фрагменты совершают набор движений вокруг бедра, коле-
Рис. 13.21. Пять положений красной спицы за один оборот колеса, вращающегося с частотой 18 оборотов в секунду
Рис. 13.22. Первые пять кадров фильма с изображением вращающегося колеса с рис. 13.21, сгенерированные с частотой 24 кадра в секунду на и угловых соединений. Движение начинается с прямой ноги (рис. 13.20, а), затем формируется прямое колено, когда таз движется вперед (рис. 13.20, б). Далее нога качается вперед, возвращается к вертикальному положению и качается назад, как показано на рис. 13.20, в, г и д. Завершающее движение - широких замах назад и возвращение в прямо вертикальное положение, как показано на рис. 13.20, ей ж. Данный цикл движения повторяется в течение всего времени анимации, пока фигура пройдет заданное расстояние, или пройдет заданное время.
При движении фигуры другие шарниры также совершают различные движения. Синусоидальное движение, часто с меняющейся амплитудой, можно применить к бедрам, чтобы они двигались относительно торса. Подобным образом поперечное или качательное движение можно сообщить плечам, кроме того, при ходьбе может раскачиваться голова.
При анимации фигуры используется и кинематическое описание движения и обратная кинематика. Задать движение шарниров обычно легко, но для выполнения простого движения по произвольной местности может оказаться полезной обратная кинематика. Для сложной фигуры обратная кинематика может не давать однозначной анимационной последовательности: при данном наборе начальных и конечных условий возможны многие различные вращательные движения. В подобных случаях для получения единственного решения следует добавить несколько условий, например, сохранения момента системы.
ПЕРИОДИЧЕСКОЕ ДВИЖЕНИЕ
При построении анимации с повторяющимися шаблонами движения, как, например, для вращающегося объекта, нужно гарантировать, что движение дискретизовано (раздел 4.17) с частотой, достаточной для корректного представления движения. Другими словами, движение должно быть синхронизировано с частотой генерации кадров так, чтобы число кадров, отображаемых за цикл, было достаточным для показа истинного движения. В противном случае анимация будет отображена неверно.
Типичный пример - недостаточная дискретизация периодического движения колеса повозки в вестерне, при которой кажется, что колесо вращается в обратную сторону. На рис. 13.21 иллюстрируется один полный цикл вращения колеса с одной красной спицей, которое делает 18 оборотов в секунду по часовой стрелке. Если движение записано на пленку со стандартной телевизионной скоростью воспроизведения 24 кадра/с, на первых пяти кадрах фильма колесо будет выглядеть так, как показано на рис. 13.22. Поскольку колесо совершает | оборота за каждую ^ секунды, за цикл генерируется только один кадр, и кажется, что колесо вращается в противоположном направлении (против часовой стрелки).