Выбрать главу

С недавних пор, благодаря команде сайта «Математические этюды», каждый может самостоятельно оценить «Кошечку», найдя ее на www.etudes.ru. Там же и оригинальная статья о технологии создания фильма, напечатанная в журнале "Проблемы кибернетики" только в 1974 году. Попробуем уточнить место этой работы на эволюционной шкале компьютерной анимации.

Честно говоря, начиная исследовать историю «Кошечки», я одно время даже думал, не окажется ли она самым первым примером компьютерной анимации. Но это, конечно, не так. Например, Юрий Баяковский, один из активных участников «героического периода» становления компьютерной графики, после просмотра «Кошечки» припомнил, что еще во второй половине 50-х в ИПМ имени Келдыша РАН на машине «Стрела» (где память была на электронно-лучевых трубках, единичные биты светились, нулевые — нет) инженеры «делали анимации, заполняя соответствующим образом память ноликами и единичками». Можно предположить, что и на Западе у компьютерной анимации был длительный период «фольклорного» развития. Похоже, что официальной хронологии у компьютерной анимации пока нет, так как временные шкалы, составляемые разными исследователями, не во всем согласуются. В любом случае, «Кошечка» попадает в довольно малонаселенную зону. Компьютерная анимация в конце 60-х еще только готовилась стать индустрией, а работы первых художников, применивших ее в творчестве, иногда сразу оказывались в лучших музеях современного искусства.

Зато вполне возможно, что две базовые для анимационных технологий идеи были впервые реализованы именно в этом фильме, причем задолго до их появления в мэйнстриме.

Представление трехмерной пространственной формы в виде иерархической структуры данных. Структура напоминала октодерево (octree), задающее любую пространственную форму так: в нулевом приближении это куб, содержащий наш объект, в первом приближении — совокупность кубиков половинного размера, содержащая объект, и так далее. «Кошечка» задавалась более экономичной, адаптивной иерархией «брусков» (усеченных пирамид), аппроксимирующих ее торс, ноги, усы и т. д.

Задание траекторий движения тела при помощи дифференциальных уравнений.

Первая из идей, при всей ее важности (Мэттью Уорд даже выделяет октодерево как отдельный этап в истории компьютерной графики, относя его к 1982 году — четырнадцать лет спустя после «Кошечки»), все-таки кажется мне принципиально более простой в придумывании и реализации, чем вторая. Легко представить, что в «фольклоре» подобные методы к тому времени уже существовали (другое дело, что авторы не были связаны с этим только возникавшим тогда сообществом и сами изобретали все с нуля). А вот вторая идея значительно глубже концептуально и сложнее технически. Современные обзоры по моделированию движения человека для целей анимации (обзоров, посвященных специально кошкам или другим животным, я не нашел) относят первые работы такого типа — анимацию ходьбы на основе решения уравнений прямой или обратной кинематики и динамики — к началу или середине 80-х. В биомеханике, без всякой связи с компьютерной анимацией, первые попытки (двухмерного!) моделирования движения человека на основе задач оптимизации, приводящих к дифференциальным уравнениям, делались в начале 1970-х[Computer animation of Human Walking: a Survey (1999), Franck Multon, Laure France, Marie-Paule Cani-Gascuel, Gilles Debunne]. Вполне возможно, что подобные исследования велись в момент создания «Кошечки» и в робототехнике. Рекорды и приоритеты дело тонкое, и я бы не хотел сейчас всерьез углубляться в эту тему. Но из литературы совершенно очевидно, что вплоть до начала 80-х основной технологией компьютерной анимации оставались те или иные формы интерполяции между кадрами, различные варианты морфинга и т. п. — вещи, принципиально более простые, чем реалистичное матмоделирование живого движения, примененное в «Кошечке».

Отметим, что уравнения «Кошечки» не выводились напрямую из физических моделей мышц и суставов. Они лишь качественно воспроизводят типичные паттерны кошачьей ходьбы (неожиданные подробности читайте в интервью с Константиновым в этом номере). Реализм движений, тем не менее, очевиден. Причем не только мне. Свое мнение во врезке высказывает Рик Парент, профессор Университета Огайо (одной из колыбелей компьютерной графики), автор монографии «Computer Animation: Algorithms and Techniques», специалист по анимации человеческих фигур, а также по истории компьютерной анимации. Благодаря Паренту мы смогли проиллюстрировать этот материал кадрами одного из первых трехмерных компьютерных фильмов «Not Just Reality», сделанного Барри Весслером в Университете Юты в 1973 году.