Журнал «Компьютерра» № 7 от 21 февраля 2006 года - Компьютерра. Страница 10
Весьма показательно, что такой замечательный проект возник именно в этом (никак не формализованном) сообществе и исключительно на основе фундаментального, натурфилософского интереса. Главный урок «Кошечки», на мой взгляд, – каким ярким может быть результат, когда талантливые люди берутся за интересную фундаментальную задачу, не ограничивая себя искусственными рамками «программирования», «анимации» и т. п., – и честно решают ее, не оглядываясь ни на карьеру, ни на планы, ни на рынок (иногда – как в данном случае – нечаянно обгоняя этот самый рынок лет на десять-пятнадцать).
Но как быть с тем, что все эти замечательные идеи столько лет не находили отклика – ни в той самой «Константиновской» среде, ни за ее пределами? Это важный вопрос. Он среди прочих обсуждается в беседе с Константиновым на следующих страницах. Могу только добавить, что спустя много лет эта работа возвращается к жизни в той же самой среде: на свет божий (то есть в цифру и в Интернет) фильм вытащил один из соратников Константинова по олимпиадно-кружковой и научно-популярной работе Николай Андреев, а широкого читателя с ним знакомлю, как видите, я – тоже прошедший когда-то через Константиновские матшколы (сначала как ученик, потом как преподаватель).
Ну а теперь пора торжественно сказать «спасибо». Я благодарю:
– создателя сайта образовательных математических анимаций www.etudes.ru Николая Андреева, который очень помог мне с фото– и видеосъемкой и без которого многие никогда бы не увидели «Кошечку»;
– Юрия Баяковского за ценные консультации и важные ссылки на литературу;
– Николая Константинова за интересную беседу и помощь в работе над материалами;
– Рика Парента за ответы на мои многочисленные вопросы, за профессиональный комментарий к «Кошечке» и за доступ к фильму «Not just reality».
Разыскивая обзоры по истории компьютерной анимации, я обнаружил в цифровой библиотеке IEEE доклад профессора Университета Огайо Рика Парента (Rick Parent) «Компьютерная анимация: алгоритмы и технология – исторический обзор» на конференции IEEE Computer Animation 2000" – и тут же сочинил письмо автору с просьбой о консультации. Вот его отзыв о «Кошечке»:
"Для своего времени эта анимация кошки поистине замечательна. Уровень анимации в тот период в США (и во всем мире, насколько могу судить) лучше всего характеризует фильм «Не просто реальность» («Not Just Reality»), сделанный в 1973 году Барри Весслером (Barry Wessler), учившимся тогда в Университете Юты. Для анимации ходящей и говорящей фигуры использовался скриптовый язык. Фильм был снят покадрово камерой, помещенной перед экраном векторного дисплея. С помощью цветовых фильтров отдельно записывались и потом совмещались красный, зеленый и синий компоненты каждого кадра, а анимация кошки делалась съемкой картинок, напечатанных на бумаге.
Замечательной картину делает не техника записи, а качество передачи движения. Движение ног более плавное и естественное, чем то, которого удавалось достичь компьютерным аниматорам того времени. Очень естественно выглядел и поворот головы в конце двух проходов кошки.
Хотя приводимые в статье уравнения движения и модель четвероногой походки навеяны биомеханикой, тем не менее они были специально разработаны для данного фильма. Моделирование движения использует аналитическую обратную кинематику, дерево решений, управляющее выбором подходящего в данный момент уравнения и механизм обратной связи, синхронизирующий движение ног.
Применив эти методы для анимации, авторы обогнали свое время. Насколько я знаю, это был первый случай использования таких уравнений движения при создании компьютерной анимации.
Часть очарования фильма обусловлена сочетанием примитивных технических средств (видны, например, складки на бумаге) и высокого качества полученного движения. Я благодарен Леониду Левковичу, познакомившему меня с этим замечательным эпизодом истории компьютерной анимации".
Не удержусь от того, чтобы привести первую реакцию Рика на просмотр «Кошечки»: «Это ПРЕКРАСНАЯ анимация! Я от нее в восторге. Если не возражаете, я покажу ее сегодня студентам на занятиях. Использовались ли данные кинематики, записанные с реальной кошки?»
ТЕМА НОМЕРА: Николай Константинов: «Знает ли кошка, что она не настоящая?»
Автор: Леонид Левкович-Маслюк
Николай Николаевич, в каком контексте появилась эта необычная по тем временам работа?
Контекстов было несколько, и на разных уровнях. Во-первых, еще в школе я заинтересовался биологией. В 1948 году занимался в замечательном биологическом кружке в МГУ и, вероятно, стал бы биологом, если б не печально знаменитая августовская сессия ВАСХНИЛ, в результате которой биофак МГУ претерпел полный разгром. После этого я решил поступать на физфак, позже начал заниматься и чистой математикой, но меня очень интересовали проблемы на стыке математики и биологии. Мне хотелось работать над такими проблемами, появился ряд идей, которые меня увлекли, и после окончания физического факультета и нескольких лет работы там я ушел в аспирантуру на мехмат к Алексею Андреевичу Ляпунову[Крупный математик, ведущий специалист по кибернетике. – Здесь и далее прим. Л.Л.-М.]. В 1961 году на летней научной школе под руководством Николая Тимофеева-Ресовского[Один из крупнейших ученых того времени, выдающийся биолог, генетик] я сделал доклад о моделировании так называемых экстраполяционных рефлексов у животных. Однако потом все-таки переключился на другую тематику. А в 1968 году я встретился со своим бывшим студентом Валерой Ивановым (он фигурирует в романе Даниила Гранина «Зубр» о Тимофееве-Ресовском под своим тогдашним прозвищем Хромосома). Иванов как раз показывал в МГУ мультфильм: из пластмассы и пластилина он сделал модель молекулы ДНК, последовательно придавал ей разные формы, фотографировал, и в результате получилось изображение движения молекулы. Фильм был неплохой, но я сказал ему, что на компьютере такие вещи можно сделать гораздо лучше. Мы стали думать, как на машине смоделировать шарнирную систему, и тут мне пришло в голову: почему бы для примера не взять движение кошки? В этот момент и началась работа над фильмом, и в том же году он был закончен.
Как проходила работа?
– Мы работали втроем, я и два моих соавтора, Володя Пономаренко и Виктор Минахин (кажется, они тогда еще были студентами мехмата МГУ). Идейную сторону в основном разработал я: как записать информацию о форме и как моделировать движение. Главная идея моделирования была очень проста и очень естественна для человека, который знает физику. Она состоит в том, что следует использовать дифференциальные уравнения второго порядка, – ведь животное управляет мышцами, то есть его система управления оперирует ускорениями.
Уравнения вы заимствовали из работ по биомеханике?
– Нет, мы сами вывели нужные уравнения – это сделал Виктор Минахин. Сначала он пытался написать уравнения, наблюдая за движением кошки. Но кошка же непослушная, она не станет по команде медленно ходить перед вами снова и снова. Поэтому Минахин решил записывать свои собственные движения.
То есть как?
– Очень просто – он ходил по комнате на четвереньках и замечал, какие мышцы когда включаются. Делал шаг, застывал – и думал, тщательно анализировал свою динамику. К счастью, за миллионы лет, что люди ходят на двух ногах, они не забыли, как ходить на четвереньках. Уже потом, после окончания работы над фильмом, я некоторое время посещал семинар на мехмате МГУ, где глубоко исследовалась механика ходьбы. Над этим работали крупные ученые – семинаром руководил Дмитрий Охоцимский, очень активно изучал эти вопросы Сергей Фомин. Но нам для фильма было достаточно лишь внешнего правдоподобия. Мы его добились именно за счет использования дифференциальных уравнений при моделировании, хотя уравнения были, конечно, слишком грубыми для более сложных задач, например медицинских. Сейчас Минахин работает в Москве в Научном совете по проблемам кибернетики. Пономаренко увлекся буддизмом и постепенно ушел из «контактной области», никто из моих знакомых не знает, где он и что с ним.