«Кошечка» — первая компьютерная симуляция живого существа и первый советский компьютерный мультфильм. В 1968 году Николай Константинов, Виктор Минахин и Владимир Пономаренко сделали его на ЭВМ БЭСМ-4. Кошка делает несколько шагов, замедляется, поворачивает голову и останавливается.
Идея пришла от Валерия Иванова, бывшего студента Константинова: он показал в МГУ пластилиновый мультфильм о движении молекулы ДНК. Константинов сказал, что на компьютере такое можно сделать лучше. Задача была смоделировать шарнирную систему, и для примера взяли кошку.
Константинов продумал, как записать форму и как моделировать движение. Уравнения вывел Минахин, тогда студент мехмата МГУ, как и Пономаренко. Движение задали дифференциальными уравнениями второго порядка: животное управляет мышцами, то есть ускорениями. Тело кошки описали как «дерево» из «брусков», а форму отделили от сценария движения.
Сначала Минахин наблюдал за своим котом. Кошка не будет ходить перед вами по команде снова и снова, поэтому он сам ходил по комнате на четвереньках: делал шаг, замирал и отмечал, какие мышцы включаются.
Программа вместе с математикой заняла несколько месяцев. Каждый отладочный расчёт шёл за вечер. Считали на БЭСМ-4: машина появилась в 1962 году, 20 тысяч операций в секунду, оперативная память — 16 384 слова.
Счёт начали в ИТЭФ, в лаборатории Александра Кронрода, где тогда работал Константинов. Кронрод подписал «письмо 99» в защиту Есенина-Вольпина, и лабораторию разогнали. Работу ненадолго перенесли в Институт проблем управления и закончили счёт в Педагогическом институте им. Ленина. На разных экземплярах БЭСМ-4 часть машинных кодов работала по-разному, и программу приходилось переписывать на ходу.
Кадры печатало алфавитно-цифровое печатающее устройство АЦПУ-128. Кошка оставалась белой, фон выбивался буквой «Ш» как самой чёрной. Получался «папирфильм», бумажная лента кадров. Из него на кафедре учебной и научной фотографии и кинематографии МГУ сделали мультфильм. Художник-мультипликатор доделал вступительные кадры: кошка выгибает спину, строит рожицу, мигает. Длина фильма около 1 минуты 24 секунд.
В титрах должности стоят в кавычках: «сценарист» Н. Константинов, «режиссёр» В. Минахин, «художник-мультипликатор» В. Пономаренко, «художник» А. Скуридин, «оператор» В. Журкин. Объявить компьютерную анимацию искусством в годы соцреализма авторы не решились.
Первый показ прошёл в МГУ. Пришло человек сто, ещё человек сто опоздали, и фильм пришлось запустить второй раз. Математики работу одобрили. В том же году «Кошечку» показали на Всесоюзной математической олимпиаде в Крыму, потом в колмогоровском интернате при МГУ (сейчас СУНЦ МГУ им. А. Н. Колмогорова). Там Константинову задали два вопроса. Первый: можно ли сделать такую систему, чтобы кошку было не только смотреть, но и погладить? Второй: «Знает ли кошка, что она не настоящая?» Он ответил, что кошка ничего не знает, но у более богатой модели будет и более богатое восприятие.
В 1974 году Константинов, Минахин и Пономаренко опубликовали статью «Программа, моделирующая механизм и рисующая мультфильм о нём» в сборнике «Проблемы кибернетики». Там сказано, что работа выполнена на кафедре общих проблем управления мехмата МГУ, а отладка и счёт шли в вычислительном центре МГПИ им. Ленина.
В 1963 году Эдвард Зайац в Bell Labs сделал компьютерный фильм о стабилизации спутника. «Кошечка» стала одним из первых реалистично анимированных компьютером персонажей.
Следующий шаг
Dr. Dre: угрозу в ИИ видят те, кому трудно создавать
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov

