очевидно, что вплоть до начала 80-х основной технологией компьютерной анимации оставались те или иные формы интерполяции между кадрами, различные варианты морфинга и т. п. – вещи, принципиально более простые, чем реалистичное матмоделирование живого движения, примененное в «Кошечке».
Отметим, что уравнения «Кошечки» не выводились напрямую из физических моделей мышц и суставов. Они лишь качественно воспроизводят типичные паттерны кошачьей ходьбы (неожиданные подробности читайте в интервью с Константиновым в этом номере). Реализм движений, тем не менее, очевиден. Причем не только мне. Свое мнение во врезке высказывает Рик Парент, профессор Университета Огайо (одной из колыбелей компьютерной графики), автор монографии «Computer Animation: Algorithms and Techniques», специалист по анимации человеческих фигур, а также по истории компьютерной анимации. Благодаря Паренту мы смогли проиллюстрировать этот материал кадрами одного из первых трехмерных компьютерных фильмов «Not Just Reality», сделанного Барри Весслером в Университете Юты в 1973 году.
Когда речь заходит о первых работах по компьютерной графике в нашей стране, сразу же вспоминается имя Юрия Баяковского (в 1990 году на конференции SIGGRaPH ассоциация aCM присвоила ему титул «Computer Graphics Pioneer»). Сейчас Юрий Матвеевич возглавляет в МГУ Лабораторию компьютерной графики и мультимедиа на факультете ВМК (graphics.cs.msu.su), но продолжает работать и в Институте прикладной математики им. Келдыша РАН, где он много лет заведовал отделом компьютерной графики и где еще в 1964 году в соавторстве с физиком Тамарой Сушкевич выполнил первую в СССР работу по «машинной графике». Это была как раз анимация, небольшой фильм об обтекании цилиндра плазмой. В 1971 году в ИПМ был разработан более совершенный софт для создания компьютерных фильмов и установлена камера для съемки кадров с экрана дисплея. При помощи этой системы вскоре были сделаны еще две впечатляющие анимации. Одна визуализировала движение робота, другая – смоделированное 'приливное взаимодействие' двух галактик.
Как видим, в нашей стране первые исследования по компьютерной анимации велись в рамках научной визуализации. На мой вопрос о работах, где бы ставились и решались задачи анимации «живых объектов» при помощи нетривиальных математических моделей, Юрий Матвеевич ответил: «Таких работ в России я не знаю. Мой студент Саша Савенко занимался этим, но в Англии, там и защитил диссертацию на эту тему». Таким образом, не исключено, что «практический контекст» для работы Константинова и его соавторов в России все еще не появился.
Самое замечательное в истории возникновения «Кошечки» – команда ее создателей и двигавшие ими мотивы. Уже упоминалось, что инициатором проекта и автором ключевых идей был Николай Николаевич Константинов. Если потребуется назвать самого популярного математика в Москве, им окажется, вне всякого сомнения, Константинов. Очень многие нынешние столпы этой науки начинали в его кружках – а сегодня работают в основанном им Независимом Московском университете, новом математическом центре мирового уровня. Константинов – президент Турнира городов, крупнейшего математического состязания для школьников на территории бывшего СССР, член правления Международной федерации национальных математических соревнований (World Federation of National Mathematics Competitions), где отвечает, ни много ни мало, за всю Европу. Наконец, Николай Николаевич действительный член (по секции применения математики к биологии) Московского общества испытателей природы, старейшего научного общества России (основанного в 1805 году; среди иностранных членов были Ламарк, Дарвин, Фарадей). Для нашей темы важнее всего, что Константинов уже много лет остается кристаллизующим центром живой, активной, самоорганизующейся среды, которая объединяет как молодых, так и маститых исследователей и преподавателей, как вундеркиндов-олимпиадников, так и просто увлеченных наукой студентов и школьников.
Весьма показательно, что такой замечательный проект возник именно в этом (никак не формализованном) сообществе и исключительно на основе фундаментального, натурфилософского интереса. Главный урок «Кошечки», на мой взгляд, – каким ярким может быть результат, когда талантливые люди берутся за интересную фундаментальную задачу, не ограничивая себя искусственными рамками «программирования», «анимации» и т. п., – и честно решают ее, не оглядываясь ни на карьеру, ни на планы, ни на рынок (иногда – как в данном случае – нечаянно обгоняя этот самый рынок лет на десять- пятнадцать).
Но как быть с тем, что все эти замечательные идеи столько лет не находили отклика – ни в той самой «Константиновской» среде, ни за ее пределами? Это важный вопрос. Он среди прочих обсуждается в беседе с Константиновым на следующих страницах. Могу только добавить, что спустя много лет эта работа возвращается к жизни в той же самой среде: на свет божий (то есть в цифру и в Интернет) фильм вытащил один из соратников Константинова по олимпиадно-кружковой и научно-популярной работе Николай Андреев, а широкого читателя с ним знакомлю, как видите, я – тоже прошедший когда-то через Константиновские матшколы (сначала как ученик, потом как преподаватель).
Ну а теперь пора торжественно сказать «спасибо». Я благодарю:
– создателя сайта образовательных математических анимаций www.etudes.ru Николая Андреева, который очень помог мне с фото– и видеосъемкой и без которого многие никогда бы не увидели «Кошечку»;
– Юрия Баяковского за ценные консультации и важные ссылки на литературу;
– Николая Константинова за интересную беседу и помощь в работе над материалами;
– Рика Парента за ответы на мои многочисленные вопросы, за профессиональный комментарий к «Кошечке» и за доступ к фильму «Not just reality».
Разыскивая обзоры по истории компьютерной анимации, я обнаружил в цифровой библиотеке IEEE доклад профессора Университета Огайо Рика Парента (Rick Parent) «Компьютерная анимация: алгоритмы и технология – исторический обзор» на конференции IEEE Computer Animation 2000' – и тут же сочинил письмо автору с просьбой о консультации. Вот его отзыв о «Кошечке»:
'Для своего времени эта анимация кошки поистине замечательна. Уровень анимации в тот период в США (и во всем мире, насколько могу судить) лучше всего характеризует фильм «Не просто реальность» («Not Just Reality»), сделанный в 1973 году Барри Весслером (Barry Wessler), учившимся тогда в Университете Юты. Для анимации ходящей и говорящей фигуры использовался скриптовый язык. Фильм был снят покадрово камерой, помещенной перед экраном векторного дисплея. С помощью цветовых фильтров отдельно записывались и потом совмещались красный, зеленый и синий компоненты каждого кадра, а анимация кошки делалась съемкой картинок, напечатанных на бумаге.
Замечательной картину делает не техника записи, а качество передачи движения. Движение ног более плавное и естественное, чем то, которого удавалось достичь компьютерным аниматорам того времени. Очень естественно выглядел и поворот головы в конце двух проходов кошки.
Хотя приводимые в статье уравнения движения и модель четвероногой походки навеяны биомеханикой, тем не менее они были специально разработаны для данного фильма. Моделирование движения использует аналитическую обратную кинематику, дерево решений, управляющее выбором подходящего в данный момент уравнения и механизм обратной связи, синхронизирующий движение ног.
Применив эти методы для анимации, авторы обогнали свое время. Насколько я знаю, это был первый случай использования таких уравнений движения при создании компьютерной анимации.
Часть очарования фильма обусловлена сочетанием примитивных технических средств (видны, например, складки на бумаге) и высокого качества полученного движения. Я благодарен Леониду Левковичу, познакомившему меня с этим замечательным эпизодом истории компьютерной анимации'.
Не удержусь от того, чтобы привести первую реакцию Рика на просмотр «Кошечки»: «Это ПРЕКРАСНАЯ анимация! Я от нее в восторге. Если не возражаете, я покажу ее сегодня студентам на занятиях. Использовались ли данные кинематики, записанные с реальной кошки?»
ТЕМА НОМЕРА: Николай Константинов: «Знает ли кошка, что она не настоящая?»
Николай Николаевич, в каком контексте появилась эта