среда, 12 августа 2015 г.

Эволюция пикселя: малоизвестные факты об истории компьютерной графики

Те, кто занимается разработкой трехмерной графики, очень хорошо знают, что успех в освоении этой области зависит исключительно от терпения. «Наскоком» этой наукой овладеть невозможно, для этого нужна длительная подготовка. Используя метод проб и ошибок, прочитав массу учебной литературы, после многократного утомительного ожидания рендеринга финальной сцены наконец-то приходит озарение: «Так вот как оно, оказывается, нужно было делать!».
Словно спортсмен, оттачивающий свое мастерство на спортивном инвентаре, дизайнер компьютерной графики раз за разом применяет одни и те же шаблонные конструкции, которые помогают ему разобраться в тонкостях работы с программой. Привычные для него картинки и модели настолько давно используются для тестирования различных функций 3D-редактора, что кажутся вполне обычными инструментами. А между тем многие из них совсем не похожи на «стандартные» средства. Модель чайника, трехмерная голова обезьяны и прочие странные вещи — откуда они взялись?
Многие полагают, что присутствие в программах для разработки трехмерной графики таких необычных моделей как Suzanne или Teapot — это блестящая находка разработчиков. Действительно, в отличие от правильных простых объектов типа сферы, цилиндра, куба или конуса, модели с необычной геометрией смотрятся более естественно. Их более сложная форма позволяет быстро обнаружить недостатки освещения и материалов. С этими объектами очень удобно экспериментировать и упражняться в моделировании.
#Непростая жизнь простого чайника
Судьбы некоторых вещей складываются порой очень необычно. Когда Мартин Ньювелл (Martin Newell) и его жена Сандра в 1974 году приобрели в одном из универмагов Солт-Лейк-Сити заварочный чайник, они и представить себе не могли, что в будущем об этой вещи в буквальном смысле узнает весь мир.
Мартин Ньювелл — создатель самого популярного чайника в трёхмерной графике
Мартин Ньювелл — создатель самого популярного чайника в трёхмерной графике
Это был самый обычный керамический чайник, произведенный немецкой компанией Melitta. Очень простой формы — слегка округлый, с крышкой. На нем даже не было никакого рисунка или узора — просто гладкий белый чайник.
Ньювелл занимался разработкой алгоритмов рендеринга для графического редактора в университете Юты (University of Utah). Отсюда пошло и название чайника, его стали называть «чайник Юта». Интересно, что изначально модель чайника сопровождалась еще набором чашек и чайных ложечек. Выглядело это так.
Потом модели чайного сервиза растерялись, и остался один чайник. Самые внимательные пользователи наверняка обратили внимание на то, что в сравнении с чайником из программы 3ds max, пропорции оригинального чайника Юта несколько иные.
Прототип самого известного чайника в трехмерной графике
Прототип самого известного чайника в трехмерной графике
Все верно — исходный объект несколько выше компьютерной модели. Почему так? Сами «родители» первой компьютерной модели путаются в объяснениях. Скорее всего, причина в том, что буфер кадра на компьютере с которым работал Ньювелл, имел неквадратные пиксели. Вместо того, чтобы искажать изображение, Мартин попросил своего коллегу Джима Блинна скорректировать масштаб модели для исключения растянутых деформаций. Сам же Джим утверждает, что им просто понравилась отмасштабированная по вертикали форма чайника, которую они использовали на демонстрации в своей лаборатории.
На этом изображении — уникальный скан наброска, который сделал Мартин Ньювелл. Как видите, корпус чайника на этом листике имеет соотношение сторон основы 4х3.
На этом изображении — уникальный скан наброска, который сделал Мартин Ньювелл. Как видите, корпус чайника на этом листике имеет соотношение сторон основы 4х3.
Чайник стал любимым объектом разработчиков трёхмерной графики. Как-то незаметно его стали использовать везде, где только можно. Например, на компьютерах Commodore CBM, которые продавались в начале восьмидесятых годов прошлого века, была установлена демонстрационная программа Grafikdemo. Запустив ее, пользователь мог видеть на экране каркас чайника. Эту основу можно было вращать с помощью клавиатуры, рассматривая со всех сторон. Подобные нехитрые манипуляции должны были производить на пользователей сильное впечатление и склонять потенциального покупателя к дорогой покупке.
Чайник также можно было увидеть в популярном скринсейвере 3Dpipes ("Трубопровод") из Windows.
А еще он то и дело появлялся в различных трехмерных анимациях — например, в знаменитой ленте студии Pixar «История игрушек» (Toy Story), где главный герой пьёт чай как раз из чайника Ньювелла.
Даже мультяшный Гомер Симпсон в одной из серий сериала The Simpsons вдруг обрел третье измерение, и тут же в кадр попал чайник Юта (для фанатов — шестая серия седьмого сезона Treehouse of Horror VI).
А еще чайник Юта (после небольшого редактирования он изменил форму) попал в кадр при просмотре другой картины студии Pixar — «Корпорация монстров» (Monsters Inc.).
Кстати, у студии Pixar есть еще и забавная традиция. Каждый год на очередной выставке Siggraph они раздают сувенирные чайники Юта — шагающие игрушки, рекламирующие движок визуализации RenderMan. Обычно эти чайники упаковываются в коробку из-под чая. Прекрасный памятный подарок о выставке для любителя 3D.
Трехмерная модель чайника стала визитной карточкой одного из самых популярных 3D-редакторов — Autodesk 3ds max. В этой программе чайник запросто может создать любой пользователь, даже тот, кто никогда не занимался трехмерным моделированием.
Обычно керамическая посуда долго не живет. Но это правило не работает в случае с чайником Ньювелла. Он не только до сих пор находится в прекрасной кондиции, но и перешел, так сказать, в общественное достояние. Владелец передал его Бостонскому музею компьютеров, где он находился до 1990 года. В настоящее время этот экспонат можно найти в Музее компьютерной истории в Маунтин-Вью, штат Калифорния.
Время от времени знаменитый чайник путешествует по разным мероприятиям — наподобие выставки Siggraph. Несмотря на немолодые годы, он выглядит чистым, блестящим и подозрительно новеньким. И хотя владельцы раритета убеждают, что это именно тот самый чайник, с которого началась история трехмерной анимации, если учесть расстояния, на которые ему пришлось перемещаться, не исключено, что он мог быть втайне заменен другим экземпляром, ведь аналогичные модели до сих пор продаются в большом количестве.
#Стенфордский кролик
После появления чайника Юты долгое время у разработчиков трёхмерной графики не было альтернативы. Нужно протестировать рендеринг? Конечно, используется чайник Ньювелла. Но в девяностых годах ситуация слегка изменилась. Появились новые инструменты для трехмерного моделирования и новые модели для тестирования. В дело включились научные сотрудники Стенфордского университета — Грег Тёрк (Greg Turk) и Марк Левой (Marc Levoy).
Грег Тёрк
Грег Тёрк
Всегда веселый Марк Левой
Всегда веселый Марк Левой
В 1994 году, на Пасху, Грег прошелся по Юниверсити-авеню и заглянул в магазин, где продавались декоративные товары для дома и сада. Там он увидел коллекцию глиняных кроликов. Ему очень понравился терракотовый цвет красной глины, и в голову Тёрка пришла мысль, что эта фигурка идеально подходит для трёхмерного сканирования и использования в экспериментах по 3D.
«Если б я знал, что этот кролик таким популярным, да я бы их всех купил!» — рассказывал Грег уже спустя несколько лет. Он приобрёл этого кролика и принес в лабораторию, где вместе с Марком они оцифровали его форму. Кролик имел только один недостаток — в его геометрии были отверстия. Чтобы упростить полигональную сетку, Грег просто заделал их вручную. Модель стенфордского кролика, которую получили после оцифровки статуэтки, содержала 69451 треугольную поверхность, сама же оригинальная фигурка была 19 сантиметров в высоту.
С тех пор эту модель может скачать любой желающий прямо с сайта Стенфордского университета.
Помимо кролика, в стенфордском репозитории выложено еще множество моделей, многие из которых также стали очень популярными в сообществах разработчиков трехмерной графики. Среди бесплатных 3D-моделей, доступных для загрузки, есть, например, фигурка счастливого Будды, популярный китайский дракон, красивая тайская статуя и так далее.
#Обезьянка в Blender
Трехмерный редактор Blender не имеет аналогов. Это единственный бесплатный профессиональный пакет для создания трехмерной графики, способный более или менее на равных конкурировать с такими «китами», как Maya или Lightwave.
Открытый код, кроссплатформенность и огромные возможности моделирования — о достоинствах этой программы можно говорить очень долго. Разработчики сделали все возможное, чтобы эта программа ни в чем не уступала коммерческим аналогам. И словно в ответ на чайник Юта, в Blender был интегрирован свой собственный «нестандартный» объект — обезьянка по имени Сюзанна.
Модель этой обезьянки имеет не очень сложную, но нетривиальную геометрию, что идеально подходит для тестовых сцен и изучения настроек рендеринга. Это низкополигональная модель, состоящая из 500 поверхностей.
Впервые голова шимпанзе появилась в Blender 2.25. Именно тогда, в январе-феврале 2002 года, стало понятно, что компания NaN, которая занималась продвижением тогда еще платного 3D-редактора Blender — банкрот, а потому не сможет вести дальнейшую разработку этого проекта. Её программисты добавили обезьянку в качестве своеобразного пасхального яйца в последний релиз программы, созданный компанией NaN. После этого лицензия Blender была изменена на GNU GPL, на откуп от кредиторов собрали деньги, и 3D-редактор стал бесплатным.
Смоделировал знаменитую объезьянку Вильем-Пол ван Овербрюгген (Willem-Paul van Overbruggen), известный также под ником SLiD3. Он же и дал имя, взяв его из весьма специфической комедии Кевина Смита (Kevin Smith) «Джей и молчаливый Боб наносят ответный удар» (Jay and The Silent Bob Strike Back). В этом фильме присутствовал орангутанг по имени Сюзанна.
Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)
Орангутанг Сюзанна и актер Джейсон Мьюз (Jason Mewes)
Сюзанна стала настоящим символом бесплатного 3D-редактора. В 2003 году был даже учреждён специальный конкурс для художников, работающих в Blender. Ежегодный конкурс получил название Suzanne Awards, а в качестве приза победителям вручается статуэтка обезьянки Сюзанны.
#Корнельская коробка: эксперименты над светом
Один из наиболее важных этапов работы над трехмерной сценой — визуализация. И тут, нужно сказать, далеко не все зависит от пользователя. В некоторых случаях даже доскональное знание параметров рендеринга не является гарантией высокой реалистичности изображения. Качество финальной картинки определяется условиями визуализации и, самое главное, алгоритмом просчета освещенности.
В реальном мире всем управляют физические процессы. Законы оптики, а также свойства материалов определяют картину окружающего нас мира. Стеклянные предметы воспринимается нашими глазами как прозрачные, лимонная кожура кажется рельефной, а ледяная изморозь — матовой. Алгоритм трехмерной визуализации, используемый для рендеринга, старается повторить все эти явления и свойства материалов, смоделировав физические процессы. Однако проблема заключается в том, что этот алгоритм несовершенен и, как в любой школьной задачке по физике, использует множество допущений и условностей.
Например, простейший принцип вычисления теней — трассировка. Он дает представление лишь о том, где будет проходить контур отбрасываемой тени. Однако в реальной жизни тени не всегда бывают резкими — чаще всего имеет место многократное переотражение света, когда луч несколько раз отражается от объектов, перенося на другие участки цвет соседних объектов и делая тени «мягкими». В трехмерной графике это свойство описывается алгоритмами глобальной освещенности.
В 1984 году команда ученых в отделе графики Корнельского университета занималась разработкой новых алгоритмов трассировки света. Их работа называлась «Моделирование взаимодействия света с диффузными поверхностями». Для обывателя это название ничего не скажет, зато специалист по трехмерной графики безошибочно угадает в этой фразе один из принципов просчета света в трехмерной сцене — «глобальная освещенность». В том же году на популярной выставке Siggraph специалисты Корнельского университета продемонстрировали преимущество своей системы на примере простенькой трехмерной сцены — полого кубика, внутри которого располагались простейшие примитивы.
Этот кубик играл роль комнаты, замкнутого помещения, служил упрощенной моделью для симуляции реалистичного распространения света. Модель с коробкой, получившая название Cornell box, исключительно проста, свет в ней совершает предсказуемые отражения, и поэтому нехитрая конструкция оказалась очень практичной и удобной. Настолько удобной, что ее и по сей день используют специалисты по трехмерной графике, настраивая алгоритмы визуализации и тестируя новые методы вычислений освещенности.
Стенки внутренней части корнельской коробки окрашены в разные цвета. Так, левая сторона имеет красный цвет, правая — зеленый, задняя стенка, а также «потолок» и «пол» — белые. Это необходимо для того, чтобы исследователь, проводящий опыты на данной модели, смог увидеть перенос цвета на соседние поверхности. Простейший пример такого эффекта вы можете наблюдать сами — поставьте на чистый белый лист бумаги что-то очень ярко-жёлтое, и вы увидите, как по периметру этого предмета лист приобретет желтоватый оттенок. Если проводить визуализацию по алгоритмам глобальной освещенности, в корнельской коробке произойдет аналогичный эффект.
#Первые трехмерные компьютерные анимации
Исследовательская лаборатория Белла (Bell Laboratories) всегда была одной из самых крупных и перспективных команд ученых. Они занимались самыми насущными проблемами в различных областях науки. За годы своего существования ученые Bell Laboratories семь раз удостаивались Нобелевской премии.
И вполне закономерно, что первая трехмерная симуляция была выполнена именно специалистами этого центра. В 1963 году один из сотрудников Bell Laboratories по имени Эдвард Заяц (Edward E. Zajac) продемонстрировал написанную на «Фортране» программу симуляции движения спутника.
Эдвард Заяц, создавший с помощью компьютера первую 3D-анимацию
Эдвард Заяц, создавший с помощью компьютера первую 3D-анимацию
Он не ставил перед собой цель создать первую трехмерную анимацию, но получилось именно так.
Фрагмент 3D-анимации 1963 года
Фрагмент 3D-анимации 1963 года
В то время он работал в отделе математических исследований и занимался математическим моделированием для создания механизмов с двухгироскопической системой стабилизации, которая могла применяться в первых коммуникационных спутниках. Используя программу ORBIT (написанную другим сотрудником Bell Laboratories), ученый обработал свои выкладки, получив набор перфокарт с результатами. С помощью компьютерного записывающего устройства General Dynamics Electronics Stromberg-Carlson 4020 он распечатал микрофильм с анимацией.
Устройство, для печати на плёнке SC-4020
Устройство, для печати на плёнке SC-4020
Сюжет ее прост — два объекта связаны друг с другом силой гравитации и один предмет вращается вокруг второго как, скажем, Луна вокруг Земли. Графика, как вы видите, минимальна, но это 1963 год, и это действительно первая 3D-анимация.
Другой сотрудник Bell Laboratories, который стремился найти способ заставить компьютер рисовать трехмерную анимацию — Майкл Нолл (A. Michael Noll).
Майкл Нолл
Майкл Нолл
С помощью компьютера IBM 7094 в 1965-66 годах он сделал несколько коротких фильмов, как, например, «компьютерный балет», где при наличии хорошего воображения можно разглядеть фигурки одноногих танцоров, которые перемещаются в трехмерном пространстве. Скорее всего, это балет на льду. В качестве «танцоров» была взята шарнирная конструкция, состоящая из нескольких узловых точек. Такой вариант позволил упростить просчеты.
А чтобы ни у кого не осталось сомнений, в том, что эта анимация трехмерная, Майкл Нолл визуализировал ее в стереоскопическом режиме, прорисовав видео отдельно для правого и для левого глаз. Помимо «компьютерного балета», у Майкла было еще несколько занятных стереоскопических анимаций с четырехмерным кубом, четырехмерной сферой и др. Все изображения на анимации «перевернутые», то есть слева картинка для правого глаза, а справа — картинка для левого глаза. Так что, если вы захотите их посмотреть, фокусируйте зрение перед экраном монитора.
#Первая 3D-модель автомобиля: как сканировать руками
Производство многих вещей в середине прошлого века было куда медленнее по сравнению с тем, как это происходит сейчас. Процесс создания прототипа, скажем, автомобиля, был очень длительным и сложным. Но все изменилось, когда Айвен Эдвард Сазерленд (Ivan Edward Sutherland) занялся разработкой интерактивного интерфейса, который помогал бы человеку и компьютеру «общаться» друг с другом.
Когда-то Айвена Сазерленда спросили — как он мог за такое короткое время придумать и создать столько революционных идей, от концепции интерфейса всех САПР-систем до объектно-ориентированного подхода к программированию. В ответ Сазерленд только улыбнулся и развел руками: «Но мы же тогда не знали, что это все так сложно!».
Еще в 1963 году в рамках своей диссертации Айвен Сазерленд продемонстрировал «робота-чертежника» (это неофициальное название проекта — Robot Draftsman). Эта программа стала первым звеном в эволюции систем автоматического проектирования, которые сегодня известны под именем Sketchpad.
С помощью компьютера и подключенного светового пера операционист мог рисовать прямо на экране дисплея. Компьютер определял координаты точек касания светового пера, а затем просчитывал геометрию кривой, прямой или геометрической фигуры и практически мгновенно выводил результат на экран.
Примеры работ, выполненных с помощью Sketchpad, из официального руководства к данной системе
Примеры работ, выполненных с помощью Sketchpad, из официального руководства к данной системе
Простая по сегодняшним меркам, программа Sketchpad требовала фантастических вычислительных мощностей того времени. Она запускалась на компьютере TX-2, который занимал несколько комнат исследовательской лаборатории имени Линкольна Массачусетского технологического института.
Лаборатория в Массачусетском технологическом институте
Лаборатория в Массачусетском технологическом институте
На видео ниже Сазерленд демонстрирует возможности нового человеко-машинного интерфейса.
Его система давала возможность творить невероятные для 1960-х годов вещи — по точкам рисовать линии и создавать на экране самые настоящие чертежи. А еще Sketchpad позволяла вносить изменения по ходу работы и масштабировать уже готовые элементы рисунка.
Одно из самых важных требований к Sketchpad, которое выдвигал Айвен, — точное выполнение инструкций оператора. Реализовать это было довольно сложно, так как пользователь мог «промахнуться» в нужной точке, да и само устройство ввода данных было несовершенным. Чтобы устранить эту проблему, в Sketchpad была использована система так называемых ограничителей. Эти ограничители позволяли абсолютно точно манипулировать деталями чертежа, например делать прямые параллельными или придавать двум отрезкам одинаковую длину. Для использования этих ограничителей применялся целый набор функциональных клавиш, который располагался рядом с экраном для ввода данных.
Схема манипулятора «световое перо», который использовался при работе со Sketchpad
Схема манипулятора «световое перо», который использовался при работе со Sketchpad
А вот на этой презентации автор первого программного обеспечения для САПР уже показывает вполне рабочий вариант интерактивного интерфейса с несколькими окнами проекций и очень здраво рассуждает о потенциальных возможностях работы с 3D.
За разработку системы Sketchpad Айвен был награжден самой престижной премией в информатике, вручаемой Ассоциацией вычислительной техники, — премией Тьюринга.
Современные преподаватели могут многому поучиться у Сазерланда. Этот человек полностью отдал себя науке. Да что там себя — он в прямом смысле слова не пожалел для этой цели автомобиль. Вместе с своими студентами Айвен вручную сделал первый трехмерный цифровой скан Volkswagen Beetle. Да, именно вручную.
Задача была поставлена очень сложная. Тогда не было цифровых сканеров или цифровой фотографии, поэтому все приходилось делать «в лоб». Студенты как муравьи ползали по автомобилю и с помощью специальных мерных линеек рисовали на нем полигональную сетку, то, что сегодня специалисты по трехмерной графики называют wireframe, или каркас трехмерной модели. Перед началом работы с автомобиля были сняты некоторые детали — колеса, бампер и прочее, так как «оцифровывалась» одна основа — со всех сторон, сверху донизу. Оправдана ли была такая жертва? Конечно! Благодаря издевательствам над «жуком», Сазерленд разработал методику проецирования полигональных сеток на объект, благодаря чему и появилось современная 3D-графика.
Результат «ручной» оцифровки автомобиля
Результат «ручной» оцифровки автомобиля
А еще Айвен сумел заинтересовать своей работой множество людей, которые продолжили развивать направление компьютерной 2D- и 3D-графики. И на фоне успеха все как-то забыли, что Volkswagen Beetle вообще-то принадлежал жене Айвена, да и ее реакция на поступок мужа осталась загадкой.
Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса
Визуализированный вариант автомобиля Сазерленда на основе полученного каркаса
А кем же были эти «муравьи»-студенты? Среди них было немало ярких личностей. Одного из тех, кто делал модель автомобиля, звали Джон Эдвард Уорнок (John Edward Warnock). Через десять лет после этой истории он станет соучредителем всем известной компании Adobe.
Другой молодой выпускник — Алан Кей (Alan Curtis Kay), тот самый, который изобрел концепт современных планшетных ПК под названием DynaBook (см. статью «Маленькие истории большого дизайна: от электробритв до планшетов»).
В создании этой модели также принимал участие младший научный сотрудник Буй Туонг Фонг (B˘i T˝ờng Phong). Сегодня модель Фонга используется во многих трехмерных движках.
Именно на модели первого трехмерного автомобиля Фонг протестировал свою знаменитую систему затенения, которая впоследствии получила его имя — Phong. В любом трехмерном редакторе, где имеется возможность настройки материалов, среди прочих вариантов можно выбрать алгоритм затенения по Фонгу. Метод Фонга основан на интерполяции нормалей поверхности по растрированным полигонам и позволяет вычислить цвет пикселей с учетом интерполированной нормали и модели отражения света.
Проект Сазерленда практически не имел аналогов. Единственная система, которая имела схожий принцип, — коммерческая разработка General Motors и IBM, которая называлась DAC-1 (Design Augmented by Computers). Эта консоль также управлялась при помощи светового пера, но была менее удобной и к тому же недешевой.
#Одной левой: первая компьютерная анимация руки
Привычка гнаться за мощностями компьютерного железа привела к распространенному среди пользователей убеждению, будто без современной видеокарты невозможно получить 3D-изображение. Но это совсем не так. Представьте себе, что на третье измерение замахивались более полувека тому назад. Еще до того знаменательного момента, когда компьютер по-настоящему стал персональным, инженеры уже могли заниматься (и занимались) трехмерной анимацией. И приложил к этому руку будущий основатель и президент студии Pixar, а также глава Walt Disney Animation Studios и DisneyToon Studios Эдвин Кэтмелл (Edwin Catmull).
Причем сделал это в буквальном смысле слова — он оцифровал свою левую кисть руки и создал демонстрационную анимацию движений пальцев на ней.
Кэтмелл с детства интересовался процессом создания анимации. У него даже был собственный самодельный стенд, на котором Эдвин пытался делать первые примитивные мультфильмы. Однако, как и многие другие выпускники высших учебных заведений, он не сразу нашел свое призвание. Сразу после окончания университета Юты он сначала пошел работать в компанию Boeing, но уже через год экономический кризис заставил Боинг сократить тысячи сотрудников, и Эд оказался среди них. После этого недавний выпускник снова вернулся в университет, чтобы продолжить обучение в аспирантуре.
Айвен Эдвард Сазерленд, работавший в то время профессором в университете Юты, стал для Кэтмелла наставником и поддержал молодого аспиранта в стремлении изучать интерактивную компьютерную графику. Кэтмелл воспользовался тем же методом, что и Айвен для оцифровки своего автомобиля. Создание анимации трёхмерной руки проводилось в несколько этапов. По сравнению с масштабным проектом Айвена по оцифровке Volkswagen Beetle, Кэтмеллу было несколько проще — он просто разрисовал слепок своей левой руки, отметив на ней расположение ребер и узлов полигональной сетки. Далее в лаборатории эта сетка была считана специальным устройством, и по полученным данным была составлена трехмерная модель.
Процесс оцифровки руки Кэтмелла
Процесс оцифровки руки Кэтмелла
Кэтмелл написал программу для анимации этой модели. Эта анимация была визуализирована и использована как хорошее дополнение к дипломному проекту. Поверхность руки деформировалась, пальцы сгибались и разгибались, а сама кисть поворачивалась на экране. Для большего эффекта Кэтмелл даже позволил «заглянуть» внутрь модели, продемонстрировав зрителю, что 3D-рука полая внутри.
Работа молодых ученых не пропала даром. Модель руки, вращающаяся в трехмерном пространстве, использовалась в фантастическом фильме Futureworld ("Мир будущего") 1976 года. Он повествовал о курортном отеле, обслуживающий персонал которого состоит из роботов. Для имитации высоких технологий в ход пошло все — и отрендеренная анимация, и каркас трехмерной модели.
Помимо этой трехмерной руки, студентами была сделана еще более сложная работа — анимированная модель головы человека.
Ее подготовил друг и коллега Кэтмелла — Фред Парк (Fred Parke), который также принимал участие в оцифровке модели левой руки Эдварда.
Фред Парк
Фред Парк
Он даже попытался синхронизировать звук и движение губ компьютерной модели. И это в 1974 году!
Модель человека студенты между собой называли Болди, то есть «лысый». Ее каркас состоял из 900 треугольников.
В середине восьмидесятых лаборатория Доминика Массаро (Dominic Massaro) продолжила работу над этой моделью и уже на более продвинутой технике «оживила» голову, наделив ее большим набором речевой мимики. Сам же профессор Массаро слегка изменил имя на итальянский манер — Baldi и зарегистрировал как торговую марку. И уже не так давно под его началом был запущен выпуск приложения для iOS, в которых присутствует говорящая 3D-голова, сделанная еще в семидесятых годах.
#Кошечка и уравнения: советская компьютерная анимация
Термин «компьютерная анимация» в середине прошлого века был чем-то уж очень экзотическим. Компьютеры, равно как и печатающие устройства, были только в распоряжении исследовательских организаций и, понятное дело, у военных. Ну, а в Советском Союзе про компьютерную анимацию люди и вовсе не слышали, за исключением небольшой группы энтузиастов, которые предполагали, что с помощью вычислительной техники вполне реально «нарисовать» анимацию. Один из таких людей — математик Николай Николаевич Константинов.
Этот человек — настоящая легенда отечественной математики. Константинов — один из самых талантливых и неординарных ученых, который сумел не только сделать огромный вклад в отечественную науку и систему образования, но и передать свои знания последующим поколениям. Среди его учеников очень много крупных математиков и учёных, не говоря уже про победителей математических соревнований и олимпиад.
В далеком 1968 году он создал первую компьютерную анимацию на полторы минуты. Объектом его внимания стала кошка, отсюда и название мини-мультфильма — «Кошечка».
Математик решил создать мультфильм, запрограммировав движения кошки и распечатав каждый кадр анимации с заново перерисованным силуэтом. Реализация подобной идеи могла возникнуть лишь у человека, который не только превосходно разбирается в высшей математике, но и видит ее практическое применение.
Поскольку мышцы животного, сокращаясь, управляют ускорением тех или иных частей тела, Константинов решил, что основой алгоритма движений животного вполне могут стать дифференциальные уравнения второго порядка. Графическая интерпретация силуэта кошки была достигнута с помощью символьного массива. Математик разбил контур кошки на параметрические «бруски», а затем с помощью гипотетических формул, описывающих походку животного, воссоздал простенький сценарий движений, который включал несколько шагов, поворот головы и замедление.
В этой работе ему помогали два студента МГУ — Владимир Пономаренко и Виктор Минахин. Николай Николаевич вспоминал потом о забавной детали этого проекта: для того, чтобы вывести правильную формулу движений кошки, Виктор пытался изображать кошку — становился на четвереньки и шагал по полу, стараясь понять, какие мышцы включаются в работу.
Хотя сам Константинов впоследствии и опровергал реалистичность достигнутого результата, ссылаясь на гипотетичность математических выкладок, однако трудно не заметить, насколько правдоподобно двигается в кадре животное.
На кафедре общих проблем управления механико-математического факультета Московского университета была подготовлена теоретическая часть этой задачи, а отладка самой программы по просчету дифференциальных уравнений и ее эксплуатация производилась в Вычислительном центре Московского государственного педагогического института. Компьютер, который использовался для просчетов этой анимации, носил гордое название БЭСМ-4 («Большая Электронно-Счетная Машина»).
БЭСМ-4 имела очень мало общего с тем, что мы сегодня называем компьютером. На всю страну было выпущено всего 30 таких устройств. Оперативная память в БЭСМ-4 была сделана на ферритных сердечниках (8192 слова, слова 45-разрядные, организованные в два куба по 4к слов). Производительность этого «шкафа» составляла до сорока тысяч операций в секунду. Принтер для большой электронно-счётной машины имел не менее ёмкое имя — алфавитно-цифровое печатающее устройство АЦПУ-128.
Если присмотреться к покадровой прорисовке, можно увидеть незначительные случайные нежелательные артефакты — по-своему это первые «глюки» компьютерной визуализации, то есть рендеринга.
Отдельные кадры анимации «Кошечка»
Отдельные кадры анимации «Кошечка»
Что касается рожицы, которую кошка строит в начале короткометражки — это работа не математика, а художника-весельчака, который делал анимацию еще для незабываемого советского фильма «Веселые ребята». Его тоже пригласили для работы над этим проектом.
Интересно, что в то время Константинов не был единственным человеком в СССР, кто использовал метод компьютерной анимации. Однако другие попытки визуализации на компьютере, такие как, например, анимация процессов внутри молекулы ДНК, были скучны и малопонятны неподготовленному зрителю.
#Заключение
Сейчас компьютер — это универсальный инструмент. Он может использоваться и для рисования, и для создания анимации, и для подготовки видео. Единственное, чего ему не хватает, — творческого начала. Впрочем, возможно, и это дело времени.
Появление компьютерной техники и развитие компьютерной графики в каком-то смысле позволило человеку по-новому взглянуть на мир. Многое из того, что раньше было недоступным для человеческого зрения, то, что было слишком быстрым или слишком медленным, очень маленьким или чересчур большим, — в компьютерной модели стало очевидным и понятным. Медицина, техника, инженерия, космос — компьютерная графика используется в любой сфере деятельности человека. То, что начиналось как обычная световая точка на экране, один пиксель, отображение минимальной компьютерной информации, постепенно трансформировалось в линию, двигающийся образ на экране, а затем в виртуальную и дополненную реальность. И предел этой эволюции пикселя находится где-то далеко за гранью человеческого понимания. И скорее всего, самое интересное еще впереди.

Комментариев нет:

Отправить комментарий