Пиксели окружают нас — на экранах смартфонов и компьютеров, на рекламных щитах и дисплеях электронных часов. От наивного пиксель-арта до умопомрачительных 8K-рендеров, большая часть того, что мы видим, сделана из пикселей. Мы редко о них задумываемся, а ведь пиксели таят в себе неожиданную красоту компьютерных вычислений и служат фундаментом нашей виртуальной повседневности.
Автор этой книги знаком с пикселями как никто другой. Элви Рэй Смит — один из основоположников современной анимации, соучредитель Pixar и подразделения компьютерной графики Lucasfilm. Посвятив больше 50 лет работе с цифровыми изображениями, Смит написал их исчерпывающую и увлекательную биографию, в которой находится равное место для размышлений об истории искусства, технологиях и бизнесе. «Пиксель» проведет вас от открытий Фурье на заре Французской революции, первых компьютеров, пикселей и хакеров до создания «Истории игрушек» и «Ледникового периода», роли Стива Джобса в судьбе Pixar и прогресса в VR и нейросетях.
Alvy Ray Smith
A Biography of the Pixel
© 2021 by Alvy Ray Smith, Massachusetts Institute of Technology
© А. Снигиров, перевод, 2023
© ООО «Индивидуум Принт», 2023
Элисон, моей любимой жене,
Сэму и Джесси, моим дорогим сыновьям, и Лео, Атти, Джорджи, Оги и Эвелин, моим обожаемым и разрушительным внукам
Начало: сигнальное событие
Не делай себе кумира и никакого изображения того, что на небе вверху, и что на земле внизу, и что в воде ниже земли.
В начале — конечно, задолго до библейского табу — было наскальное изображение. В мерцающем свете пламени казалось, что оно двигалось. Изображение на стене пещеры Альтамира в Испании — это одновременно
Рис. 0.1 Шагающий кабан. Альтамира, ок. 20 000 г. до н. э.
Да что там палеолит — всего два столетия назад, в 1800 году,
Все это время картина и средства ее создания оставались едины. Никто даже и не задумывался о возможности разделить их. Да и чем могло бы быть изображение без носителя?
Затем, в начале XIX века, изобретение фотографии положило начало миру, в котором есть то, что мы сейчас называем «медиа», — средства передачи информации. Настала эра, когда оказалось возможным точное воспроизведение. В конце XIX века появился кинематограф, а в начале XX — телевидение. Все медиа тогда были аналоговыми, сообщения передавались пропорционально и непрерывно. Появившаяся возможность переносить изображение с одного носителя на другой намекала, что в изображении есть нечто, существующее отдельно от носителя.
Понятие «цифрового» кодирования информации — дискретного и прерывистого — практически не рассматривалось по крайней мере до 1933 года. К середине 1950-х существовало лишь несколько цифровых изображений. Немногочисленные осведомленные о них специалисты считали, что такие легкомысленные эксперименты с картинками отвлекают внимание от серьезных проектов цифровых компьютеров. Все остальные изображения в мире создавались и воспроизводились исключительно аналоговыми средствами: маслом на холсте, типографской краской на бумаге, эмульсией на фотопленке и некоторыми другими.
На стыке тысячелетий, к 2000 году, произошло неожиданное событие — Великая цифровая конвергенция. Единый новый цифровой носитель — всемогущий бит — вытеснил почти всех аналоговых конкурентов. Бит стал универсальным носителем информации, а особая упаковка из битов — пиксель — покорила мир. Стало возможным, так сказать, отделить картину от холста. В результате большинство изображений в мире теперь существуют в цифровом виде. Аналоговые изображения практически исчезли, повсеместно вытесненные цифровыми. Возможно, лишь музеи и детские сады — те редкие места, где есть вероятность найти аналоговые изображения.
Моя книга расскажет об этом революционном событии тысячелетия, восславив Цифровой Свет — обширное царство, включающее в себя любое изображение, созданное из пикселей. Оно простирается от паркоматов до виртуальной реальности, от приборных панелей до цифрового кино и телевидения, от аппаратов МРТ до видеоигр, дисплеев мобильных телефонов и многого, многого другого — всего, что использует пиксели.
Самое удивительное в новом носителе — это его невидимость. Невидимы биты и состоящие из них пиксели. Не следует путать, как это часто бывает, пиксели, о которых я говорю, с теми маленькими светящимися областями на экране, которые называются элементами отображения. Техническая суть моей книги — объяснить, как делаются видимыми изображения, состоящие из невидимого материала, как цифровые пиксели преобразуются в аналоговые элементы отображения.
Великая цифровая конвергенция пришлась на границу тысячелетий по чистой случайности, но довольно удачно. Первый цифровой фильм «История игрушек» студия Pixar выпустила в 1995 году. В 1998 году впервые передан цифровой телевизионный сигнал высокой четкости (HDTV). Цифровая видеокамера, способная по качеству съемки составить конкуренцию традиционному пленочному оборудованию, потрясла рынок в 1999-м. Цифровой диск для записи видео, получивший название DVD, дебютировал в 2000 году. Apple представила прорывной смартфон iPhone в 2007 году. То, что раньше было книгами, фотографиями, кино и телевидением, превратилось — в мгновение ока, по меркам истории — просто в последовательности битов. Изменения произошли настолько быстро, что уже выросло молодое поколение, которое, возможно, не сталкивалось с нецифровыми медиа нигде, кроме последних аналоговых оплотов — дошкольных учреждений и музеев изобразительных искусств.
Все мы теперь плывем по цифровому океану пикселей. Я ношу с собой миллиарды их и подозреваю, что вы тоже. Однако странно, что на это глобальное изменение в нашем повседневном опыте до сих пор не обращали серьезного внимания. Возможно, большинство людей еще не осознали, что Цифровой Свет — это единая унифицированная технология. И это новая идея. Прояснить ее — главная цель моей книги.
Всего три идеи — волновые колебания, машинные вычисления и пиксели — лежат в основе всей кажущейся сложности Цифрового Света. Каждая из них интуитивно проста, глубока и красива. Это краеугольные камни нашего современного мира, и, чтобы разобраться в них, не нужна математика. Первые три главы этой книги будут посвящены этим фундаментальным идеям и увлекательным историям о людях, которые сделали возможным их практическое применение.
Идея волновых колебаний — аналоговая. Вы, наверное, знаете, что музыка состоит из одновременных звуковых волн разной частоты (высота тона) и амплитуды (громкость). Два столетия назад французский математик Жозеф Фурье распространил это понятие на
Компьютеры — идея цифровая. Машины, ускоряющие вычисления, — пример проникновения цифровых технологий в повседневную жизнь. Но сама идея вычислительных машин возникла только в 1936 году, когда англичанин Алан Тьюринг придумал их, чтобы продемонстрировать возможность аккуратного исполнения систематических процессов. Это может показаться непонятным и скучным человеку, но достаточно взглянуть на последствия, чтобы убедиться в обратном. Компьютер стал самым гибким и универсальным инструментом человека. А потрясающая скорость, с которой он производит вычисления, — величайшее инженерное чудо всех времен. Скорость работы компьютеров невообразимо и многократно усиливает возможности нас, ничтожных людишек.
Но вся ошеломляющая, изменившая наш мир мощь компьютеров на самом деле сводится к аккуратному переключению между двумя состояниями, часто называемыми 0 и 1. Все их вычисления — это биты. Это может показаться тривиальным, но я надеюсь вдохновить вас неожиданной красотой и загадочностью компьютерных вычислений. Опять же, никакой математики нам не потребуется.
И наконец, самая важная, но наименее известная из этих трех фундаментальных идей, лежащих в основе моей книги: вы можете легко преобразовывать колебания в биты и наоборот, перемещаться между аналоговым и цифровым мирами. Сама идея восходит к 1933 году, когда советский математик Владимир Котельников сформулировал ее в том виде, в каком мы ее знаем сегодня. Ее официальное название — теорема отсчетов или теорема выборки. Вся эта книга — биография пикселя, а
После того как я трижды на двух страницах упомянул, что
Распространено заблуждение, что пиксель — это просто маленький цветной квадратик. Но на самом деле пиксель — это глубокая абстрактная концепция, связывающая воедино весь наш современный медиамир. Это организующий принцип Цифрового Света.
Визуальная картина состоит из бесконечного количества цветных точек. Бесконечность по определению слишком велика, чтобы иметь с ней дело. Но как мы можем заменить непрерывную визуальную картину конечным числом дискретных битов — пикселей — и не потерять при этом бесконечное количество информации между ними? Теорема отсчетов подсказывает, как это сделать. Это секрет, который заставляет работать современный медиамир.
Теорема отсчетов, базирующаяся на преобразованиях Фурье, возникла почти одновременно с идеей компьютера в середине 1930-х. Они встретились и зачали ребенка, Цифровой Свет, предмет этой книги.
Вторая часть книги посвящена истории двух высоких технологий, сформировавших Цифровой Свет: компьютерам и кинематографу. Как и в первой части, я доступно представлю каждую технологию и расскажу историю ее создания, попутно развенчав некоторые распространенные мифы. Подлинные истории всегда более интригующие, вдохновляющие и замысловатые, чем привычные мифы.
В царстве Цифрового Света мы можем
В процессе работы над книгой я сделал для себя немало удивительных открытий, но главным из них стал тот факт, что первые пиксели появились уже на первых компьютерах. Они родились вместе. Таким образом, выяснив, какие компьютеры были первыми в мире, мы также узнаем, когда и где появились первые пиксели. Вот почему глава о компьютерах во второй части называется «Восход Цифрового Света: ускорение». Она проиллюстрирована первым изображением, сделанным с помощью пикселей в 1947 году. Еще я расскажу там о законе Мура, движущей концепции огромной силы:
Все хорошее в компьютерах каждые пять лет становится лучше на порядок.
Несмотря на кажущуюся простоту, это заявление носит революционный характер. То, что в 1965 году, когда Гордон Мур сделал свое наблюдение, равнялось 1, сейчас составляет около 100 миллиардов, а к 2025 году достигнет 1 триллиона. Это взрыв сверхновой. Закон Мура — это динамо-машина невероятной мощности, стоящая на протяжении более 50 лет за каждым витком развития компьютеров, в том числе и Цифрового Света.
Цифровое кино — тоже часть Цифрового Света — происходит от классического кинематографа. В главе под названием «Фильмы и анимация: время отсчетов» рассматривается эта доцифровая технология создания движущихся изображений. Это также помогает проиллюстрировать саму идею дискретной выборки: знакомые нам «кадры» на дрожащей кинопленке на самом деле являются набором отсчетов.
Глаголы
История Цифрового Света слишком обширна, чтобы охватить ее в одной книге, поэтому нужно выбрать, на чем конкретно сосредоточиться. В этой книге я расскажу о Цифровом Свете от первых пикселей в середине ХХ века до первых цифровых фильмов в начале нового тысячелетия. Неудивительно, что я решил написать о конкретных технологиях, людях и событиях, знакомых мне по личному опыту. Я родился до появления компьютеров — и пикселей, — и моя карьера в основном связана с созданием первых цифровых фильмов. Пройденный мною путь поможет объяснить, как Цифровой Свет стал универсальным явлением нашей жизни, поскольку компьютерные игры и виртуальная реальность не так уж далеки от цифрового кино.
В трех главах третьей части рассказывается, что происходило с Цифровым Светом после его восхода (который описан в главе 4) и появления первых пикселей в середине ХХ века. Закон Мура 1965 года четко разделяет историю Цифрового Света на две эпохи: Эпоху 1, до закона Мура, и Эпоху 2 — после. Глава под названием «Образы грядущего» посвящена Эпохе 1. Две другие главы, «Оттенки смысла» и «Миллениум и кино», повествуют о масштабных изменениях, вызванных законом Мура в Эпоху 2.
Первая Эпоха была временем огромных, но ужасно медленных компьютеров. Немногие счастливчики имели доступ к этим дорогостоящим монстрам. Этот период установил Центральную Догму компьютерной графики: воображаемый мир внутри компьютера описывается с помощью трехмерной евклидовой геометрии и ньютоновой физики. За ним наблюдает виртуальная камера, создающая проекцию своей точки обзора при помощи линейной перспективы Ренессанса для отображения на экране.
События Эпохи 2 я опишу примерно до 2000 года. Ее кульминацией стало появление на границе тысячелетий трех великих цифровых киностудий: Pixar, DreamWorks и Blue Sky. Их истории тесно переплетаются.
Я не думаю, что, прочитав эту книгу, вы сможете самостоятельно создать цифровое кино, но надеюсь, что поймете, как оно делается. Это примерно как уроки музыки в школе: освоив полный курс, вы вряд ли сочините сюиту для виолончели в духе Баха, но научитесь понимать, как устроена музыка, и еще сильнее полюбите творчество Баха. Понимание, как создается современный цифровой фильм, например «История игрушек», может иметь тот же эффект.
Исследуя историю технологий в ходе работы над этой книгой, я наметил три глобальные темы.
Тема 1. Условия для прогресса: идея, хаос и тиран. Для прогресса новой технологии необходимы свежая идея, разрушительный хаос, который создает потребность в идее и подстегивает ее развитие, и тиран или тирания, которые — часто неосознанно — защищают ее создателя или создателей, пока они воплощают идею.
Приведу один пример: у Жозефа Фурье возникла великолепная идея, что непрерывность — это музыка, то есть просто сумма волн разной амплитуды и разной длины. Хаос Французской революции привел его в Париж, а возвышение Наполеона обеспечило возможность заниматься наукой. Тиран Наполеон отправил Фурье в сельскую местность подальше от Парижа. В безопасном месте на протяжении долгих лет Фурье развил свою идею в волновую теорию, которая в итоге вернула его в Париж. Его идея повлияла на дальнейшее развитие науки и технологий, в том числе и Цифрового Света.
Тема 2. «Высокие» в выражении «высокие технологии» гарантирует, что их история не сводится к примитивному нарративу. Я неоднократно с ужасом обнаруживал, что почти всегда общепринятая история технологий полна ошибок. Дело не в отсутствии свидетельств того, как все обстояло на самом деле. Проблема, как мне кажется, заключается в нашей любви к простым историям, основанным на окончательном триумфе гениального творца после многочисленных испытаний и невзгод. Во многих университетах есть кафедры истории науки, но история технологий редко становится предметом научных исследований. В результате это направление захватывают страны, компании или частные лица, извлекающие выгоду из самовозвеличивания. Тираны склонны приписывать себе все достижения. В этой книге будет много таких примеров.
Чтобы не попасть в ловушку упрощенного повествования, я полагаюсь на генеалогию. Для истории каждой технологии я разработал семейное древо — графическую блок-схему для учета всех задействованных людей, мест, идей и машин. На ней сразу видно, кто, что и от кого получил (всеми правдами и неправдами) и как взаимодействовали участники процесса. Вряд ли при таком подходе найдется схема, где все происходит от одного человека. Ответвления одного древа переходят к другому, а затем к третьему. Мы наблюдаем, как они переплетаются, по-разному воздействуя на следующие поколения. Таким образом, каждая глава книги становится чем-то вроде расширенной подписи к блок-схеме, дополненной подробными биографиями вовлеченных людей и доступным изложением их идей.
Тема 3. Технологии возникают в результате взаимодействия различных видов творчества. Две классические ошибки, которые допускают, излагая историю высоких технологий, заключаются в противопоставлении ученых и инженеров, а также технической изобретательности искусства. Я называю первое противопоставление битвой между
Давайте начнем наше почти двухвековое путешествие примерно с того момента, когда была написана знаменитая картина Жака-Луи Давида — но портрет Наполеона нам встретится гораздо менее лестный.
Основы: три великие идеи
1. Частоты Фурье: музыка мира
В Академии наук восседал знаменитый Фурье, теперь уже давно забытый потомством.
Вы знаете, кто такой Фурье?
Ответ разделит нас на две категории. Те, кто скажут «да», вероятно работают в сфере науки или технологий. Вполне возможно, что они на практике используют его великую идею прямо сейчас. Те, кто занимается искусством или гуманитарными науками, скорее всего, никогда не слышали о нем. И все же его идея прекрасна, элегантна и всеобъемлюща. И она изменила наш мир.
Но даже те, кто ответил утвердительно, вероятно, ничего не знают о нем как о человеке. Так что Виктор Гюго был прав. Потомки
Мало кто знает, например, что Жозеф Фурье чуть не лишился головы во время Французской революции. Или что Наполеон Бонапарт взял его с собой в Египетский поход для участия в экспедиции, обнаружившей Розеттский камень. Или что он был наставником Жана-Франсуа Шампольона, который расшифровал древнеегипетскую письменность. Или что он первым начал изучение парникового эффекта. Или что он защищал одну из первых женщин-математиков Софи Жермен, когда считалось, что женщинам не пристало заниматься науками.
Как я упоминал во введении, технологические прорывы часто происходят, когда в той или иной степени присутствуют следующие ингредиенты: великая научная идея, своеобразный хаос и один или два тирана.
Фурье сформулировал свою великую идею, находясь в полном хаосе. Его тираном был Наполеон, который сначала возвысил его, а затем отправил в провинцию. Возвышение подтолкнуло Фурье задуматься над великой идеей. Изгнание дало ему время, чтобы ее проработать.
Его идея зародилась из крошечного научного зерна, из размышлений о теории теплопроводности. За два последующих столетия наработки Фурье расцвели тысячами технологических решений. Его идея лежит и в основе концепции пикселя.
Всё на свете музыка
Великая идея Фурье заключается в следующем: весь мир — это музыка, все состоит из волн.
Это музыкальное озарение привело к появлению радио, что, пожалуй, неудивительно. Оно же привело и к появлению телевидения. Фактически среди его многочисленных потомков — все медиатехнологии, все различные медиа, которые слились во время Великой цифровой конвергенции. Короче говоря, великая идея Фурье завоевала мир и породила все громы и молнии современных средств массовой информации.
Вообще, эта идея распространена гораздо шире и выходит далеко за пределы медиа. Едва ли найдется какая-либо отрасль науки и техники, не затронутая ею. Электричество и магнетизм, оптика, дифракция рентгеновских лучей, теория вероятностей, анализ землетрясений и квантовая механика… Список можно продолжать и продолжать. Не будет преувеличением сказать, что Фурье изменил наше понимание мира.
Имена Исаака Ньютона и Альберта Эйнштейна хорошо известны даже гуманитариям. Закон всемирного тяготения первого и теория относительности второго получили международное признание еще при их жизни. Но памяти о Фурье на протяжении последних 200 лет не давали угаснуть только физики и инженеры. Они знали о его заслугах и чествовали Фурье как отца-основателя почти всех современных технологий. Их достижения в различных отраслях демонстрировали величие и универсальность идеи Фурье о волновой природе мира.
Самому Фурье принадлежит только первый, но крайне важный шаг. Он первым сформулировал эту идею математически и проверил ее экспериментально. Хотя он посадил лишь семя теории, из которого взойдут тысячи решений во многих отраслях науки, сам же он взрастил только первый такой цветок — описание теплового потока в твердых телах.
Столь неромантичная специализация — веская причина для запоздалого признания. Он стал «знаменитым Фурье» из Академии наук благодаря своей теории теплопроводности. Звучит менее поэтично, чем идея Эйнштейна о том, что гравитация — это искривление пространства-времени.
И все же великая идея Фурье гораздо более фундаментальна для современного опыта, чем теории Эйнштейна. Она, констатирующая музыкальную природу мира, так же прекрасна, как и концепция искривления пространства-времени, а еще — более доступна для понимания. У нее нет причин прятаться под непроницаемым покровом высшей математики.
Пришло время изменить оценку, данную Виктором Гюго, и воздать должное как самому великому человеку, так и его великой идее. Вездесущая современная технология Цифрового Света — то, что нужно, чтобы наконец оценить по заслугам Жан-Батиста Жозефа Фурье.
Жажда бессмертия
Жан-Жозеф Фурье родился 21 марта 1768 года в семье портного, в древнем провинциальном городе Осер, расположенном примерно в ста милях к юго-востоку от Парижа. Ему не исполнилось и десяти лет, когда родители умерли, оставив сиротами пятнадцать своих детей. Во Франции витало предчувствие Революции, а на американском континенте уже год как существовала новая страна, и ее посол Бенджамин Франклин очаровал Париж енотовой шапкой и кокетливыми манерами.
Видимо, в сироте Фурье было что-то особенное, потому что добрые люди из Осера позаботились, чтобы талантливый ребенок получил хорошее образование. Его пристроили в школу, которой руководил Жозеф Палле, некогда обучавший музыке Жан-Жака Руссо. Увы, нет никаких свидетельств, обладал ли музыкальными талантами человек, открывший музыку мира.
Затем Фурье там же, в Осере, поступил в Королевскую военную школу (на всю Францию насчитывалось всего 11 отделений этой школы). В этом ему снова помогли местные жители. В военных школах упор делался на естествознание и математику. Фурье особенно — даже маниакально — увлекала математика.
В 13 лет он собирал свечные огарки, чтобы после отбоя освещать шкаф-чулан, где до рассвета просиживал над математическими книгами. Душное и холодное убежище подорвало его здоровье на всю оставшуюся жизнь. Возможно, именно этот шкаф пробудил в нем особый интерес к проблеме теплопроводности.
Ночные самостоятельные занятия при свечах вскоре принесли плоды. Он получил школьную награду по математике, что стало началом его научной карьеры и в конечном итоге обессмертило его имя. Также он получил поощрение в области риторики, что подтолкнуло его к участию в политической жизни и заставило рано осознать свою смертность. Ораторские таланты чуть не погубили его прежде, чем успели развиться математические способности.
Сначала опасность не выглядела очевидной. Дальнейшее обучение в военной школе подразумевало армейскую карьеру, но Фурье так и не стал военнослужащим. Он был слишком слаб здоровьем и увлечен математикой. Поэтому, завершив обучение, Фурье нашел прибежище в церкви. Он стал послушником в аббатстве Святого Бенедикта на Луаре и преподавал математику другим послушникам. Тогда же он принял церковное имя Жан-Батист, которое использовал и в дальнейшем.
Фурье удалился в монастырь накануне Французской революции. Несколько сохранившихся писем показывают, что он смутно осознавал происходящее и в целом оставался к нему равнодушен. Гораздо сильнее Фурье беспокоился о своей будущей славе и недавно законченном сочинении по алгебре. «Вчера мне исполнился 21 год, — с горечью писал он в марте 1789 года. — В этом возрасте у Ньютона уже были претензии на бессмертие».
В сентябре он пишет еще одно письмо, где оплакивает судьбу своего алгебраического сочинения. Между двумя этими письмами началась Великая французская революция. Но в сентябрьском письме нет никаких упоминаний о ее бурных событиях.
Тем не менее после этого личный мир Фурье начал меняться. В декабре он представил перед Академией наук в Париже доклад об «алгебраических уравнениях» — вероятно, то самое сочинение, о судьбе которого он так сильно беспокоился.
Он покинул аббатство, так и не принеся обетов. Впрочем, вскоре революционное правительство вообще подавило монашеские ордена.
И все же следующие три года Фурье не проявлял революционного пыла. Вместо этого он преподавал математику в Осере. Он даже не подписал петицию революционного Народного общества Осера к Национальному конвенту в Париже с требованием суда над королем Людовиком XVI.
Однако в начале 1793 года, всего через месяц после казни монарха, мы уже слышим голос Гражданина Фурье.
Заря Французской революции, как известно, привела Вордсворта в восторг, и молодой Фурье, хотя и принял ее запоздало, испытывал похожие чувства. Свои ощущения он выразил менее искусно, чем поэт: «Можно представить себе ту возвышенную надежду, которая появилась у нас на установление правительства, свободного от королей и попов». Но страсть его была столь же сильна: «Я немедленно влюбился в это дело, по моему мнению, величайшее и прекраснейшее из всех, за которые бралась какая-либо нация».
Фурье быстро перешел от восторженных слов к непосредственному участию в политике. В феврале 1793 года он выступил с пламенной дебютной речью перед революционной коммуной в Осере, предложив план по набору местных рекрутов для армии Республики. Народное общество поддержало идею Фурье и пригласило его присоединиться к Комитету революционного надзора. Пламя Террора разгоралось все сильнее: десятки тысяч врагов государства расстались с жизнью на гильотине. Фурье благоразумно принял «приглашение».
Но наивный Фурье — совсем новичок — сразу совершил ошибку, поскольку выбрал максимально неудачное время для прихода в политику. Его блестящие способности к риторике вскоре привели к серьезным неприятностям. Он неблагоразумно использовал свое красноречие, чтобы спасти от казни трех жителей Орлеана. Неблагоразумие заключалось в том, что их включил в список своих врагов Робеспьер, управлявший машиной Террора.
Революционеры тут же освободили Фурье от всех полномочий за пределами Осера. Разочарованный, что не смог послужить делу Республики, он отправился в Париж и добился встречи с самим Робеспьером, чтобы оправдаться. Смелый поступок привел к обратному результату. Попытки помочь орлеанским узникам обеспечили ему место в списке главных врагов Робеспьера. В соответствии с извращенной логикой Революции и несмотря на протесты поддерживавших его граждан Осера, Фурье стал жертвой того самого Террора, которому пытался служить. 17 июля 1794 года его арестовали и бросили в тюрьму. Фактически это означало смертный приговор.
«Я испытал все возможные виды преследований и неудач, — писал он. — Никто из моих противников не подвергался большей опасности, и я единственным из наших соотечественников оказался обречен на неминуемую смерть».
Следующей остановкой, всего через несколько дней, должен был стать Революционный трибунал в Париже, который без особых разбирательств отправил бы Фурье на гильотину. У него имелись веские причины испытывать страх. Он не мог знать, что всего через десять дней — 27 июля, или 9 термидора (по французскому революционному календарю) — Робеспьер падет. Тот, кто требовал больше отрубленных голов и не довольствовался никаким результатом (снова цитируя Вордсворта), сам оказался на гильотине. К счастью для будущего науки и, в частности, для пикселя, отрубленная голова Робеспьера спасла голову Фурье.
Волна
Можно ли было в работе по алгебре 1789 года — той самой, что отвлекла внимание Фурье от Революции, — усмотреть черты будущего великого ученого? Содержались ли в ней предпосылки его великой идеи? Несомненно, работая над ней, он отточил свои математические навыки и достиг, как это называют специалисты, «математической зрелости». Но, к сожалению, о ней практически ничего не известно.
Также неизвестно, когда Фурье впервые использовал концепцию
Чтобы получить наглядное представление о волнах Фурье, давайте начнем с окружности (рис. 1.1). Нам поможет старомодный циферблат аналоговых часов. Кончик секундной стрелки раз за разом пробегает по окружности, отсчитывая одну минуту за другой. Нижнее изображение отличается от верхнего на три секунды.
Большая точка вычерчивает волну. Здесь неплохо бы поместить анимированную картинку, но, поскольку в книге это невозможно, просто представьте, что с течением времени точка движется вправо, как показано стрелкой на оси. Каждому делению на циферблате соответствует аналогичная отметка на оси времени. Теперь представьте, что большая точка связана с кончиком секундной стрелки эластичной линией. С течением времени точка смещается вправо, а проделанный ей путь и есть волна.
Здесь важно понять, как выглядит волна и насколько тесно она связана с равномерным движением по окружности. Детали этой тесной связи не так важны, как само интуитивное понимание, но еще несколько подробностей помогут лучше уяснить и запомнить все это.
Рассмотрим осевую линию на циферблате — линию, соединяющую отметки на 9 часов и 3 часа. Большая точка всегда отмечает текущую высоту кончика секундной стрелки над или под этой линией. В момент, изображенный на верхней иллюстрации (он выбран произвольно), большая точка преодолела уже двадцать три позиции, потому что с начала фиксации прошло двадцать три секунды. С очередным движением секундной стрелки большая точка переместится в следующую позицию на волне. А еще через две секунды мы получим нижнюю иллюстрацию. Так что по мере того, как секундная стрелка снова и снова обегает по кругу циферблат, ее кончик — а точнее, прикрепленная к нему большая точка — движется по волнистой траектории вверх и вниз, вверх и вниз…
Секундная стрелка делает полный оборот за минуту, поэтому волна, нарисованная большой точкой, бесконечно движется вправо. Так же бесконечно она простирается влево. Волна на рисунке, по-видимому, начинается ровно в 12:01 — тоже совершенно случайный выбор, — но подразумевается, что часы вели отсчет времени и раньше, поэтому рисовать волну влево можно, насколько хватит терпения.
Волна на рисунке — это одна из волн Фурье. Сами волны — не его изобретение, но его идея лежит в основе их использования. Эти волны — элементы его музыки. Математики называют такую особенно изящную волну
Рис. 1.1
Все, что касается волн Фурье, очень просто, красиво, изящно… идеально. У ученых и инженеров есть официальный термин для систем уравнений, которые Фурье использовал для описания теплового потока в твердом теле, применимый также для его великой музыкальной идеи вообще. Они описывают это как
Волны окружают нас всегда и везде. Напряжение электрического тока в любой розетке нашего дома или офиса описывается волной. Из-за этого он даже называется переменным током. Обычно он создается при помощи ротора, вращающегося в постоянном магнитном поле, например на гидроэлектростанции, где ротор приводится в действие потоком воды на плотине. Вращение ротора преобразуется в волну — в переменный ток. В электрическом моторе происходит обратный процесс: волнообразный переменный ток поступает на клеммы электродвигателя, который снова преобразует его во вращательное механическое движение. Так, электрический вентилятор, получив волну изнутри, превращает ее во вращение лопастей снаружи.
Еще одну хорошо знакомую синусоидальную волну можно найти в мире средств массовой информации. Это цифры в названии вашей любимой FM-радиостанции. Мне нравится слушать KCSM Jazz 91,1 выходящую в эфир из Сан-Франциско. Цифра 91,1 обозначает, какая волна выделена для вещания этой радиостанции. Они описывают электромагнитную волну, которую станция использует, чтобы донести свою музыку до радиослушателей.
Хотя все волны Фурье имеют одинаковую форму, они отличаются двумя характеристиками — насколько быстро (это называется
Кончик минутной стрелки изобразит такую же кривую, но более медленно. Волна минутной стрелки вздымается только один раз в час. Ее частота — один цикл в час, что в шестьдесят раз медленнее, чем у секундной стрелки. Третья волна — волна часовой стрелки. Она имеет самую низкую частоту из трех — один цикл за 12 часов.
Цифра в названии радиостанции KCSM Jazz 91,1 — частота (в миллионах циклов в секунду) радиоволны, которую использует эта станция. А к каждой электрической розетке подведен переменный ток с частотой волны 60 (в США) или 50 (в России и большинстве стран Европы) циклов в секунду.
Волны от секундной, минутной и часовой стрелок отличаются не только частотой, но и амплитудой. Я нарисовал минутную стрелку чуть короче, чем секундную, поэтому гребни ее волн будут немного ниже. Поскольку максимальная высота гребня волны равна ее амплитуде, амплитуда волн минутной стрелки ниже, чем у волн секундной. Часовая стрелка еще короче, поэтому амплитуда ее волны — самая низкая из трех.
Для теории Фурье волна может иметь любую частоту и любую амплитуду, если это синусоидальная волна — развертка окружности. На примере часов мы рассмотрели создание трех таких волн, а рисунок 1.2 показывает еще три изящных по форме синусоидальных волны, отличающихся друг от друга только количеством колебаний и высотой, то есть частотой и амплитудой. Все они имеют одинаковую форму точно так же, например, как и все треугольники. Фигура, чтобы мы назвали ее треугольником, должна иметь три стороны, а волне, чтобы называться волной, достаточно быть разверткой окружности.
Рис. 1.2
Отметим еще одну особенность волн на этом рисунке: по левому краю изображения выровнены разные точки их цикла. Верхняя волна начинается с пика, средняя — с максимального спада, а нижняя — с точки между ними. Если вы сдвинете любую из них влево или вправо, ее частота и амплитуда останутся прежними, но изменится положение относительно других волн. Это важно, потому что для вычислений Фурье нам придется складывать волны. Мы получим разные результаты, если волны будут выровнены по-разному.
Для описания положения волны мы используем слово
Теперь мы можем осознать значимость замечательной идеи Фурье: большую часть информации об окружающем мире — включая все, что мы можем видеть или слышать, а также многое другое — можно описать как сумму таких волн, и
Звуки
Музыка состоит из волн разных частот — и только из них. Конечно же, их называют звуковыми волнами. Струны скрипки вибрируют с разной частотой; то же самое происходит и с фортепиано. По сравнению с неторопливой секундной стрелкой, вращающейся с частотой один цикл в минуту, любая нота на фортепиано — звуковая волна демонической скорости от колебания струны, вибрирующей с частотой 262 цикла в секунду. Кларнет или флейта звучат на определенных частотах, как и каждая из труб органа. Лирико-колоратурное сопрано поет на более высокой частоте, чем альт, и гораздо выше, чем баритон или бас. Мы говорим, что сопрано поет
Нарастание громкости от пианиссимо до фортиссимо отражает амплитуду звуковых волн. Чем выше амплитуда, тем громче звук. Массивная труба органа — с педалью, выжатой до пола, — сотрясает собор ужасом гласа Господня. Сильнее ударьте по клавише пианино или увеличьте громкость радио, и амплитуда звуковых волн возрастет. Неудивительно, что именно усилитель — это важнейший компонент радио или стереосистемы.
Идея Фурье кажется естественной, когда вы описываете музыку, но сила этой идеи полностью осознается, только если понять, что из звуковых волн состоят все звуки, а не только музыка. Имеется в виду вообще все, что мы слышим, от низкочастотного грохота до пронзительного свиста. И даже больше — ведь, как известно, собаки слышат более высокие частоты, чем мы. Для нас главное в великой идее Фурье заключается в том, что любой звук состоит из звуковых волн различных частот, которые складываются друг с другом, а потом интерпретируются нашими ушами и мозгом как «Весна священная» Стравинского, как голос любимого ребенка или шум строительной площадки.
На рисунке 1.3 в виде волн Фурье с различной частотой и амплитудой изображено слово «yes» (ось времени направлена вправо). Часть «y» содержит самые низкие частоты и самые высокие амплитуды — это ударная часть слова. Для части «е» в середине характерны самые низкие амплитуды и смешанные частоты. А шипение «s» отличается низкими амплитудами и самыми высокими частотами.
Звуковые волны на самом деле состоят из ритмичных сжатий воздуха или, иначе говоря, волн давления. Возьмем для примера низкочастотный динамик в вашей акустической системе — вы сразу ощутите его вибрацию на громких басовых тонах. Легко вообразить, как его быстро движущаяся мембрана сотрясает воздух перед собой. Пульсации распространяются от поверхности низкочастотного динамика, так сказать, подталкиваются им. Более громкий звук соответствует более сильной вибрации и — соответственно — более интенсивному воздействию на воздух.
Мы можем непосредственно ощутить эти волны давления. Представьте лоурайдер, который медленно едет по бульвару Креншоу в Лос-Анджелесе, а от музыки из его мощного бумбокса содрогаются оконные стекла ближайших домов.
Рис. 1.3
Очень громкая низкочастотная звуковая волна, сталкиваясь с препятствием, преобразует волны давления в физические вибрации, как будто трясется сама земля. Но на самом деле эти сотрясающие землю волны точно такие же, как и те, что проникают нам в уши и заставляют наши барабанные перепонки вибрировать в унисон с низкочастотным динамиком, бумбоксом или басовой трубой органа. Затем хитроумная система из маленьких косточек — с восхитительными названиями «молоточек», «наковальня» и «стремечко» — передает эти вибрации во внутреннее ухо, где тысячи крошечных волосковых клеток реагируют на определенные частоты. Они передают информацию о частоте вибрации напрямую в мозг.
Нормальный человеческий слух может различать все частоты от 20 до 20 000 циклов в секунду. В научной литературе принято обозначать «циклы в секунду» наименованием «герц» (сокращенно Гц), но я — для наглядности — буду использовать более длинную фразу. Есть и другие звуки, недоступные человеческому уху, например ультразвуковой свист, который собака слышит, а мы нет.
Но что представляют собой те волны, которые мы воспринимаем зрением, — те, что приведут нас к пикселям? На каких частотах вибрирует зрение?
Наполеон Бонапарт
Через год с небольшим после рождения Фурье на острове Корсика, расположенном на одной воображаемой линии с Парижем и Осером, но примерно в ста милях к юго-востоку от материковой Франции, родился Наболион Буонапарте. Корсика стала французской в промежутке между появлением на свет двух этих мальчиков, так что Буонапарте едва ли считался французом. Его имя обрело знакомое нам звучание гораздо позже, когда ему было уже за двадцать и он решил назваться на французский лад, превратившись в Наполеона Бонапарта.
Бонапарт учился в Королевской военной школе в Бриен-ле-Шато. Точно такую же посещал Фурье в Осере примерно на 60 миль южнее. Таким образом, Бонапарт получил, в сущности, ту же подготовку в области естественных и математических наук, что и Фурье. Полученных знаний хватило, чтобы пробудить у Бонапарта неизменный интерес к математике. С математиками, не только с Фурье, он общался на протяжении всей жизни. В геометрии даже есть теорема Наполеона, названная в его честь.
Бонапарт, выбрав карьеру офицера, продолжил образование в элитной военной школе в Париже. Подробности обучения нас не касаются, но интересно взглянуть на результаты его выпускных экзаменов. Экзаменатор охарактеризовал Бонапарта как человека с «исключительными познаниями в математике». Этим экзаменатором был Пьер-Симон Лаплас, которого иногда называли французским Исааком Ньютоном.
Бонапарт впоследствии сделал нечто, поражающее воображение современного американца: он назначил Лапласа членом французского сената. Известный физик и математик — в кресле сенатора!
Встреча Фурье с Бонапартом
После падения Робеспьера революционное французское правительство не только выпустило Фурье из тюрьмы, но и предоставило ему престижную должность профессора недавно созданной Политехнической школы в Париже — сейчас это что-то вроде Массачусетского и Калифорнийского технологических институтов, вместе взятых. Наконец-то он попал на самую вершину: Фурье преподавал математику в Париже и общался с корифеями науки, такими как Лаплас. Это позволило привлечь внимание амбициозного Бонапарта, который искал ученых мужей, готовых сопровождать его в Египетском походе. Экспедиция обещала быть жаркой — как в климатическом, так и в политическом отношении.
Бонапарт недавно покорил Италию, разгромив австрийскую армию, и вернулся в Париж триумфатором. Его популярность в народе и авторитет среди военных настораживали французское правительство. Так что в 1798 году оно с радостью отправило его (а особенно его армию) в Египет для новых завоеваний. Именно там Фурье и Бонапарт окончательно сблизились.
Подражая своему кумиру Александру Македонскому, Бонапарт взял с собой целую плеяду французских интеллектуалов (своих ученых мужей), в том числе молодого профессора Фурье из Политехнической школы. Обратите внимание на разительный контраст с нашим временем. Можете ли вы представить, что вместе с американскими войсками в Ираке или Афганистане высадятся известные математики и археологи?
Египетская экспедиция обернулась военным провалом, но принесла ценные плоды в интеллектуальном плане. Самым известным ее событием стало открытие Розеттского камня, что фактически породило всю последующую египтологию. Бонапарт основал Институт Египта и занял пост его вице-президента. Фурье вскоре был избран на должность постоянного секретаря этого учреждения. Он внес свой вклад в научные достижения египетской кампании, работая в течение десяти лет над массивным (двадцать с лишним томов) сборником «Описание Египта». В предисловии Фурье не скупился на чрезмерные похвалы Бонапарту. Наполеон и сам внес в первое издание немало правок, пытаясь вырвать интеллектуальную победу из пасти военного поражения.
Сначала французы одержали несколько побед: в сражениях у Александрии, Каира и пирамид, — но затем адмирал Нельсон уничтожил французский флот в Абукирском заливе. Несмотря на британский контроль над Средиземным морем, через год Бонапарту удалось прорваться во Францию, оставив в Египте армию, ученых мужей и множество незавершенных дел.
Он решился на стремительный отъезд, чтобы установить контроль над Францией. В самом конце XVIII века Бонапарт стал первым консулом нового правительства, сделав значительный шаг на пути к титулу императора.
Ученые мужи тоже попытались вернуться во Францию, но им повезло гораздо меньше. Британцы пропустили их через морскую блокаду, но забрали себе Розеттский камень. Он до сих пор остается одним из самых ценных сокровищ Британского музея.
Бонапарт, поспешно и, можно даже сказать, предательски покинув Египет, оставил генерала Жан-Батиста Клебера в затруднительном положении из-за полной военной неразберихи. Бонапарт назначил его командующим египетской армией и сообщил об этом письмом, чтобы не получить отказ. Клебер, полагая, что вынужден разгребать чужие ошибки, после такой уловки относился к Бонапарту с презрением.
Тем времем Фурье совершил вторую крупную политическую ошибку. Он слишком сблизился с несчастным генералом. Клебер назначил его директором бюро французской колониальной администрации в Египте. Вскоре генерал был убит, а Фурье выступил на его похоронах с пламенной речью. Искусный, но беспокойный язык снова навлек на него неприятности: в прошлый раз Фурье оскорбил Робеспьера, теперь — Бонапарта.
Бонапарту не хотелось, чтобы Фурье проповедовал позицию Клебера в столице и Франция узнала бы о не слишком благородных подробностях египетской кампании. Фурье рассчитывал по возвращении из Египта снова получить престижную должность в Париже, в центре интеллектуальной жизни. Вместо этого Бонапарт сослал слишком красноречивого ученого в Гренобль.
Свое решение он обставил довольно издевательски, «попросив» Фурье занять пост префекта департамента Изер, управляемого из Гренобля. Другими словами, Бонапарт «попросил» его возглавить провинцию, которая располагалась ближе к Корсике, чем к Парижу, — вдали от активной политической, светской и научной жизни.
Фурье согласился. Не стоило спорить с Бонапартом, ставшим самым могущественным человеком во Франции. Однако новая должность означала
Зрение
Возможно, вы готовы признать, что все воспринимаемое на слух — это сумма волн, но вряд ли вы думаете, что точно так же дело обстоит и со зрением. Этот следующий шаг потребует немного больше объяснений. Великая идея Фурье заключается в том, что видимый мир, как и музыка, складывается из суммы волн. Но в случае со зрением эти волны пространственные. Они двумерны. Чтобы их увидеть, нам потребуется немного практики, но, как только вы научитесь их находить, никаких трудностей больше не возникнет. Мы выработаем такой навык, а затем совершим мысленный скачок, который когда-то сделал Фурье.
Волна секундной стрелки (рис. 1.1) на самом деле изображает пространственную волну. Она
Волны, которые я называю волнами зрения, не следует путать со световыми волнами. Световая волна — это механизм возбуждения палочек и колбочек в сетчатке наших глаз, позволяющий нам видеть. Это волна, которая изменяется во времени на чрезвычайно высоких частотах — около 500 триллионов циклов в секунду. Итак, световые волны — это средство, помогающее видеть, а волны зрения — это то, что мы видим. Световые волны меняются во времени, волны зрения — в пространстве.
Доказательства существования видимых пространственных волн — повсюду. Присмотритесь к этой странице. Буквы, включая пробелы, кажутся более или менее равномерно размещенными по горизонтали. Говоря
На самом деле если вы можете увидеть некую «регулярность» в своем визуальном мире, то ее версия по Фурье будет представлять собой волну этой частоты. Я только что измерил расстояние между двумя строками текста в книге, которую я читаю, и оно составляет четверть дюйма (6,4 мм). Таким образом, музыкальная версия этой страницы, представляющей собой, если подумать, картинку, должна иметь пространственную волну Фурье той же частоты, четыре цикла на дюйм.
Потолочные балки или доски деревянного пола повторяются с определенной ритмичностью. Если пол вымощен плиткой, она размещена с одинаковой частотой в двух измерениях, как и черепица, покрывающая крышу. Дворцовый комплекс в Альгамбре (рис. 1.4) доводит идею ритмики плитки, покрывающей полы, стены и потолки, до ошеломительных высот визуального наслаждения.
Рис. 1.4
Суть в том, что вы можете представить все эти пространственные ритмы с помощью только волн Фурье. Все визуальные паттерны, какими бы нерегулярными они ни казались, можно описать как комбинации, суммы изящных постоянных волн.
Но как насчет мира природы? Тот же принцип применим и здесь, хотя и не всегда очевиден, как в случае с океанскими волнами. Травинки на поляне или на лугу повторяются с характерной частотой. То же самое наблюдается и у листьев на дереве, хотя расстояние между ними зависит от разновидности растения. Расстояние между деревьями в лесу тоже имеет характерную частоту, зависящую от их вида. В расположении горных хребтов тоже можно отметить частоты. Регулярность, которую мы наблюдаем у матери-природы, гораздо менее однородна, чем у того, что создано нашими руками. В ее повторяющихся паттернах гораздо сильнее выражена случайность. Тем не менее горные пики не бывают, скажем, с двумя гребнями на дюйм или с двумя гребнями на миллион миль. Существует определенный диапазон частот, который более или менее соответствует тому, чего мы ожидаем от горных хребтов, — примерно два пика на 10 миль (16,09 км). Опять же, все эти визуальные ритмы пляшут под дудку Фурье.
Цель рисунка 1.5 — показать вам, как искать пространственные частоты в окружающем мире, как взглянуть на него альтернативным способом. На фотографии запечатлены растения-суккуленты из моего сада в Беркли, штат Калифорния. В нем повсюду присутствуют пространственные частоты. Как только вы научитесь их видеть здесь, а потом и где угодно, вы без труда совершите мысленный скачок, который сделал Фурье, и осознаете, что только волны и их частоты —
Обратите внимание на терракотовые горшки — рукотворные компоненты этой сцены. Они расположены в узлах не очень ровной сетки. Они расставлены не
Узор на горшках тоже повторяющийся. Рассмотрим на рисунке линию а, проходящую через горшки и обозначенную нижней парой стрелок. Сосредоточьте внимание на регулярных частотах вдоль одной линии, как будто интенсивность света вдоль нее — это амплитуда звука в музыкальном фрагменте. Можете ли вы представить себе слово «yes», произнесенное с разной интенсивностью света вдоль воображаемой линии, проведенной в моем саду?
Начиная слева по линии а, мы обнаружим среднюю частоту спиралевидных канавок на горшке, затем высокочастотную (но с низкой амплитудой) грязь между горшками, потом среднюю частоту канавок на втором горшке, после этого низкую частоту волны, определяющей кривизну самого большого горшка, затем две чуть более высокие частоты для двух других горшков и так далее.
Рис. 1.5
У растений тоже есть частоты. Частота размещения ветвей или листьев у разных видов кактусов и суккулентов довольно сильно варьируется. Чтобы убедиться в этом, обратите внимание на постоянные частоты вдоль линии b. Она проходит через изображения двух звездообразных кактусов. Она пересекает «листья» каждого из них с почти постоянной частотой (напомню, колючки кактуса — это на самом деле его листья, а то, что мы обычно принимаем за листья, — это его ветки).
Линия с пересекает большие шары соцветий гортензии, каждое из которых состоит из сотен крошечных цветков. Они пересекают линию с большей частотой, чем любое другое из ранее упомянутых растений. Линия d проходит через листья гортензии. На этой линии они встречаются с меньшей частотой, чем цветки на линии с. То есть на одном и том же промежутке умещается примерно два листа или десятки цветков. Цветы расположены плотнее, чем листья, или, иначе говоря, с более высокой пространственной частотой.
Четыре линии на рисунке проведены параллельно друг другу, но Фурье этого не требует. Вы можете включить интуицию и отыскать повторяющиеся узоры вдоль линий, проведенных под другими углами и даже перпендикулярно тем, которые обозначил я. Например, на большом плоском овальном «листе» кактуса опунции в центре фотографии вы, вероятно, заметили правильную структуру бугорков, где расположены его шипы. Вы можете нарисовать через них две волны примерно перпендикулярно друг к другу. Это как раз и предполагает идея Фурье для двумерных изображений.
Вернемся к изображенным на фотографии рукотворным предметам: при взгляде на выложенный кирпичом внутренний дворик с любой стороны обнаруживаются повторяющиеся частоты вдоль и поперек. Почти незаметный забор на заднем плане тоже имеет определенную частоту повторения досок, как и решетка над ним.
В таком же духе можно проанализировать все, что изображено на фотографии. Линия, проходящая через изображение дерева с морщинистой корой, из-за ее шероховатости создаст волну с высокочастотной детализацией. Мелкий гравий в горшках подразумевает очень высокую пространственную частоту, и так далее. Сад — это симфония пространственной музыки.
Согласно Фурье
Розеттский камень
Жан-Франсуа Шампольон жил в Гренобле, где Фурье по «просьбе» Бонапарта занимал пост префекта. Фурье познакомил юного Шампольона с Розеттским камнем, в верхней трети которого находились таинственные древнеегипетские иероглифы. В течение следующих двух десятилетий Шампольон расшифровал их, опираясь на древнегреческий текст в нижней части камня.
Успешному результату поспособствовали особые отношения Фурье с первым консулом. Неоднократно Шампольона пытались забрать в армию, но каждый раз Фурье обращался за помощью к главному ценителю египетских древностей — Наполеону Бонапарту. Таким образом, освобожденный от военной службы Шампольон расшифровал надписи на Розеттском камне и заложил основы египтологии.
Великую идею Фурье,
Возможно, вы слышали, как кто-нибудь в непринужденной беседе говорит: «Мне недостаточно полосы пропускания». Если вы разбираетесь в технике, то сразу поймете, о чем идет речь. Если нет, то, вероятно, догадаетесь, что это означает что-то вроде «производительности», но не поймете почему. А все дело в том, что это слово из языка частот Фурье.
Полоса пропускания — это технический термин, означающий меру пропускной способности канала связи. Например, человеческое ухо воспринимает звуки, обладающие частотой от 20 до 20 000 циклов в секунду. Таким образом, его полоса пропускания — это разница между ними, диапазон частот, улавливаемых ухом. В повседневном общении выражение «пропускная способность» используется метафорически для обозначения чего-то вроде способности обрабатывать информацию.
Язык частот, как в приведенном примере, разграничивает две культуры. Для искусства он китайская грамота — или, продолжая метафору с Розеттским камнем, язык частот (или язык волн Фурье) подобен древнеегипетским иероглифам. Теперь давайте посмотрим, как иероглифы Фурье — его волны в двумерном виде — могут представлять изображения.
Морщины и борозды
Что такое двумерная волна? До сих пор мы рассматривали только одномерные волны, вроде тех, которые изображают звук. Для применения идеи Фурье к визуальному миру нам необходима двумерная версия волны.
Одномерная волна — это размотанная окружность. Двумерная волна — это раскрученный цилиндр. Чтобы представить двумерную волну, вообразите, что секундная стрелка из нашего примера с часами выдавливает изображение перпендикулярно странице. В результате получится рифленая поверхность, похожая на вспаханное поле с бороздами. Металлический профлист (рис. 1.6), которым обшивают стены зданий, — наглядный пример двумерной пространственной волны. Из гофрированных пластиковых панелей делают козырьки и навесы. Бывают даже рифленые картофельные чипсы. Волнистый слой между плоскими поверхностями гофрокартона — это тоже пространственная волна. Красная черепичная крыша в средиземноморском стиле — еще один пример.
Итак, гофра — это двумерная пространственная волна. Посмотрев на нее с краю или в поперечном сечении, вы увидите одномерную волну. Впрочем, любое ее прямолинейное сечение — это одномерная волна.
Великая идея Фурье заключается в том, что весь видимый мир можно представить только как сумму рифленых пространственных волн разных частот и амплитуд. Единственный дополнительный нюанс, связанный со вторым измерением, состоит в том, что волны могут поворачиваться в любую сторону. Борозды могут идти с севера на юг, с востока на запад, с северо-востока на юго-запад или под любым другим углом, что особенно важно для мира природы. «Материалом» пространственных волн может быть оцинкованное железо или, как мы видим на рисунке, гофрированный пластик. Инженеры используют идею Фурье для описания всех сложных паттернов, как природных, так и рукотворных, состоящих из любых материалов, встречающихся в окружающем мире.
Но для понимания пикселя нам нужно учесть точку зрения того, кто смотрит на этот мир. Мир может состоять из железа, пластмассы и картофеля, но мы видим лишь яркое разноцветное поле со светлыми и темными формами и оттенками. Волны Фурье создают мир, который мы видим, из интенсивности света, изменяющейся в поле зрения.
Рис. 1.6
Как можно представить себе такое поле? Один из очевидных способов описать мир, воспринимаемый нашими глазами, — зарегистрировать интенсивность света в каждой точке поля зрения. Но учесть придется
Фурье предлагает альтернативный способ: представить видимый мир как сумму пространственных волн, сложение которых даст ту же самую картину, что и описание каждой точки. Изображенное в верхнем ряду на рисунке 1.7, например, можно описать как значение серого в каждой точке или обозначив параметры всего одной волны Фурье. Пространственная волна, соответствующая этому рисунку, имеет частоту около двух циклов на дюйм, направлена по горизонтали, ее яркость колеблется от черного до белого. Вместо огромного количества оттенков серого в каждой точке для описания картинки нам понадобятся всего несколько значений — одна частота и одна максимальная амплитуда.
Кстати, в верхнем ряду на этом рисунке показана (частично) одна из волн Фурье, вид сверху. Совсем неудивительно, что это изображение полностью описывается «по Фурье» именно волной. Обратите внимание, что вы видите волновые колебания, составляющие картину в поле вашего зрения, точно так же как слышите вибрации, составляющие звук. «Материал», из которого сделаны волны на рисунке 1.7, — это интенсивность света (или яркость), воспринимаемая как разные оттенки серого. Гребни волны окрашены в более светлый серый цвет, а ложбины — в более темный. (Этот рисунок — двумерный аналог волнистых линий, изображенных на рисунке 1.2.)
Амплитуда волны соответствует яркости изображения, так же как для звука она соответствует громкости. Частота означает количество деталей — именно ее имеют в виду люди, когда говорят об изображении с высоким разрешением или о видео высокой четкости. Большая амплитуда подразумевает высокую яркость, а высокая частота — подробную детализацию.
Если изображение неоднотонно, там присутствует информация еще и о цвете. В сетчатке нашего глаза есть три типа цветовых рецепторов — колбочек: по одному для интенсивности красного, зеленого и синего. Если точка на экране мобильного телефона или телевизора с определенной интенсивностью излучает красный, зеленый и синий цвета, то наш мозг получает от колбочек информацию об относительной силе этих трех сигналов и складывает из них итоговый цвет. В излучаемом электронными дисплеями свете первичные цвета смешиваются иначе, чем в свете, отраженном, скажем, от написанной маслом картины или отпечатанной в типографии страницы книги. Чтобы получить желтый цвет, мы должны включить красный и зеленый компоненты и выключить синюю часть. Но чтобы получить желтый свет, отраженный от страницы, мы должны блокировать синий элемент белого света и отражать только красный и зеленый. Независимо от технологии отображения глаз воспринимает все это одинаково. Поэтому далее я почти всегда буду использовать терминологию для излучаемого, а не отраженного света.
Рис. 1.7
Итак, представьте, что черно-белая картинка в верхнем ряду на рисунке 1.7 изображает цветную волну, скажем желтую. Гребень волны изображен серым — что-то между средне-серым и полностью белым, а гребень цветной волны будет желтым — что-то между средне-желтым и полностью желтым. Далее представим цветную волну как три волны одной частоты, но разной амплитуды — по одной для красных, зеленых и синих рецепторов сетчатки. Итак, желтая волна состоит из трех волн: первая похожа на показанную выше волну в градациях серого для красного рецептора, вторая точно такая же (и с той же амплитудой) для зеленого рецептора и третья такая же, но с нулевой амплитудой для синего рецептора. При равном количестве красного и зеленого и при отсутствии синего наш мозг видит желтую волну.
В среднем и нижнем рядах на рисунке 1.7 показаны другие двумерные волны — посмотрите, как они выглядят. Как и у одномерных волн на рисунке 1.2, у них разные частоты и разные амплитуды. Волна в нижнем ряду с самой высокой частотой имеет самую низкую амплитуду (серый цвет), а волна в верхнем ряду с самой низкой частотой имеет самую высокую амплитуду (почти белый цвет). Впрочем, это лишь пример. Волна может иметь любую частоту при любой амплитуде.
Итак, можем сделать вывод: мелким деталям на картинке при ее описании по Фурье соответствуют высокочастотные волны. Именно они изменяются достаточно быстро. В жаргоне специалистов по компьютерной графике есть выражение «В этой сцене много высоких частот», означающее, что в ней много мелких деталей и резких стыков.
Последнее замечание о стыках касается существенного факта, который стоит знать. Его непросто понять, но он напрямую вытекает из математики Фурье: внезапный переход на резком стыке требует высоких частот; очень внезапные изменения требуют очень высоких частот.
Вот как я формулирую изюминку теории Фурье:
Любое визуальное поле — назовем его картинкой или узором — представляет собой сумму исключительно изящных синусоидальных волн, подобных тем, что получаются при развертывании идеальных цилиндров.
Визуальный мир в виде волн не более загадочен, чем мир звука, — или, скажем так, столь же чудесно загадочен. Геттисбергскую речь можно описать как интенсивность звукового давления в каждый момент выступления Авраама Линкольна или как сумму звуковых волн различных частот и амплитуд, получив при сложении то же самое. Фурье научил нас, что оба описания эквивалентны.
Ученые и инженеры любят предложенный Фурье подход, потому что, используя его, они могут решать проблемы, с которыми сложно справиться при пошаговом описании.
Вместо того чтобы учитывать тысячи и тысячи световых точек, мы основываемся на частотах и амплитудах волн интенсивности света, которые складываются в точки. Изменившее мир учение Фурье заключает, что эти два описания эквивалентны. Визуальное поле из точек, если продолжить аналогию с Розеттским камнем, — это древнегреческий язык, а эквивалентные ему волны Фурье — иероглифы. Компьютерщику легче читать иероглифы, чем древнегреческий, но, согласно идее Фурье, это одно и то же — Розеттский камень тому подтверждение.
Критики Фурье не верили в его правоту, но математическое доказательство сомнений не оставило. Это и есть магия идеи и сокрушительная сила математики. Сложение волн разных частот даст нам картину… чего угодно! Моего цветочного сада, страницы, которую вы сейчас читаете, или фотографии вашего ребенка. В этом и заключается великая и очень важная идея Фурье.
Жажда тепла
Благодаря Бонапарту Фурье удалось пережить Террор и даже войти в правящую элиту Франции — если, конечно, считать элитой губернатора отдаленной провинции. Увлечение революцией в молодости и личное знакомство с императором могли доставить немало проблем, когда король дважды возвращался во власть. Тем не менее Фурье пережил эту круговерть, как и времена Террора. Опираясь на свой солидный политический опыт, он даже умудрился почти 13 лет продержаться в должности префекта департамента Изер, и только последний год оказался рискованным.
В течение 12 лет — с апреля 1802-го по апрель 1814-го — Фурье с максимальной пользой проводил свое изгнание, зарекомендовав себя в качестве опытного губернатора. Ему удалось заключить соглашение с сорока коммунами об осушении огромного болота в Бургуэне, что стало настоящим политическим достижением, поскольку все предыдущие попытки договориться провалились. Он проложил новую дорогу из Гренобля в Турин. Он покупал книги для городской библиотеки, покровительствовал одаренным молодым людям, в первую очередь Шампольону, и работал над многотомным «Описанием Египта», которое увидело свет в 1810 году. Несмотря на сильную занятость, Фурье каким-то образом нашел время для развития волновой теории. К ней его привели не прослушивание концертов Моцарта или созерцание красот Альгамбры, а размышления о распространении тепла как о движении волн. Возможно, его
Сам Фурье так говорил о своем экстраординарном интересе к теплу: «Вопрос о температурах земной почвы всегда представлялся мне одним из величайших предметов космологических исследований, и при создании математической теории тепла я главным образом имел в виду этот предмет». Он искал идею столь же грандиозную, как законы Ньютона.
Виктор Кузен, французский историк и философ, хорошо знавший Фурье, придерживался иного взгляда на мотивы ученого. Он писал, что, когда Фурье вернулся в Гренобль из Египта, он даже в самую жаркую погоду выходил на улицу только в пальто и на всякий случай брал с собой еще одно. У него развилась физическая потребность в тепле, что кажется эксцентричным, но, скорее всего, является симптомом какой-то болезни.
У французов есть слово, обозначающее таких людей. В английском языке оно отсутствует и имеет лишь отдаленный аналог в русском: Фурье был
Неизвестно, когда Фурье начал писать свою работу о тепле, но она захватила его еще в Гренобле, всего через пару лет после возвращения из Египта. Ее еще несовершенная черновая версия, относящаяся, вероятно, к 1804 или 1805 году, содержит первое известное упоминание волновых функций. Академической публике Фурье представил значительно переработанный вариант этой рукописи в конце 1807 года в форме трактата под названием «Воспоминания о распространении тепла в твердых телах». За время, прошедшее между черновым наброском и окончательной версией, он разобрался в физике распространения тепла и провел множество экспериментов для проверки своих математических расчетов.
По словам Фурье, эксперименты «способствовали тому, чтобы придать теории авторитет, от которого иначе пришлось бы отказаться в вопросе все еще неясном и, по-видимому, подверженном стольким неопределенностям». Так выглядит классическая наука. Разработайте теорию для выдвижения гипотезы. Проведите эксперимент для ее проверки. Слова Фурье доказывают, что он одновременно был математиком и физиком-экспериментатором. Он не боялся запачкать руки.
Фурье понял, что может описать сложную картину теплового потока, проходящего через твердый объект, как сумму синусоидальных волн. Это означало, что он мог предсказать, как (и на протяжении какого времени) тепло будет распространяться, скажем, от запального фитиля пушки к ее жерлу.
Итак, для понимания контекста: между 1803 и 1807 годами, пока Фурье совершенствовал свою теорию передачи тепла и проводил подтверждающие ее эксперименты, он также заключал контракты на осушение болот, строил дороги, наставлял молодых людей и работал над публикацией исследования о Египетской экспедиции. Откуда у него такая пропускная способность?
Фурье одинаково хорошо ориентировался в политике как республики, так и империи. Он использовал свое личное знакомство с Наполеоном, чтобы утвердить проект строительства большой дороги между городами, передав императору короткую пояснительную записку. Наполеон рассмотрел и утвердил проект всего за два дня. А вот отношения с научными кругами оказались не столь успешными, поскольку в изгнании Фурье отдалился от академических интриг, происходивших в Париже.
В академических кругах одним из первых с его трактатом 1807 года ознакомился Лаплас, тот самый, которого Наполеон назначил сенатором и который знал Фурье еще по Политехнической школе. Лапласу не нравилась математика, лежащая в основе великой идеи Фурье. Первую публичную атаку на него провел протеже Лапласа Симеон Дени Пуассон, который после назначения Фурье префектом Изера занял его кафедру в Политехнической школе. В результате долгой и ожесточенной полемики трактат так и не был опубликован Академией. Лаплас в конце концов согласился с идеями Фурье, но Пуассон так и не изменил своего мнения.
По мнению потомков, Фурье впервые изложил свою теорию в работе 1807 года, поэтому можно считать, что на 2007 год пришелся ее неотпразднованный двухсотлетний юбилей. Однако прежде чем получить заслуженное внимание, Фурье пришлось ответить еще на один вызов. Вероятно, из-за продолжительных споров Академия объявила, что в 1811 году присудит большую премию в области математики за исследования… распространения тепла в твердых телах! Фурье в ответ написал Призовое эссе — расширенную версию работы 1807 года, сохранившую ее основные положения.
Итак, давайте еще раз вспомним, чем занимался Фурье, когда готовил эссе на соискание премии: болота; дороги; наставничество; «Описание Египта». Вопрос все тот же: откуда у него такая полоса пропускания?
Одна из дополнительных тем, затронутых в Призовом эссе, намекает на ньютоновские амбиции Фурье. Он, применив свою теорию теплового потока в планетарном масштабе, первым обратил внимание на глобальное явление, которое сейчас принято называть парниковым эффектом. Солнечный свет, проходящий через атмосферу, нагревает поверхность Земли, но при этом часть отраженного тепла удерживается. Если прибегнуть к несовершенной метафоре, то атмосфера напоминает стекло теплицы, которое пропускает солнечный свет, но не выпускает наружу тепло. В результате естественного парникового эффекта Земля нагревается и становится местом, пригодным для жизни. Несмотря на всю свою гениальность, Фурье не предвидел, что деятельность человека усилит парниковый эффект до такой степени, что излишнее тепло превратится в угрозу для жизни на нашей планете.
Несмотря на интриги академиков, Фурье получил премию за свое Призовое эссе. Но при этом ознакомившаяся с работой комиссия единодушия не проявила. В частности, Лаплас голосовал против.
«Способ, которым автор приходит к этим уравнениям, не лишен недостатков, — говорится в отчете комиссии. — Его способ аналитического вычисления интегралов все же оставляет желать лучшего с точки зрения общности и даже математической строгости решения».
Упреки за недостаточную строгость в математике — это серьезное оскорбление для ученого. Академия снова медлила с публикацией Призового эссе, как и с сочинением 1807 года.
Лишь после окончательного изгнания Наполеона на остров Святой Елены в 1815 году Фурье вернулся в Париж и опубликовал свое Призовое эссе. Оно вновь подверглось испепеляющей критике от непримиримого Пуассона. Но Фурье обнаружил элементарную ошибку в трудах своего недоброжелателя и ложное утверждение в его альтернативной теории тепла. В письме к Лапласу Фурье торжествующе указал на них, чем нанес сокрушительный удар по позициям Пуассона. Лаплас наконец склонился на сторону Фурье.
Танцы с тиранами
Триумфальным достижениям в науке не сопутствовал столь же блестящий успех в политике. Продолжились танцы с Наполеоном, осложнившие последний год Фурье на посту префекта Изера. Наполеон отрекся от престола в апреле 1814 года. На трон взошел король Людовик XVIII. Бывший император отправился в свое первое изгнание на остров Эльба примерно в 30 милях к востоку от Корсики и почти в 200 милях к юго-востоку от Парижа. Вполне естественно, что его путь пролегал через Гренобль. В нормальных условиях префекту провинции полагалось бы естественным поприветствовать человека, которому он обязан назначением на столь высокий пост. Фурье должен был принять у себя бывшего императора. Но времена настали необычные, поэтому встреча обещала быть неловкой.
Реставрация Бурбонов не затронула положение Фурье, но не сочтет ли Наполеон подчинение королю предательством, перебежничеством? Фурье не собирался выяснять это. Путем закулисных интриг он внес в маршрут Наполеона коррективы, предупредив, что бывшему императору в Гренобле грозит опасность. Замысел сработал. Встречи с Наполеоном удалось избежать. Новому правительству предстояло утвердить Фурье в должности префекта. Младший брат нового короля граф д’Артуа, впоследствии ставший королем Франции Карлом X, нанес ему визит, завершив этот процесс.
Но танцы с Наполеоном не закончились. 2 марта 1815 года Фурье получил от префекта соседней провинции пугающее письмо:
Имею честь сообщить вам, что Бонапарт во главе 1700 человек высадился вчера в бухте Жуан [и] направляется в Лион через Сен-Валье, Динь и Гренобль. Какой бы необычной ни показалась вам эта новость, она абсолютно правдива.
Наполеон триумфально вернулся из ссылки, чтобы свергнуть короля и еще 100 дней править Францией. Он возвращался с юго-востока по тому же роковому маршруту, соединявшему Эльбу и Корсику с Греноблем, Осером и Парижем. Фурье снова пришлось искать способа избежать опасной встречи, особенно после того, когда он с таким успехом выставил себя лояльным роялистом.
Он подготовил резиденцию префектуры к встрече императора. Фурье оставил приветственную записку для Наполеона, в которой объяснил причины своей лояльности новому королю и конфликта интересов. Затем он спешно покинул Гренобль и приближался к Лиону, когда Наполеон триумфально вошел в город через главные ворота.
Разгневанный Наполеон потребовал сместить Фурье с поста префекта. Как мог узурпатор — так назвал Наполеона Фурье — сместить назначенного префекта? Сила этого человека заключалась в том, что он сделал это, а Фурье и граждане Гренобля сочли его решение законным.
Впрочем, друзья Фурье из окружения Наполеона успокоили императора, показав ему «Историческое введение» Фурье к «Описанию Египта», полное похвал гению Бонапарта. Гнев его остыл, и он попросил встречи с Фурье. Они встретились в Бургуэне, где Фурье некогда занимался осушением болот. Сложно понять, что сыграло решающую роль в динамике их отношений. Слабость к интеллектуалам, особенно к математикам? Сохранившиеся со времен Египетской экспедиции отношения как между старыми товарищами? Как бы то ни было, император не только простил Фурье, но и назначил его префектом департамента Рона, управляемого из Лиона! Фурье вступил в новую должность 12 марта 1815 года, всего через десять дней после получения письма, сообщавшего о возвращении Наполеона с Эльбы. В тот год события развивались очень быстро. 18 июня Наполеон потерпел поражение при Ватерлоо, а 8 июля на престол вновь взошел Людовик XVIII.
Второе имперское правление Наполеона продлилось знаменитые Сто дней, но вторая префектура Фурье оказалась еще короче — около шестидесяти. Одним из последних своих актов Наполеон — всего за две недели до Ватерлоо — назначил Фурье пенсию в связи с уходом в отставку. Акт должен был вступить в силу через две недели. Конечно, положенных выплат Фурье так и не получил. Итак, Наполеон отправился в ссылку на остров Святой Елены, а Фурье остался без работы, без пенсии и с запятнанной политической репутацией.
Но, по крайней мере, его изгнание наконец закончилось. Теперь он мог вернуться в Париж и создать свою музыкальную теорию тепла.
Жозеф и Софи
Была ли у Фурье личная жизнь? Может быть, не в провинциальном Гренобле, а в столице? Конечно, хотелось бы, чтобы у создателя концепции мира-как-музыки случился драматический роман, подобный тому, который десятилетием ранее закрутился у Бенджамина Франклина с овдовевшей хозяйкой известного французского салона.[1]
Возможно, дело в странных недугах Фурье, но он так и не встретил свою мадам Гельвецию. Нам, к сожалению, вообще не известно ни об одном его романтическом увлечении. Единственный намек на близкие отношения — очевидно, чисто платонические — это его глубокая дружба с Мари-Софи Жермен. Она стала первой женщиной, получившей математическую премию Академии наук, и разочаровала «огромную толпу, которая, несомненно, была привлечена желанием увидеть новый вид виртуозности в науке», тем, что не явилась на ее вручение. Однако даже достигшая таких высот женщина не могла получить приглашение на заседания Академии. Она добилась постоянного разрешения посещать
Сохранился небольшой архив с письмами Фурье к Мари-Софи. Все они формальны, кроме одного, написанного, судя по неровному почерку, в последние годы. Оно адресовано «Ch. S.» (
Она достойна всего вашего внимания по причине редчайших и прекраснейших качеств. Что касается меня, нежно любящего ее, то, поскольку это совершенно непредвиденное событие может совершенно уничтожить чувства, которые я питаю к ней, я был бы глубоко благодарен за все, что вы могли бы сделать для нее и для меня.
Точно неизвестно, о ком идет речь, но Софи Жермен действительно умерла от рака молочной железы. Какие чувства обуревали его, если это действительно была Софи?
Стать бессмертным
Фурье наконец-то стал членом Академии наук в Париже (рис. 1.8). В 1821 году состоялась публикация полной версии его теории под названием «Аналитическая теория тепла». К нему постепенно приходило признание. Французская академия наук избрала Жан-Батиста Жозефа Фурье постоянным секретарем, а Королевское общество Ньютона в ноябре 1823 года сделало его иностранным членом. Он, так завидовавший Ньютону в возрасте 21 года, в 55 лет, на последнем десятке лет своей жизни, проложил себе путь в бессмертие. Его внесли в официальный список
Рис. 1.8
После смерти Наполеона Фурье получил пенсию. Поначалу королевское правительство выражало недовольство, что Фурье согласился стать префектом Роны в роковые Сто дней. Первый раз он попытался добиться назначения пенсии сразу после ссылки Наполеона на остров Святой Елены. Просьбу отклонили. Он пытался снова в 1816, 1818 и 1821 годах, но каждый раз получал отказ. Только пятая попытка, уже после смерти Наполеона, увенчалась успехом.
Политические баталии для него закончились, но усугубились проблемы со здоровьем. Он постоянно страдал от тех или иных недугов. В пожилом возрасте его так беспокоили проблемы с дыханием, что он построил для себя специальный ящик. Эта конструкция поддерживала тело в вертикальном положении во время письма, чтения лекций или сна. Наружу оставались торчать только голова и руки. Возможно, одышка возникла из-за удушающей атмосферы в шкафу, где Фурье проводил ночи, будучи подростком, или была признаком застойной сердечной недостаточности.
Фурье умер от сердечного приступа в 1830 году, пережив Наполеона всего на несколько лет. Его могила на знаменитом парижском кладбище Пер-Лашез украшена синусоидальными волнами и египетскими мотивами. По обе стороны от его бюста выгравированы лилии с очень длинными стеблями — осями волн. Каждая лилия заканчивается вздыбленной коброй, увенчанной солнечным диском.
Возможно, именно Египет довел Фурье до одержимости теплом, так что символика надгробия прославляет как причину, так и следствие.
Другой выдающийся гражданин Гренобля — Жан-Франсуа Шампольон, первый профессор египтологии, — скончался через два года и тоже похоронен на Пер-Лашез. Его брат Жак-Жозеф Шампольон-Фижак написал одну из самых ранних биографий Фурье. «Дорогая Софи», близкая подруга Фурье Софи Жермен — Фурье вряд ли вел себя как
Незадолго до своей смерти Жермен сделала взнос в фонд на создание надгробного памятника Фурье на Пер-Лашез. Пуассон, до последнего противостоявший им обоим, отказался пожертвовать деньги на это. Не вполне удачно складывалась и судьба «Воспоминаний…», оригинального шедевра Фурье 1807 года, где впервые была сформулирована великая теория. Рукопись пропала более чем на 160 лет, пока наконец не обнаружилась в библиотеке Национальной школы мостов и дорог (École nationale des ponts et chaussées). Это не так странно, как кажется на первый взгляд. Эта школа — старейшее инженерно-строительное учебное заведение в мире, даже старше самого Фурье.
Природа гения
Почему великая идея Фурье встретила такое сопротивление? Проблема, по мнению его критиков, заключалась в следующем: как может что-то непостоянное — например, некая песня или картина — быть эквивалентно сумме регулярных волн?
В математике ничто не принимается на веру: либо доказано, либо нет, либо доказана недоказуемость. Сам Фурье, несмотря на удивительную интуицию, не сумел покорить эту вершину истинности в математическом выражении своей теории. Восполнить оставшиеся пробелы удалось молодому Петеру Густаву Лежёну Дирихле. Он приехал в Париж в 1826 году, познакомился с Фурье и был очарован им. Под руководством пожилого наставника Дирихле с математической строгостью обосновал теорию и опубликовал свои изыскания в 1829-м, в последний год жизни Фурье.
Тем не менее некоторых математиков все еще беспокоят дальние эзотерические заводи математики Фурье. А вот у инженеров дела обстоят иначе. В конце 1960-х я прошел чрезвычайно важный базовый курс по рядам Фурье у Рона Брейсвелла в Стэнфорде. Он усердно подчеркивал существование математических трудностей на периферии теории Фурье и строгие пределы ее применения. Но он также пояснил, что математические тонкости не мешают использовать ее при анализе явлений реального мира. Или, скорее, он четко дал понять, что реальный мир находится в пределах, установленных такими математиками, как Дирихле.
Математики имеют дело со всеми возможными узорами, а не только с теми, которые мы действительно встречаем в реальном мире. Математики изучают абстракции, а инженеры работают с физическими реалиями: теплом, светом, звуком, дорогами и мостами, изображениями. Для инженеров частоты и амплитуды Фурье такие же «физические», как и весь физический мир, который они описывают. Если Мать-природа создает закономерность, то великая идея Фурье почти всегда подходит для ее описания.
Ньютон и Эйнштейн знали, что обращаются с целой Вселенной, так же как об этом знают их последователи. Фурье, как и другие ученые, жившие в его время, не предвидел или не мог предвидеть, насколько универсальной окажется его великая музыкальная идея. У нас нет слов для обозначения гениальности, накапливающейся с течением времени или связанной с обширными последствиями развития идеи. Обычное представление о гениальности привязано к человеческой жизни — как в достижениях, так и в признании.
Тем не менее на протяжении двух столетий инженеры успешно и широко использовали гармоническую идею Фурье для нашего комфорта и развлечения. На ней основаны все современные средства передачи информации. Пиксель и история Цифрового Света — лишь один из последних примеров.
Несомненно, теперь Фурье оценен по заслугам, и неважно, будем ли мы называть его гением или нет. Если мы пройдем по тонкой линии, разделяющей гуманитарную и техническую культуры, то без труда заметим, что он известен и уважаем с обеих сторон.
2. Отсчеты Котельникова: нечто из ничего
Это — глухая, совершенно недостоверная, никем не подтвержденная легенда, которую нет-нет да и услышишь в лагерях: что где-то в этом же Архипелаге есть крохотные райские острова. Никто их не видел, никто там не был, а кто был — молчит, не высказывается. На тех островах, говорят, текут молочные реки в кисельных берегах, ниже как сметаной и яйцами там не кормят; там чистенько, говорят, всегда тепло, работа умственная и сто раз секретная. И вот на те-то райские острова (в арестантском просторечии — шарашки) я на полсрока и попал. Им-то я и обязан, что остался жив…
Человек, который изобрел пиксель и начал цифровую революцию, был председателем Верховного Совета РСФСР. Не в одно и то же время, но все-таки это один и тот же человек. Звали его Владимир Котельников. В 2003 году, когда ему исполнилось 95 лет, другой Владимир — Путин — вручил ему в Кремле орден «За заслуги перед Отечеством» I степени. Ранее Котельников получил и множество советских наград, в том числе шесть орденов Ленина, две Сталинские премии, две звезды Героя Социалистического Труда. Он пережил Октябрьскую революцию 1917 года, а также все репрессии и войны, которые с тех пор составляют историю современной России. Он едва избежал ГУЛАГа — а точнее, тех самых «райских островов» внутри него, где трудился Солженицын, — поскольку находился под защитой влиятельной жены одного из самых кровавых приспешников Сталина. Он поделился с американцами информацией о первом советском искусственном спутнике Земли и составил карту Венеры с помощью цифровых изображений — пикселей, полученных из космоса.
Заслуги Котельникова, что вполне ожидаемо для вдохновителя Великой цифровой конвергенции, отмечены и в Америке: в 2000 году он награжден медалью Александра Грэма Белла. Тем не менее его имя мало кому известно в Штатах. За ним редко признают одно из величайших открытий ХХ века — теорему выборки, идею, лежащую в основе всего мира цифровых медиа. Лавры первооткрывателя обычно достаются Клоду Шеннону, известному американскому инженеру и математику, хотя Шеннон никогда на них не претендовал.
Как и в биографии Фурье, в судьбе Котельникова проявились три движущие силы технологического прорыва: великая научная идея, хаос революции и войны, требующий воплотить ее в конкретное изобретение, и тираны, защищающие ученых и продвигающие их технологии.
Великая идея Котельникова, напрямую ведущая к пикселю, вплетена в поразительно параллельные судьбы малоизвестного Котельникова и знаменитого Шеннона.
Разбрасыватель
Идея состоит в следующем: цифровое может
Подобно тому как волна — это форма, представляющая частоты Фурье, существует форма, представляющая отсчеты, или выборки, Котельникова (см. рис. 2.1). Вскоре мы увидим, что это тесно связано с «формой» пикселя. Математики называют это «каменной стеной» или
Обратите внимание, что она напоминает одну из волн Фурье, гребни и впадины которой постепенно уменьшаются до тех пор, пока в любом направлении не сводятся к нулю. На самом деле это именно то, ради чего все и затеяно. Соответствующая волна везде имеет амплитуду, равную центральному горбу, и частоту, равную частоте колебаний «разбрасывателя» (рис. 2.2).
«Разбрасыватель» пришел из математики, а не из реального мира, но он напоминает расходящиеся круги от брошенного в воду камня — их высота тоже уменьшается с увеличением расстояния. Подобно им, его волна бесконечно движется в каждом направлении, но на некотором расстоянии от центрального горба гребни ее становятся настолько низкими, что уже не имеют значения. Как мы увидим, это очень важно в реальном мире. Самое раннее изображение «разбрасывателя», которое я нашел, в правильном контексте появляется в классической статье Владимира Котельникова, опубликованной в 1933 году (рис. 2.3).
Впервые я узнал об этой замечательной идее в начале 1960-х на электротехническом факультете. Нам рассказывали, что ее выдвинул Гарри Найквист, американский инженер и настоящий герой для нас, инженеров-электронщиков. Он работал в легендарной «Лаборатории Белла» (Bell Labs) в AT&T — мы все мечтали трудоустроиться туда. Но в конце 1960-х, когда я учился в Стэнфорде, информатика наконец-то стала отдельной дисциплиной и автором великой идеи начали называть Клода Шеннона, нашего нового героя во всем, что касалось цифровых технологий. Он первым использовал слово «бит» в печати. И он тоже работал там в качестве младшего коллеги Найквиста.
Но это американская версия событий, и здесь вступает в действие закон Стиглера: «Никакое научное открытие не было названо в честь первооткрывателя». (Сам Стиглер, кстати, считал, что этот закон открыт Робертом Мертоном.) Так что в России, безо всяких колебаний, лавры первооткрывателя всегда отдают Котельникову. В Японии эти заслуги приписывают Исао Сомея. В Англии — сэру Эдмунду Уиттекеру. В Германии — Герберту Раабе. Впрочем, если на то пошло, Найквист родился в Швеции. И только Шеннон — истинный американец, родившийся в Мичигане. Можно ли считать желание приписать ему лавры первооткрывателя проявлением нездорового патриотизма? Все вышеперечисленные сформулировали свои версии этой идеи раньше Шеннона, кроме Сомея — он опоздал на несколько месяцев. Получается, что чести дать свое имя теории — во всяком случае, в Соединенных Штатах — удостоился человек, сформулировавший ее практически последним.
Несмотря на всю путаницу с именованием, факты говорят сами за себя: великую идею — в том виде, в котором она используется в Цифровом Свете, — впервые четко, ясно и обстоятельно изложил и доказал Котельников в 1933 году. Нам на Западе трудно поверить, что такая фундаментальная идея появилась в худшие дни сталинской России. Во время холодной войны нас учили, что советская наука если не фальшивка, как биология Лысенко, то в лучшем случае основана на украденных идеях или раздута пропагандой. Придется смириться, что авторство Котельникова неоспоримо.
Рис. 2.1
Происхождение, работы и карьера
Владимир Александрович Котельников родился в 1908 году в Казани, старинном городе на Волге примерно в 500 милях к востоку от Москвы. Трудно представить ученого со столь же безупречной математической родословной. Его прапрапрадед Семен Котельников учился у Леонарда Эйлера, одного из величайших математиков всех времен. Часть математического аппарата, который использовал Фурье, — это прямое наследие Эйлера. В 1757 году Семен Котельников стал одним из первых академиков Санкт-Петербургской академии наук, основанной Петром Великим и ныне именуемой Российской академией наук.
Дед Владимира, Петр Семенович Котельников, был математиком в Казанском университете. Там в разное время учились Владимир Ленин и Лев Толстой, но Ленина исключили всего через три месяца после поступления, а Толстой бросил университет после второго курса. Среди тех, кто успешно закончил Казанский университет, наиболее известен математик Николай Лобачевский. Он бросил вызов древнегреческой геометрии Евклида, предположив, что ее пятый постулат о параллельных линиях не обязательно верен, — поразительная для того времени идея впоследствии заняла достойное место в общей теории относительности Эйнштейна. Петр Семенович был ассистентом Лобачевского, а затем занял пост декана физико-математического факультета.
Рис. 2.2
Рис. 2.3
Неудивительно, что отец Владимира, Александр Петрович Котельников, тоже окончил Казанский университет и тоже занимал пост декана физико-математического факультета. Но, что важно для нас, история Владимира Котельникова по-настоящему началась, когда Александр Петрович решил покинуть Казань и переехать с семьей в Киев, получив новую преподавательскую должность.
Котельниковы с шестилетним Владимиром прибыли в Киев в тот самый августовский день 1914 года, когда немецкая армия прорвала фронт. Население в панике бежало из города, увлекая за собой новоприбывших. С огромным трудом Котельниковым удалось на следующий день выбраться из Киева и вернуться в Казань. Семья попала прямо под первые удары Первой мировой, ставшей первой в череде войн, определивших жизнь и карьеру Владимира.
Следующими двумя стали Октябрьская революция 1917 года и последовавшая за ней Гражданская война между красными и белыми. Россия изменилась. Молодой Владимир тоже, но причиной тому были не войны. Посреди всего этого хаоса он впервые услышал радиопередачу.
«Как это устроено?» — спросил он отца.
«Ты этого пока не поймешь».
Такой ответ он воспринял как вызов и уже с десяти лет всерьез захотел разобраться, как работает радио. Большую часть следующих девяти десятилетий своей жизни он занимался радиотехникой и связью, а в его карьере отразились подъемы, потрясения и падение Советского Союза.
«Велик был и страшен год по Рождестве Христовом 1918, от начала же революции второй». Так начинается роман «Белая гвардия» Михаила Булгакова — повествование об ужасах, разрушениях и анархии, царивших в Киеве в годы Гражданской войны. Во второй раз Котельниковы выбрали неудачный момент, чтобы переехать туда. Им пришлось пережить весь описанный Булгаковым кошмар. Профессор варил мыло, а дети распускали занавески на нитки; денег не хватало, работы не было.
В 1924 году Александр Петрович перевез семью в Москву. Он получил профессорскую должность в Московском высшем техническом училище (МВТУ), старейшей высшей технической школе в России. МВТУ подверглось серьезным трансформациям в 1930 году, когда разделилось на пять самостоятельных учебных заведений. Одно из них — Московский энергетический институт (МЭИ) — стало одним из ведущих технических университетов мира. Можете считать его московским аналогом Массачусетского технологического института.
Владимир Котельников был одним из первых выпускников МЭИ. Сначала его туда не принимали из-за происхождения — он не был выходцем из рабоче-крестьянской среды, — но вскоре критерии изменились и ему удалось туда поступить. В 1931 году Котельников закончил МЭИ, получив диплом инженера-электрика по специальности «Радио». Он проработает в своей альма-матер следующие 75 лет.
Через некоторое время случился его
Когда он представлял эту работу преподавателям МЭИ, один из них сказал: «Все вроде верно, но больше похоже на научную фантастику». Нечто из ничего. Тем не менее они одобрили статью, дав старт его академической карьере.
В 1933 году, продолжая преподавать в МЭИ, Котельников поступил на работу в НИИ связи Народного комиссариата связи (НИИС НКС). Связь на войне имеет первостепенное значение, поэтому неудивительно, что, захватив власть в октябре 1917 года, большевики в первый же день создали Народный комиссариат почт и телеграфов РСФСР, впоследствии преобразованный в НКС. Котельников, начав с должности инженера, со временем стал начальником собственной лаборатории связи, а впоследствии и целого института. Он всегда одной ногой стоял в академической башне из слоновой кости, а другой — в реальном мире политики и войн.
Фундаментальные идеи, изложенные в опубликованных работах, а также ответственная работа в двух престижных организациях давали возможность быстро продвигаться как в академических, так и в политических кругах. Как мы уже видели на примере Фурье, ни в той, ни в другой сфере нельзя избежать танцев с тиранами.
Цифровые и аналоговые бесконечности
Не будем стесняться слова
Вы помните, что для каждого оборота, который совершает секундная стрелка, каждой минутной отметке на циферблате часов соответствует одна круглая черная точка на волне? По мере того как секундная стрелка движется по циферблату, точки бесконечно разворачиваются вправо. Сколько их? Ну, вы можете попытаться считать — раз, два, три и так далее, — но вам придется считать вечно. Это цифровая бесконечность. Последней точки нет, всегда можно добавить еще одну. Математики — по очевидной причине — называют это счетным множеством.
Рис. 2.4
Второй вид бесконечности — аналоговая бесконечность — не так прост. Рассмотрим две последовательные точки на волне. Сколько точек находится между этими точками? Ответ: их так много, что даже не сосчитать. Аналоговая бесконечность больше цифровой бесконечности, как бы странно это ни звучало. Математик Георг Кантор доказал, что это именно так, и вот как он это сделал.
Между любыми двумя точками на волне всегда есть еще одна точка. Теперь подумайте об этой средней точке и левой из двух исходных. Есть ли между ними еще одна точка? Конечно есть. Теперь повторите рассуждение для этой точки и левой из двух исходных. И так до бесконечности. Вы никогда не разделите отрезок между точками на такие мелкие части, чтобы дальнейшее деление стало невозможным. Другими словами, вы никогда не доберетесь до места, откуда получится сосчитать все точки. Математики предпочитают называть это неисчисляемой бесконечностью, но я буду придерживаться термина «аналоговая бесконечность». Оба понятия уместны: у непрерывных вещей аналоговое, или бесчисленное, множество частей, а количество частей у дискретных вещей исчисляется цифровой, или счетной, бесконечностью. По большому счету цифровое уступает аналоговому, даже если вы использовали очень много точек для представления гладкой кривой. Но великая идея Котельникова, похоже, заключается в том, что цифровое — вот так сюрприз! — эквивалентно аналоговому. При переходе на цифровые технологии ничего не теряется. Дискретный цифровой объект может быть точным представлением гладкого аналогового объекта.
На рис. 2.5 показан фрагмент звука или, скажем, визуальной сцены вдоль горизонтальной линии. Идея Котельникова работает в обоих случаях. Прямая линия внизу — нулевая громкость или нулевой уровень яркости, полная тишина или полная темнота. Кривая — это изменение громкости звука или изменение яркости визуальной сцены по мере того, как вы перемещаетесь вправо по линии. В любом случае мы отметим в исходном фрагменте черными зарубками точки, расположенные на одинаковом расстоянии друг от друга, — отсчеты. Мы начнем приходить к пониманию, отталкиваясь от этого одномерного примера, а затем постепенно перейдем к двум измерениям, необходимым для полной визуальной сцены. Точно так же мы поступили с волнами Фурье в первой главе.
Рис. 2.5
Рисунок 2.6 — это то, что вы получите, если удалите все точки на гладкой кривой, кроме тех, что отмечены черными зарубками. Между ними у нас есть только прямая линия нулевой громкости или нулевого уровня яркости. Нетрудно представить, как будет выглядеть двумерная версия. Представьте доску с гвоздями, забитыми на равных расстояниях по горизонтали и вертикали. Их высота варьируется в зависимости от яркости соответствующей гладкой поверхности — визуальной сцены. Везде, кроме мест, где расположены гвозди, высота поверхности будет нулевой.
Рисунок 2.5 — аналоговый, а рисунок 2.6 — цифровой. Вертикальные линии на втором называются
Вы можете вообразить, что, если просто сделать очень-очень много отсчетов и разместить их достаточно близко друг к другу, они станут аналоговой звуковой кривой. У многих людей есть такое же интуитивное представление, что пиксели — какими бы они ни были, — расположенные достаточно близко друг к другу, станут соответствующей визуальной сценой. Но такое предположение ошибочно. Вы не можете достичь достаточно близкого расположения. Невозможно заставить цифровую бесконечность достичь плотности аналоговой бесконечности. Нельзя сосчитать неисчислимое. Но Котельников, кажется, говорит, что можно. Тогда как же это сделать?
Более того, его теорема гласит, что точки, показанные на втором рисунке, уже расположены
Итак, с этими витающими в воздухе вопросами мы уже почти готовы подступиться к великой идее Котельникова. Но сначала вернемся к идее Фурье, поскольку теорема Котельникова базируется на ней. Фурье научил нас, что звук или изображение могут быть представлены как сумма волн. На рисунке 2.7 показана одна из волн, которые дают в сумме аналоговый фрагмент, использованный мной в качестве примера и для удобства изображенный сверху (места отсчетов обозначены точками). Вы можете
Перейдем к сути замечательной идеи Котельникова: если вы делаете отсчеты некоей гладкой аналоговой кривой с удвоенной частотой самой высокой частоты волн Фурье из составляющей ее суммы, то вы всегда сможете
Рис. 2.6
Котельников стоит на плечах гиганта Фурье. Частоты Фурье отражают скорость изменения аналогового изображения в поле зрения. Затем гениальная идея Котельникова подсказывает нам, как представить волны Фурье в цифровом виде. Удивительно, но для каждого цикла самой быстро меняющейся волны достаточно всего двух отсчетов. Нетрудно догадаться, почему именно двух: одно измерение для гребня волны, а второе — для впадины.
Пиксель
В цифровом мире у отсчетов Котельникова для визуального поля есть устоявшееся название. Мы называем их
Пиксели — это
Рис. 2.7
На самом деле у пикселей нет формы. Это просто отсчеты, взятые в узлах регулярной сетки, — вспомните наш пример с гвоздями. Они представляют собой абстрактные точки нулевого размера, не имеющие длины, ширины и толщины. Они невидимы и бесцветны. Это просто число, кодирующее оттенок серого, или три числа, обозначающие три интенсивности цвета. Как мы увидим, именно восстановление аналогового из цифрового с использованием идеи Котельникова придает пикселям форму.
Самому слову «пиксель» пришлось побороться за право на существование. Пиксели поначалу назывались по-разному: например,
В 1970-х годах было выдано много патентов, содержащих как
Пиксель напрямую связан с теоремой отсчетов; выборки и пиксели объединены еще с рождения. Как ни странно, в теории цифрового звука нет специального слова, такого как «пиксель», для обозначения элемента выборки, или «семпла», хотя цифровой звук существует благодаря все тому же трюку с использованием отсчетов Котельникова. К сожалению, применительно к аудио слово «семплирование» имеет другое значение. В хип-хопе, например, так называют заимствование фрагментов чужой музыки длительностью в несколько секунд, их соединение или смешение. Чтобы не возникало путаницы, для обозначения звукового отсчета я буду использовать специальное слово «соксель» (
Игры в имена
Весьма проблематично, что приоритет в открытии теоремы отсчетов в сегодняшних Соединенных Штатах приписывается Шеннону. Если оставить в стороне весь остальной мир, легко понять почему. Клод Шеннон — громкое имя в Америке. Теорему отсчетов он сформулировал в статье 1948 года «Математическая теория связи». В очень знаменитой классической статье 1949 года «Связь при наличии шума» он сформулировал и доказал теорему выборки в том виде, который сейчас используется во всем цифровом мире, а особенно применительно к Цифровому Свету. Его авторитет рос по мере того, как он получал различные престижные награды — например, национальную научную медаль США и медаль почета Института инженеров электротехники и электроники (IEEE). Он стал первым лауреатом премии, присуждаемой Группой теории информации IEEE и впоследствии названной в его честь. Он получил широкую известность на международном уровне и стал первым лауреатом премии Киото в области математики — награды не менее престижной, чем Нобелевская премия.
Рис. 2.8
Клод Элвуд Шеннон родился 30 апреля 1916 года в Петоски, штат Мичиган. Вырос он в соседнем городе Гейлорд, где, если верить слухам, из проволочной изгороди соорудил телеграфную линию между своим домом и домом друга. Еще он любил жонглировать, придумывать секретные коды и играть в шахматы. Он прослыл жизнерадостным гением со множеством интересов, выходивших далеко за пределы профессиональной деятельности. Он разъезжал на одноколесном велосипеде по залам Массачусетского технологического института, где получил докторскую степень по математике, а позднее и по коридорам Bell Labs, где разработал теорию информации. Еще он изобрел удивительную машину в коробке: если повернуть выключатель на боковой панели, из-под крышки появлялась механическая рука, которая возвращала его в исходное положение.[3]
Шеннон преуспел и в области криптографии. В 1945 году он написал засекреченный доклад «Математическая теория криптографии». Во время Второй мировой войны он проанализировал работу системы X-system, которая использовалась для безопасной голосовой радиосвязи между Франклином Д. Рузвельтом и Уинстоном Черчиллем. Шеннон математически доказал, что такую схему шифрования невозможно взломать. Шеннон также играл ключевую роль в изучении передачи данных в условиях помех, как, собственно, и называлась его статья 1949 года. Он показал, как отправлять цифровые сообщения по всей Солнечной системе, чтобы избежать искажений от воздействия космического шума. Именно благодаря идее Шеннона на вашем ноутбуке можно посмотреть видео, переданное с марсохода Curiosity. На фоне столь впечатляющего списка заслуг кажется вполне естественным, что имя Шеннона связано с теоремой отсчетов. Однако сама идея ему не принадлежала, о чем Шеннон не раз упоминал[4].
«Это общеизвестный в теории связи факт, — писал он в статье 1949 года. — Теорема была первоначально дана в других формах математиками, но, несмотря на ее очевидную важность, не приводилась в литературе по теории связи».
Но «в литературе по теории связи» теорема выборки
Шеннон и Котельников (рис. 2.9) были лидерами в сфере цифровой связи в своих странах, особенно если дело касалось преодоления помех или шифрования. Оба удостоились высших государственных и научных наград. И оба сформулировали и доказали теорему выборки в том виде, в каком она используется сегодня.
Нельзя не задаться вопросом, оказал ли один влияние на другого. Любопытно, что Шеннон, младший из них, с отставанием на несколько лет повторял интеллектуальные достижения Котельникова, но я не нашел никаких доказательств, что Шеннон знал о засекреченных работах Котельникова. В любом случае не удивительно, что русские называют эту великую идею теоремой отсчетов Котельникова. А разве американцы не должны?
Разбрасывай и складывай
Вторая половина идеи Котельникова — великой теоремы отсчетов — объясняет, как из дискретных пикселей восстановить непрерывную картинку, причем с абсолютной точностью. Самое удивительное, что, похоже, в цифровом изображении почти нет информации — находящаяся между каждой парой пикселей бесконечность аналоговых точек просто отброшена. То же самое с цифровым звуком и каждой парой сокселей. Вторая часть теоремы отсчетов сообщает нам, где найти недостающие бесконечности.
Вот как аналоговое восстанавливается из цифрового. Распределите каждый пиксель в пространстве с помощью «разбрасывателя», ключевой формы этой главы. Сложите результаты. Вот и все. Теорема отсчетов утверждает, что этот процесс «разбрасывания» и сложения полученных результатов точно воспроизводит недостающие бесконечности между пикселями! Как и в случае с другими великими математическими теоремами, такие выводы вовсе не очевидны. Мы должны верить математике.
Здесь нам снова поможет пример с волной, но для простоты мы возьмем только два центральных сокселя (рис. 2.10). (Чуть позже от них мы перейдем к пикселям.) Напомню, что соксель — это отсчет для кривой, изображающей аналоговый звук, а ее высота над нулевой линией обозначает его громкость. Таким образом, высота сокселя представляет собой громкость звуковой волны только в той точке, где сделан этот отсчет. Соксель справа будет менее громким, чем тот, что слева.
Рис. 2.9
Сначала мы разберемся с левым сокселем при помощи «разбрасывателя», изображенного на рисунке 2.1. Напомню, что его колебания той же частоты, что и у волны Фурье с самой высокой частотой исходного фрагмента. Его максимальная амплитуда на центральном выступе соответствует максимальной громкости. Для выполнения операции «разбрасывания» заменим левый соксель копией разбрасывателя (рис. 2.11). Я люблю говорить, что это «разбрасывание» превращает соксель из отсутствия формы (ничего) в показанную на рисунке форму (нечто). Его самая высокая точка — вершина центрального горба — имеет ту же громкость, что и соксель, который он заменяет. Два сокселя показаны пунктиром. В частности, из рисунка видно, что высота разбрасывателя — его максимальная громкость — соответствует высоте левого сокселя. В нашем примере она составляет 80 % от полной громкости. Представьте, что у вас есть переключатель для ее регулирования.
Теперь поместите еще одну копию разбрасывателя над правым сокселем (рис. 2.12) и поворачивайте переключатель, пока его максимальная громкость не совпадет с громкостью этого сокселя, в нашем случае 50 % от полной громкости, — таким образом будет «разбросан» второй соксель.
А вот результат (рис. 2.13) сложения двух «разбросанных» сокселей. В каждой горизонтальной позиции возьмите высоты расположенных там сокселей (светло-серые), измеренные от линии нулевой громкости, и сложите их вместе, чтобы получить точку на жирной кривой.
Рис. 2.10
Я до сих пор обходил стороной физическую реальность. Описанный в этой главе разбрасыватель не существует в реальном мире. Он бесконечно широк. Его колебания уходят влево и вправо до бесконечности. Очевидно, в действительности такое невозможно, поэтому реальные разбрасыватели лишь приближенно соответствуют идеальному.
Особенно часто используется кубический разбрасыватель, отличающийся практичностью и удивительной точностью (рис. 2.14). Обратите внимание, насколько он похож на среднюю часть идеального разбрасывателя, включая наличие двух отрицательных лепестков (ниже линии нулевой громкости). Кубический разбрасыватель равен нулю везде, кроме двух отсчетов слева и двух справа от центрального отсчета — того, который «разбрасывается» им самим. Другими словами, он имеет конечную ширину, поэтому может существовать в реальном мире.
Рис. 2.11
Рис. 2.12
Рис. 2.13
До сих пор я описывал одномерное разбрасывание. Амплитуда звуковых волн изменяется только в одном измерении (во времени), поэтому приведенные выше иллюстрации подходят для сокселей, но не для пикселей. Разбрасыватель для пикселей должен работать в двух измерениях, поскольку изображения простираются (в пространстве) в двух измерениях — горизонтальном и вертикальном. Разбрасыватель пикселей должен «разбросать» каждый гвоздь (пиксель) из нашей воображаемой доски с гвоздями так, чтобы каждый «разбросанный» пиксель внес свой вклад в двумерную поверхность, которую мы увидим. Можете считать предыдущие иллюстрации точными чертежами поперечного сечения разбрасывателя пикселей в горизонтальном измерении, а в вертикальном измерении оно будет точно таким же. Но можно сделать нагляднее.
Рис. 2.14
Рис. 2.15
На рисунке 2.15 показан полный двумерный разбрасыватель для пикселя. Поставьте лезвие острого ножа в самую яркую точку и разрежьте эту маленькую гору пополам от вершины до основания, как показано на иллюстрации. Тогда передняя кромка разреза будет точь-в-точь как кубический разбрасыватель с рисунка 2.14. Вы увидите то же самое, если разрежете маленькую гору поперек. Поскольку этот разбрасыватель остается кубическим в каждом измерении, его называют
Итак, теперь давайте проведем разбрасывание и сложение над целым рядом пикселей, но вместо идеального разбрасывателя воспользуемся бикубическим. Для простоты и наглядности мы сделаем это в поперечном сечении. Но не забывайте, что каждый разбрасыватель на самом деле представляет собой небольшую горку, подобную той, которую мы только что видели, и что неровная доска с гвоздями простирается в двух измерениях с небольшой горкой у каждого гвоздя. Сначала мы разместим разбрасыватели для каждого пикселя (рис. 2.16).
Затем мы проведем сложение их всех, чтобы получить результирующую яркость в каждой точке. На рисунке 2.17 она показана вдоль одной горизонтальной линии визуальной сцены. Кривая яркости, выделенная жирным, восстанавливает исходный аналоговый фрагмент, который я повторяю чуть ниже для простоты сравнения. Восстановление получилось не идеальным — скорее приблизительным, но довольно близким к оригиналу, поскольку мы использовали далеко не идеальный разбрасыватель. Это как дубликат ключа по сравнению с оригиналом. Замок открывают и тот и другой.
Только представьте, насколько эти фигуры (а они уже довольно сложные всего для дюжины или около того пикселей) станут сложными для, скажем, миллиона пикселей. Однако важным отметить, что каждый отдельный шаг очень прост: переместите разбрасыватель на нужное место, отрегулируйте его яркость и просуммируйте его с другими. И у нас есть кандидат на такую работу, способный раз за разом повторять три простых действия, ни разу не запутавшись и не заскучав от нудной работы, — конечно же, это компьютер. Вот почему следующие две главы посвящены компьютеру и его чудесной способности Усиливать (с большой буквы «У»!) ничтожные человеческие возможности — скажем, умение «разбрасывать» один пиксель — в миллион или миллиард раз и делать это очень быстро, не говоря уже о том, чтобы просуммировать все эти пиксели. Просуммировать один раз просто — это под силу даже человеку, — но операцию нужно повторить миллион или миллиард раз. Вот почему нам необходимы компьютеры, чтобы получить Цифровой Свет, хотя математика Котельникова и Фурье показывает, что мы, в принципе, способны сделать это и вручную.
Рис. 2.16
Давайте снова обратимся к магии. Кто-то сделал видеозапись какого-то события, например оперы, или аудиозапись звука, допустим концерта, где-то далеко от нас — скажем, в Пекине — и большую часть выбросил, сохранив лишь выборку. Возможно, поток пикселей (или сокселей) передавался через спутник связи, находящийся в тысячах миль над землей, или был отправлен через всемирную паутину к вам в Сан-Франциско. Поток мог годами находиться в компьютерном файле на жестком диске, прежде чем вы получили к нему доступ. На протяжении всего путешествия сквозь пространство и время аналоговая бесконечность оригинала отсутствовала. От него остались лишь пиксели или соксели, которые вы не могли ни видеть, ни слышать. Даже когда вы наконец загрузили их на свой компьютер или мобильный телефон, аналоговая бесконечность все еще отсутствовала и вы все равно не могли их увидеть или услышать. Затем начинается волшебство: вы смотрите на пиксели или слушаете соксели. Именно в этот момент происходит только что описанное разбрасывание и сложение — реконструкция, — и перед вами предстает полная аналоговая бесконечность информации, которую видел человек в Пекине за много миль от вас или даже много лет назад.
Рис. 2.17
Недостающая бесконечность снова появляется, когда она отображается на экране или звучит из динамика, но никак не раньше. Мы думаем, что носим с собой на флешке или в смартфоне изображение или звук, но это не так. Мы транспортируем его в сильно сжатой форме. Старые медиа прошлого века — например, кинопленка и видеокассета — действительно сохраняли аналоговую бесконечность на всем пути канала связи от источника до дисплея. Новая среда сокращает ее до цифровых отсчетов и заново воссоздает оригинальное аналоговое изображение или звук только в самый последний момент.
Итак, вот в чем секрет теоремы отсчетов и вот почему, вопреки мнению сомневающегося профессора МЭИ, она на самом деле не создает «нечто из ничего». Любой разбрасыватель, который мы используем, идеальный он или нет, представляет собой аналоговую форму: он содержит аналоговую бесконечность точек. Добавляя его к каждому пикселю — крошечную каплю бесконечности — и суммируя результаты, мы снова эффективно вводим аналоговую бесконечность повсюду. Нечто, находящееся в разбрасывателе пикселя, покрывает кажущееся ничто, расположенное между пикселями. Это
Рис. 2.18
Пиксели НЕ квадратные
У пикселя нет формы, пока разбрасыватель не преобразует его. Я часто рисовал для наглядности вид сбоку, где они изображены как вертикальные столбики или гвоздики соответствующей высоты. На рисунке 2.18 (слева) показаны два центральных пикселя текущего примера.
Другой способ представить пиксели — посмотреть на них, так сказать, сверху, чтобы вы «увидели» их естественным образом. Но увидеть пиксели невозможно. Нам доступен лишь результат их преобразования через разбрасыватели. Так как же это будет выглядеть сверху, то есть так, как мы видим пиксели на самом деле? На рисунке 2.18 (в центре) показано изображение двух пикселей, прошедшее процедуру «разбрасывания и суммирования» с помощью бикубического разбрасывателя в Photoshop. Они выглядят как маленькие горки, если смотреть на них сверху. Более светлый преобразованный пиксель слева еле виден (но он там есть), его перекрывает более темный.
Как видите, тут нет
Если вам
Легко понять, как появилось мнение, что пиксели — это крошечные квадратики. Эту иллюзию поддерживают многие приложения, например графические редакторы. Вот какую иллюстрацию я сделал в Photoshop, посмотрите внимательно на рисунок 2.19. Скопление из 14 серых пикселей на белом фоне слишком маленькое, чтобы разглядеть его. На самом деле вы, конечно, не видите эти 14 пикселей. Вы видите 14 пикселей, преобразованных в изображение.
Почти во всех использующих пиксели приложениях есть функция масштабирования или какой-то ее аналог. Она, например, показывает, как выглядит изображение при сильном увеличении, как если бы вы рассматривали его через лупу. В центре рисунка 2.19 показан результат использования функции «Приблизить» в Photoshop — наши 14 пикселей увеличены в 16 раз.
Получается, пиксели тогда должны выглядеть как маленькие квадратики, верно? Вовсе нет! «Приближение» использует быстрый и грубый, но неточный трюк, чтобы заставить вас думать, будто изображение «увеличилось». Каждый пиксель просто повторяется 16 раз по горизонтали, а затем каждая строка из 16 идентичных копий — 16 раз по вертикали. В результате каждый исходный пиксель заменяется квадратным массивом того же цвета размером 16 на 16 пикселей. Таким образом, каждый массив выглядит — вот так сюрприз — как квадрат того же цвета. Но все эти квадраты вовсе не изображают массив исходных пикселей крупным планом. Каждый из них состоит из
Рис. 2.19
На рисунке 2.19 (справа) показано, как на самом деле выглядит исходное изображение, когда программа Photoshop увеличивает его в 16 раз (с помощью функции «Размер изображения»). Вторая часть теоремы отсчетов объясняет, почему вы видите пятна, каждое из которых имеет исходный серый цвет в центре, но быстро и плавно осветляется во всех направлениях, частично сливаясь с соседними пятнами.
Большой террор и тираны
Великая сталинская чистка — Большой террор — длилась с 1934 по 1939 год. Ее проводил пресловутый Народный комиссариат внутренних дел (НКВД), предшественник КГБ. Многих приговорили к смерти на печально известных показательных процессах, сотни тысяч, а то и миллионы россиян были отправлены в трудовые лагеря — на острова архипелага ГУЛАГ. Русский писатель Солженицын рассказал нам правду о ГУЛАГе и о трагедии, которая не имела «ничего сравнимого с собой во всей истории».
Два тирана, дирижировавшие кровавой трагедией, повлияли и на судьбу Котельникова. Роберт Конквест, авторитетный историк Большого террора, охарактеризовал как «особо кровожадных» четырех влиятельных молодых сталинистов, руководивших чисткой. Среди них были и тираны Котельникова — Георгий Маленков и Лаврентий Берия.
Доклад Маленкова на XVIII партийной конференции в Москве в феврале 1941 года положил начало еще одной чистке, тайной сталинской чистке, уступавшей только Большому террору. В выступлении отмечалось, что рост промышленности резко замедлился, а на руководящих постах свирепствует некомпетентность. Таким образом, незадолго до вторжения Гитлера в Россию десятки наркоматов (в СССР народные комиссариаты — это аналоги министерств, то, что американцы могли бы назвать федеральными бюро или национальными департаментами) были ликвидированы, в том числе в список попал и Народный комиссариат связи (НКС). НКС был расформирован — весь, за исключением лаборатории Котельникова, которую оставили из-за ее военного значения[5].
Во время Второй мировой войны Сталин возглавлял комитет из пяти человек, который управлял страной, Маленков и Берия тоже входили туда. Берия к тому же руководил НКВД с помощью своего заместителя Виктора Абакумова, третьего тирана Котельникова. Создав Смерш — главное управление контрразведки Наркомата обороны (да, любители Яна Флеминга, эта организация действительно существовала), Сталин назначил Абакумова его руководителем.[6]
После Второй мировой войны Маленков стал могущественным политиком, по полноте власти уступавшим только Сталину. Сталин удерживал Маленкова и Берию под контролем, назначив Абакумова на еще более высокую должность. Так что Берия и Абакумов руководили государственным аппаратом, управлявшим трудовыми лагерями ГУЛАГа. Они организовывали массовые расстрелы своих политических соперников в Ленинграде и отправляли тысячи человек в лагеря. А когда Сталин умер в 1953 году, Маленков стал председателем Совета министров Советского Союза.
Котельников поддерживал связь со всемогущим Маленковым через его жену Валерию Голубцову. Она приложила немало усилий, чтобы поспособствовать взлету карьеры Котельникова, и даже стала его покровительницей.
У Голубцовой была первоклассная революционная родословная. Ее мать Ольга Невзорова вместе со своими сестрами Зинаидой, Софьей и Августой входили в ближайшее окружение молодого Ленина. Две сестры связали свою жизнь с очень влиятельными мужчинами. Зинаида и ее муж Глеб Кржижановский в период ухаживаний и первых лет брака отбывали ссылку в Сибири вместе с Лениным и его женой Надеждой Крупской. Глеб, один из старейших деятелей революционного движения, состоял в партии с 1893 года и дружил с Лениным. А мужу Софьи Сергею Шестернину Ленин доверял сверхсекретные большевистские финансы.
Валерия Алексеевна Голубцова проявила себя блестящим организатором и администратором. Она окончила Московский энергетический институт (МЭИ), когда женщины-инженеры почти везде в мире еще были в диковинку. Она также прослыла властной, упорной и решительной. Проявив прекрасные организаторские способности, она на протяжении десяти лет возглавляла МЭИ и сумела превратить его в мощный академический центр. Она прилагала все усилия, чтобы интеллектуальные звезды вроде Котельникова попадали к ней в институт, а не в ГУЛАГ. Она не была тираном, но очень эффективно использовала статус жены тирана, чтобы получить все что хотела.
Как работает Цифровой Свет
Котельников разработал теорию отсчетов и спроектировал идеальный способ превратить пиксель обратно в картинку. Но в то время он понятия не имел, как эти идеи воплотятся на практике. В современном цифровом мире есть существенное преимущество: на другом конце канала передачи данных находится не просто теоретическая волна-разбрасыватель, а реальное устройство, которое способно выполнять необходимые операции для восстановления из цифровых отсчетов аналогового света, необходимого вашим глазам.
Работа Цифрового Света основана на предположении, что недостающая информация волшебным образом появится — путем применения к пикселям соответствующих операций разбрасывания и сложения — где-то в процессе, ближе к моменту отображения. Так же работает цифровой звук. Предполагается, что возле слушателя находится устройство, которое преобразует соксели в исходный аналоговый звук, который требуется вашему уху. Устройство отображения звука — это акустическая система и «раскачивающий» ее усилитель. Отображение, по сути, сводится к восстановлению аналогового оригинала — формы, необходимой для восприятия вашему мозгу, — из отсчетов.
Если вы сделаете снимок на свой мобильный телефон, а затем рассмотрите его на экране компьютера, скорее всего, вы увидите два разных результата преобразования пикселей. Если вы взглянете на тот же снимок, напечатанный на бумаге, перед вами предстанет еще одно преобразование. Единственное, что остается неизменным, — это фактические пиксели за устройством отображения, невидимые пиксели, воссоздаваемые на дисплее, точки с прикрепленным к ним значением — или тремя значениями, если изображение цветное. Одним из неизвестных широкой публике достижений Цифрового Света является сведение капризов различных технологий воспроизведения изображения (и, несомненно, многих других, которые еще появятся) лишь к аппаратному (дисплей) и программному (драйвер) обеспечению. Производители выпускают множество разных дисплеев и драйверов. Нам, пользователям, не нужно беспокоиться ни о чем, кроме самих пикселей. Наши дисплеи сами делают все операции, необходимые для их преобразования в изображение. Это Великая цифровая конвергенция в действии.
Конвергенция вбивает клин между созданием пикселей и их отображением. В Пространстве Созидания пиксели бесплотны, чисты и универсальны, а в Пространстве Отображения приходится столкнуться с далекой от идеала действительностью. Вся сложность технологий реального мира заключается в проблеме преобразования пикселей, поступающих из Пространства Созидания. Именно здесь сосредотачивается инженерный опыт тысяч производителей, чтобы с максимальным качеством воплотить идеальный разбрасыватель при помощи физических материалов: плазмы, жидких кристаллов, люминофоров, чернил. Нам, пользователям, остается беспокоиться лишь о платонических пикселях Пространства Созидания. Вот почему я призываю не путать преобразованный пиксель, доступный для восприятия, с реальным пикселем — невидимой абстракцией. Давайте не будем путать ограниченное физическое Пространство Отображения с необъятным творческим Пространством Созидания.
Часто производители называют маленькие светящиеся элементы на своих дисплеях «пикселями». Но это только вносит путаницу, смешивая преобразованный пиксель (их следует называть элементами изображения) с настоящим. Свечение каждого элемента изображения — интенсивность испускаемого света, высокая в центре и уменьшающаяся до нуля по мере удаления от него, — является «разбрасывателем» конкретного устройства отображения. Пиксель входит в элемент отображения, а на выходе получается преобразованный пиксель — именно то, что вы на самом деле видите. Как правило, форма элементов отображения уникальна для каждого производителя, а иногда даже варьируется у разных продуктов одного и того же бренда.
Вот как работает Цифровой Свет: он извлекает пиксели из реального мира (даже если это пейзажи Марса и Венеры или вообще что-то фантастическое, существующее только внутри компьютеров) и рассылает их повсюду. Они содержат только дискретную информацию о своем положении и интенсивности (или цвете). Фактический свет, который, как нам кажется, исходит от пикселя, создается устройством отображения только в самый последний момент, непосредственно перед тем, как вы увидите изображение, а вовсе не в одном из промежуточных мест, где пиксели передаются или хранятся, и не в тех местах — на Земле или на соседней планете, — где они были созданы. Гладкое исходное изображение появляется только на дисплее. Если пиксели созданы правильно, в соответствии с теоремой отсчетов, и если их реконструкция на дисплее выполнена хорошо, также в соответствии с теоремой Котельникова, тогда полученный результат будет точным представлением оригинала. Мы получаем нечто из ничего. Пиксель — это ничто, у него нет измерений, а отображаемое на дисплее цветное пятно света — это нечто. Теорема Котельникова делает такую схему возможной. Без нее цифровой мир не существовал бы.
Шпионы и шифровальщики
И вот идея вокодера состоит в искусственном воспроизведении человеческого голоса… Воспроизведении путем суммирования если не всех, то хотя бы основных гармоник, каждая из которых может быть послана отдельным датчиком импульсов. Ну, с системой декартовых прямоугольных координат вы, конечно, знакомы, это каждый школьник, а ряды Фурье вы знаете?
Попытка Котельникова представить свои идеи более широкой аудитории не увенчалась успехом. В 1936 году его статью, где содержалась теорема отсчетов, отверг журнал «Электричество». Но в том же году произошло куда более интригующее событие: Котельников посетил США! Я получил некоторую информацию о его визите и нашел копию записи из пассажирского журнала корабля, сделанную после прибытия. Из нее следует, что Котельников получил 60-дневную визу, его поездку оплатило советское правительство, а направлялся он в офис торговой компании «Амторг» в Нью-Йорке[7].
Арманд Хаммер основал «Амторг» в 1924 году для облегчения торговли между СССР и США. Он был обаятельным человеком, сыном основателя Коммунистической партии США Джулиуса Хаммера, давшего ему имя в честь символа Социалистической рабочей партии Америки:
Компания «Амторг» не только занималась торговлей, но и содействовала промышленному и военному шпионажу в пользу СССР. Согласно рассекреченному отчету Агентства национальной безопасности (АНБ), в 1931 году Соединенные Штаты прилагали огромные усилия, пытаясь взломать шифр, который использовался при коммуникации между «Амторгом» и Москвой. Намерения США потерпели неудачу, потому что «русские использовали систему одноразовых блокнотов для шифрования».
Это особенно интересная деталь, потому что системы шифрования, основанные на одноразовых, заранее подготовленных общих ключах, не имели достоверных
Или, возможно, он собирал данные об использовании шифрования по системе одноразовых блокнотов, потому что именно Котельников впоследствии математически доказал ее надежность. Он представил свое доказательство всего за три дня до вторжения Гитлера в Советский Союз. Возможно, не стоит удивляться, что Шеннон тоже занимался доказательством надежности этой системы; его статья была опубликована с грифом «Секретно» в 1945-м и рассекречена в 1949-м.
Котельников, возможно, занимался этим в своей лаборатории. Она уцелела, потому что военные нуждались в продолжении ее работ по шифрованной радиосвязи. Но поскольку в конце 1941 года немцы быстро продвигались к Москве, лабораторию эвакуировали в Уфу, город, расположенный примерно в 300 милях восточнее Казани, что на 800 миль дальше от западной границы, чем Москва.
Во время Сталинградской битвы русские войска критически зависели от проводной телефонной связи. Она с трудом успевала за движением войск, а из-за диверсий или попаданий снарядов неизбежно выходила из строя, что доставляло армии немало проблем. Лаборатория Котельникова разработала приборы для секретной радиотелефонии, которые позволяли использовать радио, а не проводную связь. К началу 1943 года наладилось производство этой аппаратуры, и она поступила в действующую армию. За столь важную разработку Котельников и его лаборатория получили Сталинскую премию. Позже, в мае 1945 года, разработанное в лаборатории оборудование шифрованной радиосвязи использовалось для организации связи Москвы с советской делегацией при подписании капитуляции Германии. В следующем году Котельников получил еще одну Сталинскую премию.
Когда лаборатория вернулась в Москву из Уфы, ее перевели в распоряжение НКВД. В этот опасный момент Котельникова разыскала Голубцова, новый директор МЭИ, и предложила ему работу в институте. Он воспользовался подвернувшимся шансом. Ее вмешательство спасло его, руководителя сверхсекретного проекта, от тюремной системы НКВД.
Успеху в Советском Союзе сопутствовала опасность. Талантливые ученые и инженеры рисковали угодить в шарашки. Так назывались печально известные секретные научно-исследовательские и опытно-конструкторские тюрьмы системы ГУЛАГа, находившиеся в ведении НКВД. О них нам тоже рассказал Солженицын. Это те самые описанные им «райские острова». Многие ученые и инженеры попали туда, чтобы разработанные ими очередные ракета, самолет или ядерная бомба принадлежали только России-матушке. Заключенных, которых отправляли в ужасные трудовые лагеря, морили голодом и холодом, заставляли работать до изнеможения. «Привилегированные» заключенные, попавшие в шарашки, пребывали в тепле и относительной сытости. Но тем не менее это было тюремное заключение, которое часто длилось десятилетиями. Это были самые удивительные тюрьмы, когда-либо придуманные человеком, — тюрьмы для лучших и умнейших, почти без надежды когда-либо выйти на свободу.
Марфинская шарашка, расположенная в бывшем Александро-Мариинском детском приюте Богоявленского монастыря на севере Москвы (рис. 2.20), предназначалась для работы над секретными средствами связи и системами безопасности. Котельников, вероятно, оказался бы там, если бы его не спасла Голубцова. Некоторые сотрудники его уфимской лаборатории попали туда, пополнив контингент ученых и конструкторов. Там же отбывал наказание и Александр Солженицын. Его роман «В круге первом» повествует о жизни в этой шарашке с 1947 по 1950 год.
«В круге первом» — роман-намек, в котором под вымышленными именами выведены реальные лица. Солженицын представлен в нем двумя персонажами. Впрочем, Сталин изображен самим собой. В книге также фигурируют Берия, ответственный за систему шарашек, и Абакумов, глава Министерства госбезопасности (МГБ) — преемника НКВД и предшественника КГБ. Еще в романе присутствует интригующий персонаж — Владимир Челнов, математик, профессор и академик, имеющий особые отношения с МГБ, — вероятно, его прообразом мог стать Владимир Котельников. Вот две цитаты из книги:[8]
Рис. 2.20
На шарашке Марфино профессор Челнов был единственный зэк, которому разрешалось не надевать комбинезона (по этому вопросу обращались лично к Абакумову).
В Марфино Челнов был прислан для разработки математических оснований абсолютного шифратора, то есть прибора, который своим механическим вращением мог бы обеспечить включение и переключение множества реле, так запутывающих порядок посылки прямоугольных импульсов изуродованной речи, чтобы даже сотни людей, поставив аналогичные приборы, не могли бы расшифровать разговора, идущего по проводам.
Владимир Котельников, математик, профессор и (будущий) академик, имевший особые отношения к МГБ, то есть находящийся под защитой Голубцовой, специализировался на устройствах для шифрования голоса. Он признавал, что в качестве основы для разработки аппаратуры для шифрования голосовой радиосвязи использовал идею вокодера, или кодировщика голоса, прочитав статью Гомера Дадли из Bell Labs, опубликованную в 1939 году.
Следующая цитата из романа вносит немного ясности.[9]
— Какого аппарата искусственной речи! — отмахнулся Прянчиков. — Что за чушь! Его никто так у нас не называет. Это переименовали в борьбе с низкопоклонством. Во-ко-дер. Voice coder.
В 1947 году настоящий Абакумов вызвал Котельникова в МГБ и рассказал ему о создании Специальной лаборатории по разработке «абсолютно строго секретной» радиотелефонной техники. В книге Солженицын пишет, что непосредственным заказчиком секретной телефонии был параноик Сталин и что именно над ней в Марфино работал герой романа — заключенный Солженицын. Абакумов предложил Котельникову престижную должность руководителя Специальной лаборатории и попытался подсластить сделку льготами и привилегиями. Поразительно, но Котельников твердо отклонил предложение, хотя и хорошо понимал, с каким опасным человеком имеет дело.
«Ну что ж, а жаль…» — сказал Абакумов, и встреча закончилась.
Абакумов был опасен, его боялся даже Берия. Смертельно испугавшись его заключительного «Ну что ж», Котельников тотчас отправился к Голубцовой и рассказал ей о случившемся.
«Ну а сами-то вы чего хотите?»
«Работать в МЭИ».
«Тогда продолжайте спокойно работать», — предложила она.
Она снова спасла его.
Чем на самом деле занимался Котельников вместо разработки сталинского секретного телефона — а возможно, и параллельно с ним, — становится понятно из воспоминаний Бориса Чертока, известного советского ракетчика, о встрече, состоявшейся в 1947 году в кабинете директора МЭИ Голубцовой, куда она пригласила его, чтобы он рассказал ей о нуждах Центрального научно-исследовательского института машиностроения (НИИ-88).
«За короткое время результаты этой встречи превзошли наши самые оптимистичные ожидания. Разработкой озвученных мною идей руководил 39-летний профессор Владимир Котельников, — вспоминал он. — Буквально дней через десять после моей встречи с учеными из МЭИ в кабинете Голубцовой вышло постановление правительства за подписью Сталина о создании в МЭИ сектора специальных работ… Через год коллектив, сплотившийся вокруг Котельникова, уже разрабатывал систему „Индикатор-Д“, которую мы использовали при летных испытаниях первых отечественных ракет Р-1 в 1948 году. Начиная с этого времени, все последующие ракеты во время испытательных полетов оснащались радиосистемами, разработанными в МЭИ».
Р-1 была русской версией «Фау-2», ракеты Вернера фон Брауна, которую Германия использовала для обстрелов Лондона.
«В начале 1950-х годов коллектив Котельникова создал знаменитую радиотелеметрическую систему „Трал“… Система „Трал“ была основным инструментом при отработке первой межконтинентальной ракеты Р-7, пилотируемых космических кораблей и при летно-конструкторских испытаниях основных ракет нашего ракетно-ядерного щита».
Р-7 была первой советской межконтинентальной баллистической ракетой (МБР).
Коллектив, «сплотившийся вокруг Котельникова», получил название Особое конструкторское бюро (ОКБ) МЭИ. Он, вероятно, руководил работой, пользуясь преимуществами своего защищенного положения, точно так же как Черток возглавлял отдел в НИИ-88. Так началось участие Котельникова в космической гонке.
Достаточность правильного цифрового представления
До сих пор я говорил, что пиксели могут представлять любой уровень яркости. Но точка на аналоговой кривой — это аналоговое значение, то есть на самом деле она может иметь любое бесконечное число значений амплитуды между максимальной и минимальной. Строго говоря, аналоговое значение яркости изображения для определенного отсчета — это еще не пиксель. Оно станет пикселем, когда преобразуется в биты, и лишь тогда можно будет провести обратную операцию по разбрасыванию, превратив его в свечение, которое вы видите на дисплее. Цифровой отсчет, такой как пиксель, может принимать только определенные дискретные значения, и их конечное число.
Хотя компьютерами мы плотно займемся в следующих главах, немного «компьютерного языка» понадобится нам уже сейчас. Известно, что бит может принимать два значения, обычно называемые 1 и 0. Думайте о бите как о выключателе света. Он имеет два положения — включено и выключено. Теперь рассмотрим два выключателя. В каких положениях они могут быть? Оба включены; оба выключены; первый включен, а второй выключен; первый выключен, а второй включен. Итак, ответ — четыре. Другими словами, два бита (выключателя) могут иметь четыре значения, а три — уже восемь. Как мы уже отметили, третий выключатель может быть включен или выключен, а два других могут находиться в четырех разных положениях. Дважды четыре — восемь. В целом, по мере добавления выключателей количество различных положений каждый раз удваивается. Чтобы избавить вас от математических хлопот, я просто скажу, что 8 битов (выключателей) могут иметь 256 значений (положений), 10 битов — 1024 значения, а 16 битов — 65 536 значений.
В первые десятилетия компьютерной графики было принято ограничивать пиксель черно-белого изображения восемью битами. Это означало, что он мог представлять только один из 256 оттенков серого. Например, значения 0 и 255 дают черный и белый цвета соответственно, а между ними распределяются 254 других оттенка. Но фактическое значение на аналоговой кривой может оказаться, например, 49,673. Что тогда делать? Что ж, пиксель для этой точки получит ближайшее доступное значение серого — 50, что внесет небольшую ошибку в изображение, когда оно позже появится на дисплее. Насколько критична крошечная ошибка при округлении яркости? Достаточно ли 50 близко к 49,673, чтобы округление не имело значения? Что такое «достаточно близко» для яркости пикселей?
Вот пример, когда нам действительно нужно различать «достаточно близкие» значения. Врачи, особенно радиологи, «читают» изображения на дисплеях, полученные при помощи компьютерной и магнитно-резонансной томографии, и ставят диагноз, исходя из увиденного. Производители дисплеев для медицинских работников изучили восприятие черно-белого изображения. В итоге выяснилось, что обычный человек различает на дисплее до 630 оттенков серого. Итак, из этого можно сделать два вывода. Во-первых, старый 8-битный пиксель с 256 возможными значениями не так уж хорош. А во-вторых, 10-битного пикселя с тысячью с хвостиком возможных значений более чем достаточно. Человеческий глаз не увидит ошибку, возникающую при округлении до ближайшего значения, среди тысячи с лишним вариантов. В современных цифровых изображениях для хранения одного цвета используется 16 бит, что дает более 65 000 оттенков серого. Этого более чем достаточно, чтобы на любом дисплее обмануть мозг любого человека. То же самое касается и 16-битных сокселей при воспроизведении звука.
Вы наверняка слышали утверждения аудиофилов, что виниловые пластинки лучше компакт-дисков? В мире визуального искусства принято утверждать, что цифровая фотография никогда не сравнится по диапазону передаваемых оттенков с пленочной. Такие бурные споры совсем не редкость. Но есть ли в них зерно истины? Ну конечно же! Есть несколько причин, по которым цифровая выборка может быть сделана неправильно: недостаточное количество значений на пиксель или соксель, слишком грубый или ошибочный разбрасыватель, недостаточно высокая частота выборки. Многие приверженцы аналогового звука или изображения считают, что цифровым технологиям присущ некий изначальный дефект, хотя проблема заключается просто в неудачной реализации. Теоретически ничто не мешает какому-нибудь инженеру изобрести компакт-диск, звучащий в точности как виниловая пластинка. Точно так же вполне реально сделать отпечаток с цифрового изображения, ни в чем не уступающий пленочной фотографии. Однако в обоих случаях добиться нужного результата будет непросто. Теорию нужно воплощать как можно ближе к идеалу, и это вполне возможно.
Некоторые аудиофилы утверждают, что способны отличить на слух записи, сделанные с более высокой частотой дискретизации, чем предполагает стандарт оцифровки звука для компакт-диска (с частотой 44,1 сокселей в секунду при 16 битах на соксель). Напомним, что человеческое ухо воспринимает звуки высотой до 20 000 циклов в секунду — это самая высокая частота Фурье, поэтому частота дискретизации согласно теореме Котельникова (или Найквиста) должна составлять не менее 40 000 сокселей в секунду. Стандарт для компакт-дисков даже превышает минимум, требуемый Котельниковым для идеальной аналоговой реконструкции звука из сокселей. Итак, если верить теории, то никто не обнаружит улучшение в качестве звука для системы, использующей более высокую частоту дискретизации по сравнению с компакт-диском.
Другой тип ошибки, которую теоретически мог бы обнаружить эксперт, — это ошибка округления, то есть недостаточное число возможных значений громкости для сокселя. Но, как уже отмечалось, человеческое ухо не способно различить такое количество градаций громкости, которое позволяет сохранить 16-битный соксель стандартного компакт-диска, — примерно 65 000 возможных уровней громкости на соксель. Таким образом, никто не почувствует разницу в звучании системы, использующей больше битов на соксель, чем стандартный компакт-диск.
Два стандарта цифровых аудиосистем — Super Audio CD (SACD) и DVD-Audio (DVD-A) — превосходят CD как по частоте дискретизации, так и по количеству битов на соксель. По итогам тщательно контролируемого теста ученые пришли к такому выводу:
Мы проанализировали все тестовые данные для различных типов музыки и конкретных программ, типов технологии высокого разрешения, возраста записи, а также возраста, пола, опыта слушателя и полосы пропускания его слуха. Ни одна из этих переменных не показала никакой корреляции с результатами или какой-либо разницы между ответами и результатами подбрасывания монеты.
Другими словами, даже аудиофилы не отличили CD от SACD или DVD-A. Но, что примечательно, те же экспериментаторы сообщили, будто «практически все записи SACD и DVD-A звучали лучше, чем большинство компакт-дисков». После тщательного опроса инженеров звукозаписи выяснилось, что они для этих носителей использовали теорему отсчетов намного правильнее, чем инженеры, создающие запись для компакт-диска. Смысл в том, что цифровое может быть точным представлением аналогового, но оно должно быть сделано правильно. Иначе говоря, в цифровых технологиях нет ничего такого, что помешало бы им сравняться по качеству с аналоговыми, нет никаких
Возглавляя космическую гонку
…Раннее утро выходного дня. Вы вспомнили, что забыли с вечера договориться с вашим другом о совместной загородной прогулке. Вы протягиваете руку и берете с ночного столика небольшой, величиной с портсигар, аппарат. Это телевизионный приемо-передатчик индивидуального пользования, какими снабжены все без исключения жители нашей планеты. Вы устанавливаете позывной вашего друга и нажимаете кнопку вызова…
— Да, — говорит Владимир Александрович Котельников, — бесспорно, будут и крохотные телеприемники, помещающиеся в жилетном кармане, и гигантские, с экраном в несколько квадратных метров.
Во второй раз Котельников посетил Соединенные Штаты 27 августа 1957 года, как раз перед запуском спутника — событием, которое потрясло Америку. Это был Международный геофизический год. Он ознаменовал завершение перерыва в международном научном общении, который произошел в начале холодной войны. Котельников был теперь действительным членом Академии наук СССР и приехал, чтобы сообщить американцам кое-какую информацию. На конференции в Боулдере, штат Колорадо, он заявил, что Советы вскоре запустят искусственный спутник Земли, который будет передавать радиосигнал на частотах около 20 и 40 миллионов (мега) циклов в секунду. Никто не обратил на это внимания. Американцы не верили, что советская наука продвинулась так далеко. Но 4 октября спутник действительно стартовал и действительно излучал радиоволны поочередно на двух частотах — 20,005 и 40,002 мегациклов в секунду. Космическая гонка началась, и Котельников стал одним из ее активных участников.
Он оставался ее участником и в самом конце, почти два десятилетия спустя. На совещании в Москве в 1971 году Котельников, только что назначенный исполняющим обязанности главы Академии наук СССР, заявил удивленным американским дипломатам, что предполагаемая экспериментальная стыковка корабля «Аполлон» с орбитальной станцией «Салют», предложенная NASA, невозможна по техническим причинам, но СССР готов вместо этого продолжить работы по программе экспериментального полета «Аполлон — Союз» (сокращенно ЭПАС, или, в американской версии,
Провозглашение космической гонки стало лишь одним из достижений Котельникова. Под его руководством проведена радиолокация Венеры, Меркурия, Марса и Юпитера, за что он получил Ленинскую премию. Затем космические аппараты «Венера-15» и «Венера-16» при помощи системы радиолокационного зондирования, разработанной в МЭИ, впервые нанесли на карту приполярные области Венеры, отправив пиксели на Землю через всю Солнечную систему. Астероид № 2726 получил имя Котельников за большой вклад нашего героя в космическую программу России.
Избавление от высоких частот
Великая идея Котельникова объясняет, почему пиксели должны располагаться «достаточно близко» друг к другу. Если это правило нарушается, ничего хорошего не выйдет. Вы, наверное, видели результаты: зубчатые края предметов, вращающиеся назад колеса, муаровые узоры на полосатых галстуках или неприятное мерцание фона в видеоиграх. Эти изъяны были настоящим проклятием первых дней Великой цифровой конвергенции. И остаются ими до сих пор. Недавно я смотрел DVD с замечательными фильмами режиссера Микеланджело Антониони «Приключение» и «Ночь». В «Приключении» потрясающее платье в горошек на Монике Витти испорчено из-за неправильно сделанной выборки. Оно неравномерно вспыхивало и гасло, как будто горошинки были маленькими лампочками, которые переключались случайным образом. И почти в каждом кадре «Ночи» на краях окон и зданий из-за неправильной оцифровки вспыхивали паразитные блики. Такие цифровые дефекты не нужны и недопустимы. Они не наличествуют в цифровом мире изначально, а возникают из-за неправильного и неаккуратного использования теоремы отсчетов. В случае с видеоиграми проблема может заключаться и в компьютерах, у которых не хватает мощности для ее правильного использования.
Неприятные дефекты возникают, если выборка выполнена с недостаточно высокой частотой. Теорема отсчетов утверждает, что производить выборку для визуальной сцены нужно в два раза чаще, чем самая высокая частота волн Фурье, содержащаяся в ней. Итак, вам нужно либо записывать отсчеты с более высокой частотой, либо избавиться от слишком высоких частот в самой визуальной сцене перед оцифровкой. Практические соображения рекомендуют идти по второму пути.
Интуиция утверждает, что на частотном языке острые края означают высокие частоты. Очень острые края означают очень высокие частоты. Насколько высокие? Идеально острые края — это бесконечно высокие частоты, настолько высокие, что в реальном мире вы не справитесь с ними. Вы не можете делать отсчеты бесконечно часто, чтобы точно представить их. Так что тут снова вступают в игру соображения практичности и целесообразности. Короче говоря, чтобы представить сцену в пикселях, нужно сначала избавить ее от слишком высоких частот, то есть от слишком резких краев. Хороший пример — уже упоминавшиеся блики на краях окон. Создатели того DVD явно не понимали теорему отсчетов. Они не избавились от слишком высоких частот перед оцифровкой кинопленки, и результат получился ужасным — или, по крайней мере, полным отвлекающих деталей.
Есть простой способ убрать слишком высокие частоты из визуальной сцены. Просто слегка расфокусируйте изображение, чуть-чуть, но не настолько сильно, чтобы это действительно стало заметно. Простая хитрость «сглаживает» все острые грани. Насколько именно нужно расфокусировать исходную картинку, подскажет теорема отсчетов.
Танцы с тиранами
Репутацию Котельникова всерьез запятнало — по крайней мере, с точки зрения западного человека — дело Андрея Дмитриевича Сахарова. Сахаров, один из создателей советской водородной бомбы, с конца 1960-х выступал против испытаний ядерного оружия и активно боролся за его нераспространение. Так же как и Солженицына, его критиковали в советских газетах. В 1975 году Сахарову за его правозащитную деятельность присудили Нобелевскую премию мира. В ответ члены Академии наук СССР выступили с заявлением, осуждающим вручение премии диссиденту. В качестве исполняющего обязанности президента Академии Котельников представил отчет для Политбюро:
Настоящим сообщаем, что 72 академика подписали заявление советских ученых, протестующих против присуждения Нобелевской премии мира А. Д. Сахарову.
В отчете также перечислены пять академиков, отказавшихся подписать заявление, в том числе Виталий Лазаревич Гинзбург, тоже один из создателей советской водородной бомбы. В ответ Политбюро запретило Сахарову ехать в Осло для получения Нобелевской премии. 25 октября 1975 года заявление, подписанное учеными, опубликовала официальная газета Советского Союза «Известия». Гинзбург писал о роли Котельникова в этом деле:
Наш разговор был довольно мирным. В. А. [Котельников] умолял меня, вместо того чтобы угрожать или запугивать. В целом он выполнял поручение без энтузиазма, но это была его обычная манера. Я отказался подписывать.
Гинзбург продолжает, противопоставляя текущий момент (его воспоминания датируются 1991 годом) суровому сталинскому времени:
Я думаю, что подписал бы письмо под физическим принуждением… [но] очевидно, что не было никакой опасности быть избитым или арестованным, и для меня до сих пор остается загадкой, почему так много людей подписали такое письмо.
Действительно, ни сам Гинзбург, ни остальные четверо ученых не подверглись наказанию за свой отказ. Неужели Котельников и другие подписанты всё еще страдали от фантомного страха перед сталинскими репрессиями? Какими бы мотивами ни руководствовались подписавшие письмо академики, оно только усилило поддержку Сахарова на Западе и сделало его героем.
Чтобы взглянуть на дело Сахарова в перспективе, стоит вспомнить, что происходило в Америке 1950-х. Коллеги-академики похожим образом атаковали Роберта Оппенгеймера, создателя американской атомной бомбы, который, как и Сахаров, выступил с публичной критикой курса на дальнейшее совершенствование ядерного оружия.
Котельникову, как и Фурье, приходилось искусно кружиться в танце с тиранами. Он настолько преуспел, что на момент подписания заявления против Сахарова он, вдобавок к руководящей должности в Академии наук, занимал еще один поразительно высокий пост. Котельников был председателем Верховного Совета РСФСР — высшего законодательного органа самой большой республики Советского Союза! Он занимал этот пост в течение восьми лет. Как так получилось?
«Сначала мне было любопытно, — рассказывал он корреспонденту „Известий“ 30 лет спустя, — как работает эта система. Потом я понял. Это было настолько просто, насколько возможно. Выступавших отбирал ЦК, проекты речей предварительно утверждались». Он добавил: «Должно быть, это была самая легкая работа в моей жизни. Хотя, наверное, самая публичная. Ирония судьбы».
Другими словами, высокая должность не подразумевала реальной власти. Это была синекура, по сути, еще одна награда за многолетнюю службу своей стране.
Параллели и ирония
Понятно, почему среднестатистический человек сегодня не знает, что такое пиксель на самом деле. Тут не обойтись без понимания теоремы отсчетов и частот Фурье. Большинство, как правило, не знакомо ни с одной из этих красивых и элегантных идей. Тем не менее именно они лежат в основе цифровых медиа — фактически универсального носителя информации в форме битов. Цифровые медиа доминируют в мире сегодня и явно не сдадут позиции в обозримом будущем. В этой и предыдущей главах я пытаюсь сделать эти две великие идеи — а вместе с ними и весь современный мир — понятными для непрофессионалов. Их легко обобщить следующим образом.
Наши чувства воспринимают реальный мир как состоящий из непрерывных звуков и зрительных образов. Идея Фурье гласит, что окружающую реальность можно описать как сумму волн различной частоты и амплитуды, а видимый мир можно представить как музыку для наших глаз.
Теорема отсчетов учит нас, как описывать волны Фурье при помощи дискретных наборов данных. Удивительным образом, аналоговая бесконечность визуального мира точно кодируется в дискретных, прерывистых, невидимых отсчетах. В отношении визуального мира их называют пикселями. Теорема отсчетов также объясняет, как восстановить непрерывное представление мира из дискретных выборок: просто преобразуйте каждую выборку с помощью разбрасывателя и сложите результаты. В момент отображения каждый дискретный пиксель вблизи от себя внесет небольшую долю аналоговой бесконечности в реконструируемую визуальную сцену. Наши глаза воспринимают воссозданную непрерывность точно так же, как и исходную сцену.
Жизненные драмы авторов этих двух важнейших идей столь же интересны, как и их научные достижения. Фурье слишком много знал о неудачах Наполеона, из-за чего на долгие годы был изгнан из Парижа в провинцию. Но в результате Фурье, огражденный от суеты интеллектуальной столицы, создал свою великую идею мира как суммы волн. Котельников, защищенный от заключения в ГУЛАГ хорошими отношениями с женой Маленкова, одного из архитекторов сталинского террора, построил чрезвычайно успешную карьеру и продолжал работать над обширным полем возможностей своей теоремы отсчетов. Характер Фурье закалила Французская революция; на долю Котельникова пришлась Октябрьская революция 1917 года, а также череда войн: Первая мировая, Гражданская, Вторая мировая, холодная… Тиранами Фурье были Робеспьер и Наполеон, тиранами Котельникова — Сталин, Маленков, Берия и Абакумов, а в их лице — само тоталитарное государство.
В биографии пикселя мы не раз обнаружим, что общепринятая версия событий не всегда соответствует действительности. Подлинная история зачастую лучше и интереснее, а к тому же еще и правдива. Владимир Котельников, а не Клод Шеннон первым представил миру теорему отсчетов.
Параллели между этими двумя изобретателями поразительны. Котельников много лет возглавлял Институт радиотехники и электроники Академии наук СССР (ныне Российской академии наук), который теперь носит его имя. Институт инженеров электротехники и электроники (IEEE) изначально был американским Институтом радиоинженеров. IEEE вручает Премию Шеннона за исключительный вклад в теорию информации (первым ее получил сам Шеннон), а в 2000 году, ознаменовав начало нового тысячелетия и Великой цифровой конвергенции, наградил Владимира Котельникова медалью Александра Грэма Белла. Иронично что имя Александра Белла носила Bell Labs, в которой всю жизнь проработал Клод Шеннон.
Хотя именно Котельников принес миру теорему отсчетов, Америку с ней познакомил Шеннон. Говорить о феномене «множественного открытия» не приходится — Шеннон никогда не претендовал на лавры первооткрывателя этой идеи. Мы снова встретимся с Шенноном в следующей главе, где государство снова выступит в роли тирана, но на этот раз угроза будет исходить с Запада.
На девяносто пятый день рождения Котельникова, в 2003 году — в семидесятую годовщину доказательства теоремы отсчетов, — в Екатерининском зале Кремля президент Путин наградил его орденом «За заслуги перед Отечеством» I степени.
Котельников умер 11 февраля 2005 года. Он пережил Шеннона всего на четыре года, но оба успели увидеть новое тысячелетие и новую эру, к созданию которой они приложили руку.
Основная цель следующей главы — перейти от Цифрового Света в реальном мире к мирам нереальным. В ней мы сосредоточимся на третьей великой основополагающей идее Цифрового Света — на вычислительных машинах. Пиксели, о которых мы говорили до сих пор, были взяты из реального мира. Среди них, например, те пиксели, которые Котельников регистрировал радиолокатором в полярных областях Венеры, или, если на то пошло, любые из бесчисленных пикселей, которые мы ежедневно фиксируем камерами мобильных телефонов. Вычислительные машины позволяют создавать очень разнообразные, но полностью вымышленные миры. Они позволяют нам генерировать — или создавать — пиксели с нуля. Когда эти пиксели путем разбрасывания и сложения в соответствии с теоремой отсчетов превращаются в изображение, мы видим мир, которого не существует. Как такое возможно?
3. Вычисления Тьюринга: одиннадцатьдесят одиннадцать дизиллионов
Валентайн: Жизни бы не хватило. И карандашей. Даже представить трудно, сколько дней она на это угрохала. А до сути так и не добралась. Теперь же достаточно нажимать клавишу. Одну и ту же клавишу. Снова и снова. Итерация. На все про все — несколько минут. Сегодня пара месяцев моей работы — это целая жизнь Томасины наедине с карандашом и бумагой. Тысячи страниц. Десятки тысяч! И такая скукотища!
Ханна: Ты хочешь сказать, что проблема только в этом? В нехватке времени и бумаги? В скуке? Валентайн! Проблема только в этом?
Валентайн: Нет. Проблема в том, что без серьезной причины на это жизнь не кладут. И вообще…
Ханна: Прости. Что «вообще»?
Валентайн: Вообще, это делают только чокнутые.
Компьютер — это экзистенциальная загадка, замаскированная под бытовую технику. В то время как обычные приборы лишены трансцендентности, компьютер содержит ее в двойной дозировке. Во-первых, это самый гибкий инструмент, когда-либо созданный человеком. Он позволяет нам делать гораздо больше различных вещей, чем мы способны вообразить. Во-вторых, это самый мощный усилитель, которым когда-либо пользовался человеческий разум. Он поднимает нашу способность делать эти вещи на невообразимую высоту. Гибкость и Усиление — двойная мощь компьютеров.
Человеком, который в удивительном озарении гения подарил нам идею полноценной вычислительной машины — сам он называл ее «универсальной машиной», — был Алан Мэтисон Тьюринг.
Святой Тьюринг
Он появился на свет в Лондоне 23 июня 1912 года. Его дата рождения расположена почти точно посередине между датами рождения Котельникова и Шеннона, героев предыдущей главы. Тьюринг в 22 года начал преподавать в Королевском колледже Кембриджа, в 34 года получил Орден Британской империи, в 38 лет стал членом Королевского общества Исаака Ньютона и умер от отравления цианидом, не дожив до 42 лет, 7 июня 1954 года. В отличие от Котельникова и Шеннона, ему не довелось встретить новое тысячелетие и увидеть Великую цифровую конвергенцию.
Для нас, первого поколения студентов-информатиков, Тьюринг был таинственной фигурой. Нам рассказывали о его великой идее — концепции машинных вычислений, — но человек, придумавший ее, оставался загадкой. Сквозь туман, скрывающий личность Тьюринга, доносились настойчивые слухи о его самоубийстве.
Затем в 1983 году неожиданно вышла биографическая книга Эндрю Ходжеса «Игра в имитацию», которая наконец привлекла внимание к Тьюрингу как человеку. Нашлось объяснение и атмосфере тайны вокруг его личности: Тьюринг помог взломать код нацистской шифровальной машины «Энигма», что приблизило победу в войне. Но его работа в Блетчли-Парке была совершенно секретной, а любые сведения о ней тщательно охранялись в соответствии с британским Законом о государственной тайне.
Не менее сенсационным оказался другой факт: Тьюринг был открытым геем. Не скрывать свою ориентацию требовало изрядного безрассудства, ведь гомосексуальность все еще считалась преступлением. Когда его арестовали за «непристойное поведение» в 1952 году, он не мог использовать свои заслуги по спасению Англии, чтобы избежать наказания. Закон о государственной тайне перевешивал обвинения в непристойных действиях. Вынужденный выбирать между тюремным заключением и химической кастрацией, он предпочел последнюю, чтобы продолжать научную работу. В результате его стройное тело марафонца (рис. 3.1) стало дряблым из-за гормонов, а также у него начала расти грудь. Возможно, именно чувство униженности заставило его (предположительно) съесть отравленное яблоко — сцена смерти как будто взята прямо из диснеевской «Белоснежки».
Эндрю Ходжес, физик-теоретик из Королевского колледжа и активист британского движения за права геев, приоткрыл завесу тайны. Раскопав всю эту историю, он изложил ее тщательно, подробно и красиво.
Рис. 3.1
В Америке 1950-х сенатор Джозеф Маккарти без разбора причислял коммунистов и «сексуальных извращенцев» к врагам государства, вызвав «лавандовую панику»[10]. Англию охватило похожее безумие, особенно после печально известного бегства в Москву в 1951 году Гая Бёрджесса, выпускника Кембриджа, разведчика и гомосексуала. Тьюринг никогда не интересовался коммунизмом и даже высмеивал его, а свою гомосексуальность не скрывал, что не оставляло возможностей для шантажа. Но Маккарти и МI-5[11] не интересовали такие подробности; кроме того, в английской разведке знали, что у Тьюринга есть друзья-коммунисты.
Бёрджесс входил в тайный клуб «Кембриджские апостолы». В те годы многие члены этой организации были марксистами, гомосексуалами или и теми и другими одновременно. Положение Тьюринга усугублялось из-за того, что двое его лучших друзей и сотрудников, Робин Ганди и Дэвид Чемперноун, числились среди «Апостолов», а Ганди в студенческие годы еще и состоял в Коммунистической партии.
По результатам вскрытия достоверно установлено, что Тьюринг умер от отравления цианидом, но до сих пор ведутся споры, как именно это произошло. Самая популярная версия — самоубийство. Найденное возле тела не проверяли на наличие цианида, поэтому возникло немало альтернативных предположений. Мать Тьюринга считала, что произошел несчастный случай. Согласно другой версии, его ликвидировала британская разведка.
Печальная ирония заключается в том, что на следующий день после обнаружения тела Тьюринга маккартистской антикоммунистической истерии был нанесен сокрушительный удар. 9 июня 1954 года главный юрисконсульт армии США Джозеф Уэлч в пух и прах разнес сенатора Маккарти, пытавшегося обвинить в связях с коммунистами высокопоставленных военнослужащих, в том числе героев войны.
В 1967 году британское правительство смягчило свои лицемерные законы — «поправка Лабушера» была отменена после принятия Акта о половых преступлениях 1967 года, который частично декриминализовал гомосексуальность, — а в 2009 году извинилось за ужасающие ошибки. Но оба события произошли слишком поздно, чтобы предотвратить мученическую кончину «святого Тьюринга». Всемирное празднование столетия со дня его рождения в 2012 году ознаменовало его полную реабилитацию, а в канун Рождества 2013 года королева посмертно помиловала его.
Революционный террор, едва не уничтоживший Фурье, и Большой террор, обошедший стороной Котельникова, несли ужас и смерть. Маккартизм и шпиономанию в Англии нельзя поставить с ними в один ряд, но тем не менее они разрушили тысячи жизней и непосредственно привели к гибели Тьюринга. Тиран Тьюринга оказался не императором или генсеком, а безликой госбезопасностью.
Тьюринга не посадили в тюрьму физически, но из-за Закона о государственной тайне он ментально оказался в заключении — в метафорической шарашке Блетчли-Парка.
В истории Тьюринга мы снова находим все три условия для технологического прорыва: великая идея универсальной вычислительной машины; хаос Второй мировой войны, который привел к появлению компьютеров, реализовавших его идею; и тирания Закона о государственной тайне, которая собрала ученых в одном месте и охраняла их довольно извращенным образом.
Гибкость
Компьютер — это технический Протей среди машин. Его сущность — в его универсальности, в его способности к имитации. Поскольку он может принимать тысячи ликов и выполнять тысячи функций, он может удовлетворить тысячи вкусов.[12]
Каждый шаг, который делает компьютер, абсолютно тривиален. Типичное действие имеет такой вид: взять несколько битов отсюда, что-нибудь с ними сделать и положить получившиеся биты туда. «Что-нибудь» может сводиться, например, к замене каждого 0 на 1 и наоборот или перемещению каждого 0 или 1 на одну позицию вправо.
Длинные последовательности соединенных вместе смехотворно простых шагов составляют мощь компьютера. Совсем не очевидно, что бессмысленные шаги должны приводить к осмысленному итогу. Каким образом последовательность примитивных действий приносит потрясающие результаты? Где таится магия?
Случайная последовательность не делает ничего интересного. Но осмысленная последовательность заставляет компьютер выполнять шаги, приводящие к полезному или занимательному результату. В основе любых компьютерных программ или мобильных приложений лежит процесс, состоящий из длинных последовательностей простых шагов. Точно такие же последовательности помогают в создании фильмов студии Pixar.
Все, на что способно компьютерное оборудование, состоит из простых тривиальных шагов. Но для создания осмысленных последовательностей шагов требуются существенные интеллектуальные умения. Это называется разработкой программного обеспечения. Творческие люди, умеющие это делать, называются программистами. Следовательно, магия кроется в их умах.
По такому же принципу работает пианино. При нажатии клавиш оно может воспроизводить бесконечное количество последовательностей, тем самым выступая в роли аппаратного обеспечения, выполняющего простые шаги. Большинство таких последовательностей — жуткая какофония. Но время от времени появляется программное обеспечение, создающее великолепную музыку. Последовательность нот, придуманная программистом Шопеном, превращается в этюд, вальс или мазурку.
Компьютер, как и пианино, может выполнять бесчисленные последовательности простых базовых шагов. Таким образом, он способен осуществлять бесконечное количество сложных и значимых процессов — своего рода музыки — и при этом использует всего 2 бита, а не 88 клавиш. Именно слово «бесконечное» отражает Гибкость — качество, столь важное для компьютеров, что я буду писать его с заглавной буквы. Человеческий разум переполнен множеством процессов, которые способен реализовать компьютер. Всегда есть возможность создать еще одну значимую последовательность из бессмысленных простых шагов для чего-то нужного: приложения, игры, фильма… И все это делает один инструмент — компьютер.
Как мы увидим дальше, Гибкость — фундаментальная часть машинных вычислений, уникальная сверхспособность самой концепции. Ослепительный блеск Гибкости омрачается тайной непознаваемости. Хотя каждый шаг, который делает компьютер, полностью предсказуем, мы не всегда можем знать, как будет разворачиваться выстроенная из них последовательность.
Усиление
Еще один, совсем иной вид превосходства машин над человеком — это Усиление. Очевидно, что компьютер способен повторить действие — любую последовательность примитивных шагов. Тут все просто. Важно, что он может повторить это невероятное количество раз со скоростью, которую мы не в состоянии осознать. О бесконечности речь не идет. Мы можем посчитать количество повторений — или, по крайней мере, наши компьютеры справятся с такой задачей. Но осознать столь большие числа нашим человеческим разумом не получится. Нас захлестнет масштабность компьютерных процессов. Одиннадцатьдесят одиннадцать дизиллионов — смешное выдуманное число, словно Скрудж Макдак встретился с Бильбо Бэггинсом, — но оно показывает, насколько бессмысленны для нас числа, описывающие процессы в компьютерах, даже если они реальны. Мы не сумеем их представить. Как говорит Валентайн в эпиграфе к этой главе, «нужно быть чокнутым», чтобы иметь дело с ними. И даже этого, вероятно, не хватило бы[13].
Повторение задачи, для выполнения которой компьютер уже запрограммирован, тривиально. Просто дайте соответствующую команду, и он все сделает. Дополнительных умственных усилий практически не требуется. А вот чтобы ускорить компьютер для работы с невообразимыми числами, требуется невероятное интеллектуальное мастерство. Это аппаратный дизайн. Им занимаются творческие люди с особым складом ума — инженеры.
В электротехнике
Самый первый компьютер увеличил человеческие возможности в 10 000 раз. К 1965 году этот показатель вырос по меньшей мере до 1 000 000 — благодаря созданию все более крупных машин и переходу с вакуумных ламп на транзисторы. Назовем это ускорением Эпохи 1.
Но самое невероятное — экспоненциальное усиление самого усиления — произошло с появлением еще более современной технологии — интегральных микросхем. Они представляют собой множество транзисторов, соединенных проводами и расположенных на одном чипе. В 1965 году утверждение, ныне известное как закон Мура, дало зеленый свет следующему драматическому ускорению — Эпохе 2. Не только компьютеры экспоненциально усилили человеческие возможности, но и, что удивительно, скорость самого усиления тоже увеличилась в геометрической прогрессии.
Согласно закону Мура, усиление будет возрастать по экспоненте каждые пять лет. Таким образом, если в 1965 году усиление человеческой способности к вычислениям составляло 106 (или 1 миллион) — как оно и было, — тогда оно достигнет 107 (10 миллионов) в 1970-м, 108 (100 миллионов) в 1975-м и так далее. Эта идея поражала создателей первых компьютеров не менее сильно, чем нас сегодня. Столь же удивительным оказался и тот факт, что более мощные компьютеры Эпохи 2 уменьшились, а не увеличились в размерах.
В силу своей природы мы не способны понять последствия закона Мура — изменения на порядок. Нам вообще трудно вообразить изменение больше чем в 10 раз. Мы упираемся в концептуальную стену. Чтобы обозначить возникший тупик, вместо арифметического коэффициента 10х мы используем замечательное выражение «порядок величины». Оно подразумевает настолько грандиозные масштабы изменений, что только новые мыслительные процессы и новые концептуализации могут с ними справиться. Это не просто больше — это совсем иначе. Мы должны освоить улучшение на один порядок, прежде чем начнем даже просто размышлять о следующем. Тем не менее компьютеры усилили способности человека как минимум на 17 порядков! Первые шесть (в миллион раз) приходятся на время до появления закона Мура, а после произошло еще 11 изменений на порядок (в 100 миллиардов раз). Все говорят, что произошло усиление в 100 квадриллионов раз; осознать это — за пределами даже самого смелого воображения, как обычного, так и гениального.
Компьютер выступает в качестве рычага для человеческого интеллекта, помогая преодолеть врожденные ограничения в доступных нам порядках величин. Он усиливает ничтожные человеческие действия до мощи, которая недостижима и невообразима для нашего биологического вида без посторонней помощи. Сверхспособность Усиления связана с тайной порядков величин.
Снимай или вычисляй
Теорема отсчетов Котельникова научила нас, как превращать реальный мир в пиксели. Для этого необходима цифровая фотокамера — достаточно сделать снимок. Затем — даже в очень отдаленном месте или по прошествии длительного времени — с помощью пикселей легко восстановить, как выглядел запечатленный фрагмент визуального мира.
Также мы можем создавать пиксели
Мы используем обе сверхспособности компьютеров — Гибкость и Усиление — для создания полноценного Цифрового Света: например, полностью цифрового художественного фильма, увлекательной видеоигры или мгновенного визуального доступа к любым интернет-ресурсам. Компьютеры создают пиксели, а не только берут их из визуального мира.
Эта глава посвящена Гибкости — сверхспособности, появившейся благодаря изобретению Алана Тьюринга. В ней речь идет об идеях. В следующей главе мы поговорим о скорости и остановимся на оборудовании, предназначенном для их реализации. Речь пойдет об Усилении — сверхспособности, дарованной нам технологиями. Также мы рассмотрим восход Цифрового Света, который удивительным образом совпал с появлением компьютеров. Проще говоря, из этой и следующей главы вы узнаете о героях теории и практики, науки и техники, которые действовали до выведения закона Мура. Сам закон более подробно мы изучим в более поздних главах, когда будем говорить о взрыве сверхновой Усиления, которая привела в действие ускорение Эпохи 2.
У него есть алгоритм
Хотя шифр в авгриме не имеет силы в обозначении самого себя, он тем не менее проявляет силу в обозначении для другого.
Великий прорыв Тьюринга начинается с идеи систематического процесса. Вот пример, что значит действовать тщательно или системно. Предположим, человек, незнакомый с вашим городом, просит объяснить, как пройти в продуктовый магазин. Скорее всего, вы дадите ему примерно такие указания: «Выйдите из подъезда на улицу и поверните направо. Пройдите до первого перекрестка, а затем пройдите еще два квартала. Там поверните налево и пройдите еще три квартала. Когда минуете перекресток, увидите магазин в четвертом доме справа».
Таким образом, интуитивно понятная тщательная или систематическая инструкция означает, что более крупный процесс похода в магазин разбит на последовательность более мелких шагов, каждый из которых прост, недвусмыслен и очевиден для большинства людей. Точное следование инструкции в заданном порядке обязательно приведет в магазин.
В примере с маршрутом фигурирует простой набор инструкций. С каждым шагом происходит продвижение от начала к концу перечня. Количество инструкций, которым нужно следовать, соответствует количеству шагов в списке. Как правило, у систематических процессов встречаются более разнообразные структуры. Рассмотрим инструкцию по забиванию гвоздей: (1) Взять гвоздь. (2) Если гвоздя нет, закончить работу, в противном случае продолжить. (3) Забивать гвоздь молотком. (4) Если гвоздь погнулся, выпрямить его и повторить шаг 3, в противном случае начать снова с шага 1.
Здесь содержится такое же количество инструкций, как и в примере с маршрутом, но есть существенное отличие — петли или, как говорят программисты, циклы. Вы повторяете внешний цикл (шаги с 1 по 4), пока не закончатся гвозди, а внутренний «вложенный» цикл (шаги 3 и 4) вступает в дело, если гвоздь согнулся от неумелых ударов молотка. Выполнение начинается с первой инструкции и, возможно, никогда не закончится, если, скажем, после каждого удара гвоздь будет гнуться. Количество выполняемых шагов обычно намного, а иногда и значительно больше, чем количество инструкций.
В инструкции по забиванию гвоздей есть два шага, при которых происходит ветвление, — они представлены в форме «если… тогда… в противном случае…» (шаги 2 и 4). Их называют
Он также избавляет от
Условные переходы — ЕСЛИ систематического процесса — играют ключевую роль в процессе вычислений. Машина, способная выполнять условные переходы, намного мощнее той, которая лишена такой возможности. Она аккуратно и быстро исполнит процесс невообразимой длительности. Она реализует процессы, зацикленные сами на себе, — возможно, одиннадцатьдесят одиннадцать дизиллионов раз — или даже модифицирует саму инструкцию как часть процесса. Любое устройство, претендующее на роль компьютера, должно понимать инструкцию условного перехода. Вычислительная машина может быть высотой в десять этажей, полностью электронной и чрезвычайно быстрой, но без инструкции условного перехода она не станет компьютером.
Если она только выполняет математические операции, это не компьютер. Понятие систематического процесса гораздо шире манипуляций с цифрами. Даже наши примеры с походом в магазин и забиванием гвоздей с математикой не связаны. Неудивительно, что Тьюринг все понял довольно быстро.
Это не значит, что математика не важна. Люди систематически осваивали ее на протяжении тысячелетий. Даже в эпоху вездесущих калькуляторов дети все еще учатся складывать два числа столбиком. Как известно, чтобы это сделать, нужно последовательно сложить каждую пару цифр, начиная справа, и записать их сумму в ответ. Если (это важно!) она равна или больше 10, то 1 переносится на следующий шаг и прибавляется к цифре, стоящей на одну позицию левее. И так далее. В процессе сложения столбиком есть еще одно неявное ЕСЛИ: если закончились цифры и больше нет единицы для переноса, придется остановиться. Это набросок процесса, который обычно называют
В прошлом веке слово «алгоритм» стало синонимом термина «систематический процесс». Оно произошло от искаженного имени персидского математика IX века аль-Хорезми. Он жил в древнем Багдаде и писал о систематических процессах, связанных с десятичной системой счисления — новой, только что появившейся в Индии концепцией, описывающей странную, доселе неведомую штуку под названием «ноль». В позднем Средневековье ее стали называть
Джеффри Чосер в XIV веке использовал фразу
Что произойдет, если количество шагов в алгоритме станет невероятно огромным, число циклов многократно увеличится, уровень их вложенности значительно углубится, а условные переходы сильно разветвятся? Задавая такие вопросы о систематических процессах на рубеже XX века, математики проложили путь к миру универсальных вычислительных машин, хотя сами и не догадывались об этом. Они еще не осознали двойного великолепия Гибкости и Усиления, а также присущих им сверхспособностей.
е-Проблема
Давид Гильберт, король математиков, работал в Геттингенском университете — центре математической вселенной, пока в 1930-е годы нацисты не подвергли гонениям профессоров еврейского происхождения. Еще в 1900 году он использовал свой международный авторитет, чтобы привлечь внимание к проблемам, затрагивающим основы математики. Наибольшую известность из них получили Вторая (противоречивы или нет аксиомы арифметики?) и Десятая (Есть ли универсальный алгоритм решения диофантовых уравнений?). Каждый, кто сумеет решить любую из них, сразу же будет признан математиком мирового уровня.
В 1928 году Гильберт сформулировал еще одну проблему. Она связана с простой логической системой, именуемой
Возьмем утверждение:
Математиков интересуют именно истинные утверждения. Ученые начинают с очень простых — заведомо истинных — утверждений и выводят из них при помощи логической системы более сложные. Исходные истинные утверждения называют
Поставленная Гильбертом задача предполагала поиски алгоритма решения, а не самого вывода. Он не требовал, чтобы в результате систематического процесса действительно из аксиом выводилось утверждение, а требовал, чтобы точно определялась возможность или невозможность вывода. Различие кажется несущественным. Если вы можете определить истинность утверждения, зачем показывать, как оно получено из аксиом? Однако это принципиально важно.
Сегодня научная генеалогия позволяет узнать, что, скажем, Джозеф, живший в XVIII веке, был прямым предком ныне живущего Якова; формально отслеживать родственные связи от отца к сыну — поколение за поколением — при этом не требуется. Если у них одинаковые ДНК на Y-хромосоме (мужской), что легко подтверждается простым лабораторным тестом, значит, они связаны по мужской линии. Путь между ними
Фактически в 1928 году Гильберт предложил задаться вопросом, есть ли у простой логики прием, вроде ДНК-теста, систематически определяющий истинность утверждения без фактического вывода из очевидно истинных аксиом. Это называется
Это устрашающее слово в переводе с немецкого означает «проблема разрешения». Существует ли систематический способ определить истинность утверждений, выраженных в простой логике? Написание на немецком, безусловно, придает ему мистическую глубину, особенно для читателей, не владеющих этим языком. «Проблема разрешения» звучит как тема лекции для бизнес-школы, но Entscheidungsproblem предполагает Götterdämmerung — гибель богов, которая потрясет и обновит наш мир, — что на самом деле и произошло. Давайте называть ее
Макс Ньюман в 1934 году рассказал о е-Проблеме на лекции в Кембриджском университете. Говоря о том, что мы называем систематическим процессом, он использовал термин «механический процесс». Выбранные Ньюманом слова сыграли ключевую роль в нашей истории. Он мог бы сказать «систематический процесс», «эффективный процесс», «рецепт» или «алгоритм». Точных слов для самой концепции еще не существовало. Именно в этом и заключалась проблема.
Студент Алан Тьюринг присутствовал на этой лекции. Будучи чрезвычайным буквалистом, он попытался с помощью простой бумажной «машины» формализовать «механический процесс», о котором говорил Ньюман. Лектор, конечно, искренне удивился, что один из его студентов — такой молодой (всего 22 года), неуклюжий и заикающийся — нашел решение сложнейшей математической е-Проблемы лишь с помощью идеи простой механической машины. Конечно, Ньюман сначала не поверил, что такое возможно. Машина казалась игрушкой, а не серьезной математической концепцией. Столь важный математический результат не мог быть получен с помощью такого простого устройства. Но Ньюман быстро убедился, что полученные Тьюрингом результаты верны.
Тьюринг использовал свою концепцию — теперь мы называем ее машиной Тьюринга — для решения е-Проблемы. Во-первых, он изобрел машинные вычисления — именно их делают машины Тьюринга. Затем он использовал свою концепцию машинных вычислений — точное описание того, что мы подразумеваем под систематическим или механическим процессом, — для решения проблемы. Последовательность простых шагов в логических выводах очень похожа на последовательность тривиальных операций, которые выполняются компьютерами. В обоих случаях из примитивных отдельных шагов получается что-то осмысленное. Тьюринг первым формально соединил эти два понятия, что и сделало его богом математики.
Он показал, что для простой логики нет никакого хитрого ДНК-теста. Вы должны проделать полную работу по получению вывода, если он вообще возможен. Не существует алгоритма того типа, о котором говорил Гильберт. Как говорят математики, Тьюринг обнаружил, что простая логика неразрешима. В столь неожиданный и тревожный результат сначала не поверил даже великий Гильберт. Даже если бы Тьюринг не сделал больше ничего грандиозного вроде спасения Британии или изобретения своей машины, уже одно такое доказательство поместило бы его в научный пантеон. Он решил одну из сложнейших задач. Широко известным в большом мире за пределами математики Тьюринга сделало не само решение, а машина — тот способ, которым оно было достигнуто. Современный компьютер — прямой концептуальный потомок машины Тьюринга.
Когда Тьюринг занимался е-Проблемой в Кембридже, в Принстонском университете в Нью-Джерси над ней работал Алонзо Черч. Американский математик защитил дипломную работу в Геттингенском университете примерно в то время, когда Гильберт объявил об Entscheidungsproblem. Черч фактически опередил Тьюринга — он нашел математическое доказательство неразрешимости на несколько месяцев раньше. По правилам академических кругов статус первооткрывателя и вся слава должны были достаться ему. Но техника решения Тьюринга разительно отличалась от техники Черча. В математике метод доказательства не менее важен, чем сам факт доказательства. Ньюман считал, что математический мир должен знать о новом методе Тьюринга.
Ньюман предложил Черчу признать вклад Тьюринга, и тот согласился. Они оба опубликовали свои работы в 1936 году, что стало важным шагом, поскольку именно интуитивная, механистическая и даже отчасти самодеятельная концепция программно-вычислительной машины Тьюринга, а не заумная формализация Черча (лямбда-определимость) вдохновила появление компьютеров. В своей опубликованной работе Тьюринг продемонстрировал, что обе концепции эквивалентны, но решение, сформулированное в виде воображаемой алгоритмической машины, имело совершенно иные последствия. Фундаментальная проблема математики, с которой справились оба ученых, не имеет особого значения для Цифрового Света, но вот техника решения Тьюринга — его машина — очень важна.
Эти два подхода предшествовали противостоянию, которое до сих пор определяет развитие информатики, — битве башни из слоновой кости и вонючей химической лаборатории. На сленге кембриджских студентов «идут в вонючки» говорилось о тех, кто собирался получить степень в области естественных наук, в особенности о студентах-химиках. Тьюринг придумал идею машинных вычислений в лишенной запаха и стерильно чистой башне из слоновой кости кембриджской математики, но именно его механистическая, реальная промышленная модель, а не чисто математическая концепция Черча вдохновила создание компьютеров. Информатика по-прежнему разделена по этой линии. В одних университетах ее объединяют с математикой, в других — с инженерией. Гибкость — дар, унаследованный от башни из слоновой кости, а Усиление — сверхспособность, полученная от пропахших химикатами лабораторий и шумных производственных цехов. Участникам безумной гонки, стремившимся снискать славу создателей первых компьютеров, придется преодолевать эту границу.
Не только Тьюринг формализовал понятие систематического процесса. Как мы уже видели, то же самое сделал и Черч, а также еще несколько ученых. Но в сравнении с привлекательностью метода Тьюринга все остальные подходы померкли. Мы до сих пор используем понятия, которые он ввел в своей основополагающей статье 1936 года. Особенно прижилось его слово
Еще он первым отдал дань другой компьютерной традиции. Его причудливая личность — невероятный буквализм, безупречная честность, социальная неуклюжесть и пренебрежение к одежде — сделали его первым гиком. Возможно, сейчас мы бы назвали его «человеком дождя».
Ньюман очень переживал, что Тьюринг превращается в «замкнутого одиночку», и поделился опасениями с Черчем. Он полагал, что общение с математической элитой Принстонского университета — с людьми, говорящими с ним на одном языке, — могло бы обратить усиливающуюся нелюдимость вспять. Поэтому он попросил Черча взять Тьюринга к себе в качестве аспиранта, и тот снова согласился. Тьюринг получил докторскую степень в Америке под руководством Черча.
Тьюринг отправился в США на пароходе «Беренгария» и высадился на Манхэттене в сентябре 1936 года. По случайному совпадению Котельников совсем недавно, в мае, сошел на берег в том же месте и по трапу того же парохода. Советский ученый пробыл в США всего 60 дней и, вероятно, работал над секретным кодом в торговой компании «Амторг», офис которой располагался в центре Манхэттена. К тому моменту, когда Тьюринг прибыл в Нью-Йорк, Котельников уже уехал домой. Они, так сказать, разошлись, как в море корабли, хотя корабль был один и тот же.
Вскоре возникло еще одно любопытное совпадение. Тьюринг отправился из Нью-Йорка в находящийся неподалеку Принстон, чтобы продолжить там занятия под руководством Черча. Затем его наставник Ньюман тоже приехал на полгода в Принстон, в соседний Институт перспективных исследований (Institute for Advanced Study), который иногда называли Принcтитутом, чтобы не путать с Принстонским университетом и избежать уродливой аббревиатуры IAS. Джон фон Нейман — еще одна важная фигура в нашей истории — уже работал в Принституте в качестве одного из первых постоянных стипендиатов.
Не игрушка
Чтобы постичь великую идею Тьюринга, давайте взглянем на карточку из плотного картона, которая изображена на рисунке 3.2. У нее срезан один угол и сделано круглое отверстие в центре. Как на лицевой (с копирайтом), так и на оборотной стороне есть надписи. Кажущаяся простота этой карточки обманчива — не дайте себя одурачить: она обладает невероятной мощью.
Теперь представьте длинную бумажную ленту, расположенную за карточкой слева направо. Лента размечена на квадраты. Один из них вы можете видеть через отверстие в карточке. Квадраты в основном пустые, но на некоторых изображены символы. Я решил использовать цифры 1, 2, 3, 4 и 5, но их можно заменить и, например, на #,! $, % и &. Это просто некие условные символы, не обозначающие ничего конкретного. В частности, нужно понимать, что за цифрами не скрываются настоящие числа. Мы называем их символами, но они ничего не символизируют. Если вы замените 1 на #, 2 на! и так далее, ничего не изменится — кроме начертания меток на квадратах.
На рисунке 3.3 в верхнем ряду (шаг 1) показана лента, на которой всего четыре метки: 5155. Остальные квадраты пусты. Карта изображена слегка прозрачной, чтобы сквозь нее была видна лента. Колонка справа со странными изображениями — цифрами в кружках, двоеточиями, стрелками — содержит шесть правил, определяющих работу устройства. Каждому символу на ленте соответствует одно правило. Перевернутый список слева от отверстия содержит еще шесть правил.
Устройство работает следующим образом. В правой колонке найдите правило для символа, который видите в отверстии. (Пока что не обращайте внимания на перевернутые правила слева.) Для шага 1 это правило вверху справа — оно относится к пустой ячейке. После пробела стоит двоеточие, за которым следует цифра 5. Правило означает, что нужно заменить пробел цифрой 5 — написать 5 в пустой ячейке. После 5 идет стрелка влево. Нужно переместить карту на одну клетку в указанном направлении. Маленький символ еще правее обозначает саму карточку. Соответственно, вы должны повернуть карточку так, чтобы она соответствовала положению символа. В нашем случае нужно повернуть карту на пол-оборота по часовой стрелке, чтобы обрезанный угол оказался вверху слева и получилась конфигурация, изображенная во втором ряду (шаг 2).
Правило, которое применяется на шаге 2, для символа 5 в отверстии, находится внизу справа. Оно указывает заменить 5 на 2 — стереть 5, а затем написать 2, — после чего сдвинуть карту на одну клетку вправо. Маленького символа карты здесь нет, поэтому ее положение не меняем. В результате получим конфигурацию, изображенную на третьей строке (шаг 3).
Если проделать два следующих шага, получится конфигурация, изображенная на четвертой строке — шаг 5 (шаг 4 не показан). После них карта сохраняет ту же ориентацию (срезанный угол сверху слева). В этом случае применяется третье сверху правило в правой колонке: замените 2 на 3, переместите карту влево на один квадрат и поверните ее. Срезанный угол должен оказаться снизу слева. Нам откроются другая сторона карты (шаг 6) и еще два списка правил, отличающихся от тех, которые мы видели ранее.
Рис. 3.2
Рис. 3.3
Продолжайте в том же духе. Если доведете дело до конца, то обнаружите, что карта окажется в своей первоначальной ориентации, а в отверстии будет ячейка с символом 4. В применяемом при этом правиле после двоеточия ничего не указано, а значит, больше ничего делать не надо. Машина останавливается.
Всё, что мы проделали, — вовсе не пустая забава. Хотите верьте, хотите нет, но в итоге она привела к появлению Цифрового Света.
В 1930-х годах в роли компьютеров («вычислителей») выступали люди — обычно женщины, — которые выполняли рутинные бухгалтерские расчеты, скажем, в страховых компаниях, а позже — расчеты для взлома кодов в Блетчли-Парке. В разговоре со своей матерью Тьюринг назвал около сотни «вычислителей», работавших там на него, «рабами», что указывает на тираническую природу систематических (или «механических») процессов.
Тьюринг уловил, чтó «вычислители» делали с карандашом и бумагой, когда тщательно исполняли инструкции систематического процесса — например, складывали столбиком несколько десятков чисел, возможно, с перерывом на чай. Тьюринг разработал свою машину как модель этого процесса, отразив существенную простоту операций, которые они выполняли.
Но она не передавала всю утомительность их труда. Утомление возникает — как вы уже догадались, если следовали приведенным выше инструкциям, — из-за непрерывно повторяющихся примитивных шагов, постоянного беспокойства из-за возможности ошибиться и усилий по сохранению в памяти текущего положения — скажем, во время перерыва на чай. Не отражала модель и того, насколько скучна подобная работа. Вспомните, как говорила Ханна у Стоппарда: «Ты хочешь сказать, что проблема только в этом? В скуке? Валентайн! Проблема только в этом?» Машина не устает и не скучает. С такими проблемами сталкивается лишь человек. Тьюринг создал абстрактную модель значимых действий «вычислителя». Он абстрагировался от утомительности и от скуки как от несущественных категорий. Он использовал такие понятия, как различные состояния ума, пошаговые инструкции, написание и стирание символов и бесконечный запас бумаги для записей.
Есть четыре возможных положения, которые принимает карточка, и есть шесть символов (считая пробел). Соответственно, существует шесть правил для каждого положения карты, по одному для каждого символа, который может появиться в окошке. Общее правило действий заключается в том, что на каждом шаге символ в окошке может измениться, сама карта — переместиться влево или вправо на одну клетку и принять другое положение. А еще дальнейшие действия могут просто прекратиться. Вот и все.
Тьюринг определил, что любая из его машин должна состоять только из четырех элементов: одномерная лента, разделенная на ячейки, ограниченный набор символов для нее, ленточный сканер с ограниченным числом состояний и «таблица инструкций», сообщающая, что делать с каждой комбинацией состояния сканера и символа на ленте. В нашем случает сканирующее устройство — это картонная карточка с отверстием, шесть символов — это цифры от 1 до 5 и пробел, а четыре состояния — это четыре ориентации карты. Четыре набора правил образуют таблицу инструкций. И еще кое-что. Лента должна быть необходимой длины в любом направлении. При необходимости всегда должна найтись еще одна ячейка. Бумаги всегда должно хватать. Возможно, теперь вы понимаете, почему Ньюман поначалу не поверил, что такое простое устройство — на первый взгляд, примитивная игрушка — позволяет получить такой серьезный математический результат. Из этой простой «машинной» концепции произошли все машинные вычисления.
В рассмотренном нами устройстве отражен принцип работы современного компьютера. Сама карточка — это ЦП (центральный процессор), а лента — это память. Но современный компьютер выполнит любое вычисление, если просто изменить программу. Конечно, нашему примитивному устройству из картонной карточки никакие
Согласно великой идее Тьюринга, машина Тьюринга не просто выполняет систематический процесс — в ней воплощено то, что мы подразумеваем под «систематическим процессом» или «механистическим процессом». Даже сама по себе идея неплоха. К примеру, таким процессом — как сложить два числа, чтобы получить их сумму, — является алгоритм суммирования. Итак, должна существовать машина Тьюринга, которая «считывает» два числа со своей ленты, складывает их вместе и фиксирует сумму на ленте. И больше ничего не делает.
Другой систематический процесс — переворачивание буквенной строки. Например, если задана строка
Однако суть идеи Тьюринга заключалась в доказательстве, что
Никогда не пытайтесь объяснить устройство компьютера невеждам. Легче девственнице объяснить, что такое секс.
Иди к черту, Хайнлайн! Фокус Тьюринга, позволяющий сделать одну из его машин универсальной, гениален. Машина Тьюринга — это простая вещь, которая определяется набором правил. У нашей машины из картонной карточки, например, есть 24 правила, по 6 для каждого положения. Поэтому Тьюринг предположил, что существует возможность спроектировать машину Тьюринга, которая возьмет описание любой машины Тьюринга, а также входные данные для нее и смоделирует все то, что эта машина будет делать лентой. Он считал это возможным, потому что такое моделирование представляет собой систематический процесс, а машина Тьюринга изобретена для демонстрации исполнения именно того, что мы подразумеваем под систематическим процессом. Машина Тьюринга, которая имитирует любую другую, — это универсальная машина Тьюринга, и Тьюринг показал, как ее сконструировать.
Буква A на рисунке 3.4 — любая простая машина Тьюринга, которая условно изображена как сканирующая головка, перемещающаяся влево и вправо по бесконечной ленте. В нашем примере это картонная карточка, а «сканирующая головка» — это отверстие в ней. Карточка будет нашим текущим примером произвольной машины Тьюринга A. Обозначим буквой U
В нашем примере набор команд А — это всего 24 правила, которые определяют машину, сделанную из картонной карточки. Они
Тьюринг заметил, что набор правил любой машины Тьюринга можно записать как одномерный ряд символов. В примере с карточкой можно перечислить все 24 ее правила в одной строке, если использовать односимвольные сокращения f(ront), b(ack), F и B для четырех положений карточки — лицевой, обратной, повернутой лицевой и повернутой обратной — и разделить правила на четыре группы, по шесть правил в каждой:
(шесть правил f) (шесть правил b) (шесть правил F) (шесть правил B)
Как может выглядеть эта перекодировка на самом деле, можно посмотреть в комментариях на сайте.
Первый фокус, проделанный Тьюрингом, — это запись линейного описания машины А на ленте U, по одному символу на каждую ячейку ленты. Представьте, что это записано на левой половине ленты.
Второй фокус Тьюринга — сделать линейное описание ленты А, содержащее все ее исходные данные, справа от описания машины А. Кодировка здесь предельно проста, данные просто переносятся ячейка в ячейку. Таким образом, описание и исходные данные нашей машины-карточки могут выглядеть следующим образом, если мы используем вертикальную черту для разделения двух наборов и 0 для кодирования пробела:
Рис. 3.4. Под данными для А мы подразумеваем некие символы, изначально записанные на ее ленте — например, для карточки из нашего примера исходными данными была запись 5155. Их также надо перекодировать в форму, требуемую для U. Ниже мы также приведем пример такого перекодирования. Иначе говоря, исходные данные на ленте универсальной машины Тьюринга U состоят как из правил A, так и из данных A в одномерной форме, как показано на рисунке.
(шесть правил f) (шесть правил b) (шесть правил F) (шесть правил B) | 000000051550000000
Теперь универсальная машина Тьюринга U «знает», что представляет собой произвольная машина Тьюринга A, потому что у нее есть полное описание поведения этой машины, выраженное ее собственными правилами. И универсальная машина знает, какую ленту изначально просматривала произвольная машина. U получила свои входные данные.
Универсальной машине теперь нужно «узнать» еще только две вещи, чтобы сымитировать произвольную машину А: какой символ машина А сканирует в данный момент и в каком положении она находится в данный момент. Третий фокус Тьюринга — это добавление в левой части ленты символа, указывающего текущее состояние, и еще одного символа в правой половине, указывающего, какая ячейка просматривается в данный момент. Четыре компонента информации о произвольной машине А — ее описание, начальные данные, начальное положение и отсканированный в начальной позиции символ — образуют начальные данные для универсальной машины. Вот представление входной ленты U для машины-карточки в перевернутом положении, с исходными данными 5155, первоначально стоящей в позиции сканирования пустой ячейки (0) справа, как на рисунке 3.3:
(шесть правил f) (шесть правил b) (шесть правил F) (шесть правил B) | 000000051550000000
Жирным 0 отмечен сканируемый в начальной позиции символ, а жирным b отмечено начальное положение карточки, то есть указано, какой набор правил использовать. Посмотрите в комментариях на сайте, как на самом деле может выглядеть лента для U.
Разработка такого набора правил для U, чтобы она могла имитировать произвольную машину A, закодированную описанным выше способом на ленте машины U, — долгий и муторный процесс. Суть в том, что U может «видеть» полное описание произвольной машины и полное описание данных для нее. Она может видеть текущее положение произвольной машины и считываемую ею в данный момент ячейку ленты данных. Это полное описание моделируемой машины — на данный момент. Аналогичным образом моделируется следующее положение произвольной машины, и Тьюринг в своей знаменитой статье 1936 года описал U, которая систематически преобразовывала отображение для одного момента в отображение для следующего момента. Таким образом, в процессе моделирования машины-карточки лента U на втором шаге выглядит так:
(шесть правил f) (шесть правил b) (шесть правил F) (шесть правил B) | 000000051555000000
Затем она сымитирует следующий шаг, затем еще один и так далее. Фактическое создание такой конструкции — трудоемкий процесс, но суть его проста. Если вы готовы лишиться девственности (по Хайнлайну), читайте комментарии на сайте, где подробно описан процесс моделирования.
Тьюринг показал, как машина U может имитировать все шаги, проделанные произвольной машиной A. Машине U требуется выполнить много шагов, чтобы смоделировать каждый из них, но это совсем не важно для самого аргумента. U — это универсальный компьютер, потому что он способен вычислять все, что вычисляет любая другая специализированная машина. Просто измените часть описания на ленте U, чтобы изменить вычисляемое.
Тьюринг изобрел программирование. Говоря современным языком, Тьюринг разместил в памяти универсальной машины
Универсальная машина Тьюринга — это, по сути, то, что мы теперь называем
Перечислим еще раз, чего добился Тьюринг. Он показал, что может существовать одна-единственная конструкция машины, способная делать все, что представлено систематическими инструкциями. Она не может забивать гвозди или нажимать на клавиши рояля, но она с легкостью исполнит какие-то систематические операции над символами (а вот с помощью полученных результатов — тоже символов — уже можно управлять машиной, которая забивает гвозди или нажимает на клавиши). Чтобы изменить то, что делает машина, нужно лишь изменить ее программу. Тьюринг изобрел концепцию компьютера, под которым мы ныне подразумеваем компьютер с хранимой в памяти программой. Мы реализуем его в виде электронного устройства, чтобы оно работало быстрее.
Рис. 3.5 Программа современного компьютера почти всегда разделена как минимум на две части. Одна из них называется операционной системой или ОС, например Windows, MacOS или Android. Она работает всегда. В этом случае желателен бесконечный цикл. Другая часть программы, которая изменяется в соответствии с вашими индивидуальными потребностями, называется приложением. Похожим образом в памяти хранятся данные, важные для операционной системы, отдельно от данных для приложения. Операционная система просто «занимается всякими делами», например загружает приложение в память в нужном месте и запускает его, обеспечивает ввод данных и управление с помощью мыши и следит за отключением питания. А приложение в современном компьютере — это произвольная машина Тьюринга A. И для каждого алгоритма или систематического процесса есть такая А. Эта идея лежит в основе компьютерного мира.
Сколько программ может выполнить компьютер? Сколько приложений он может запускать? Их настолько много, что вы их даже не сосчитаете. Это все равно что спросить, сколько музыкальных произведений может сыграть рояль. Компьютер — самый гибкий инструмент, когда-либо созданный человечеством. Это чудо Гибкости. Цифровой Свет — лишь один из миров, записанный на его бесконечной ленте.
Джонни фон Нейман
Принститут — сленговое название Института перспективных исследований в городе Принстон — притягивал гениев, особенно тех, кто бежал из нацистской Европы. Когда Тьюринг и Ньюман приехали туда в конце 1930-х (первый — для учебы в аспирантуре, второй — в творческий отпуск), там уже сияло небольшое, но впечатляющее созвездие ученых. Например, в Принституте тогда работал Альберт Эйнштейн. Но для нашей истории важнее, что там оказался Джон фон Нейман.
Янош Лайош Нейман родился 28 декабря 1903 года в Будапеште. Его отец, банкир Макс Нейман, в 1913 году получил от правительства Австро-Венгрии дворянский титул (предположительно, за финансовую помощь), что позволило ему добавить приставку «фон» к австрийской фамилии. Так что его сын стал известен в Америке как Джон фон Нейман. Он переехал туда навсегда в 1933 году и стал одним из первых преподавателей Принститута.
В Будапеште семья Неймана принадлежала к финансовой элите, поэтому и в новой стране он продолжал вести аристократический образ жизни. Он ездил исключительно на машинах марки «Кадиллак», но часто попадал в аварии, после которых приобретал новый автомобиль. Такое поведение немало говорит о его личности. Еще одной подсказкой может быть то, что он отзывался на имя Джонни. На этой знаменитой фотографии (рис. 3.6) Джонни вверху слева в деловом костюме и галстуке — его посведневный наряд — верхом на муле, который смотрит в противоположную сторону (можно сказать, задом наперед), замыкает кавалькаду, направляющуюся в Большой каньон. Он был жизнерадостным повесой и гостеприимным хозяином. Он обожал мартини, нелепые шляпы для вечеринок и непристойные лимерики.
Фон Нейман повлиял на развитие столь разных областей, как квантовая физика и теория игр, а еще участвовал в секретном Манхэттенском проекте по разработке ядерного оружия и впоследствии входил в состав Комиссии по атомной энергии. Но также он прославился своим вкладом в разработку первых компьютеров, и в первую очередь — концепцией общей организации подсистем, которую теперь называют
Рис. 3.6
Он был гением среди гениев, «самым умным человеком» с «самым быстрым умом». Он, несомненно, был американским гением компьютерной гонки, заокеанской версией британского гения Алана Тьюринга. Взглянув на их достижения в исторической перспективе, можно прийти к выводу, что интеллектуальными предками Цифрового Света стали концепция вычислительного устройства с хранимой программой, появившаяся благодаря Тьюрингу, и реализующая эту концепцию архитектура, созданная фон Нейманом.
Фон Нейман не обделил вниманием и одну из знаменитых 23 проблем Гильберта, связанных с основами математики. Он попытался решить Вторую проблему Гильберта за несколько лет до того, как Тьюринг взялся за е-Проблему.
Во Второй проблеме Гильберта ставится вопрос, не противоречивы ли аксиомы арифметики — ее фундаментальные, даже очевидные истины. Гильберт считал важным показать, что по крайней мере простая арифметика поддерживается системой логики, которая
Теорема Гёделя имеет косвенное отношение к истории Цифрового Света, поскольку подтверждает дарование фон Неймана. В 1930 году он посетил лекцию, где Гёдель представлял революционные результаты своих изысканий еще до того, как опубликовал их. В способностях фон Неймана легко убедиться, узнав, что он почти сразу ухватил суть и лично предложил Гёделю более яркую формулировку. Предполагаю, что он здорово расстроился, узнав, что у Гёделя уже есть более сильное доказательство. Еще ярче особенности характера фон Неймана раскрывает тот факт, что после этого он бросил свои исследования, касавшиеся формальной логики. Похоже, если он понимал, что не будет лучшим в какой-то области — если не получится «перегёделить» Гёделя, так сказать, — он переключался на другую сферу деятельности, чтобы стать лидером в ней.
Фон Нейман подходил к вычислительным машинам иначе, чем Тьюринг, хотя разобрался в идее последнего сразу же после ее обнародования. Неймана больше интересовало их реальное воплощение с инженерной точки зрения. Участвуя в разработке термоядерной (ее еще называют водородной) бомбы, он познакомился со всеми американскими проектами по созданию в послевоенные 1940-е годы машин для больших объемов математических вычислений — непосредственных предшественников компьютеров. Он искал наилучший вариант машины для быстрого проведения сложных расчетов термоядерных реакций. В частности, в Филадельфии он обнаружил машину под названием ЭНИАК (ENIAC, Electronic Numerical Integrator and Computer, электронный числовой интегратор и вычислитель). Она работала на радиолампах и занимала целый зал. Изначально она задумывалась, чтобы заменить женщин-«вычислителей» с механическими арифмометрами для расчетов артиллерийских таблиц стрельбы во время войны, но оказалась готова к работе только в 1946 году. Она уже напоминала привычные нам компьютеры. ЭНИАК действительно использовали для расчетов в проекте разработки водородной бомбы. Однако недостатки этого «почти-компьютера» вдохновили фон Неймана и его коллег на разработку архитектуры более универсальной вычислительной машины — с хранимой в памяти программой, — которая в дальнейшем сильно повлияла на компьютеры, ныне используемые для Цифрового Света. Если Тьюринг придумал свою машину ради решения теоретических проблем в башне из слоновой кости, то фон Неймана к открытию привела упорная работа в вонючей лаборатории.
Как и Тьюринг, фон Нейман прожил блестящую, но короткую жизнь. Он умер от рака в возрасте 53 лет, в 1957 году, всего через три года после Тьюринга, поэтому он тоже не увидел Великую цифровую конвергенцию нового тысячелетия. Однако, в отличие от Тьюринга, правительство воздало ему по заслугам при жизни. Эйзенхауэр наградил его Президентской медалью свободы в 1956 году. Фон Нейман работал над атомной и водородной бомбами, над стратегическими межконтинентальными баллистическими ракетами. Он был таким ястребом, что никто и никогда не сомневался в его лояльности Соединенным Штатам. Давая показания перед комитетом Сената, он называл себя «яростным антикоммунистом».
По иронии судьбы, его сотрудник Клаус Фукс передал в СССР секретную информацию, над которой велась работа, — метод инициирования термоядерных взрывов.
Однажды в 1937 году фон Нейман, Макс Ньюман и Тьюринг — будущие лидеры британской и американской компьютерной гонки — оказались в Принстоне одновременно. В 1938 году фон Нейман попытался завербовать Тьюринга в Принститут. Как ни странно, тот отклонил заманчивое предложение. Представьте себе, что фон Нейман и Тьюринг работали бы вместе. И первый компьютер мог бы быть американским.
Однако Тьюринг и фон Нейман слишком различались характерами — из гика и повесы вряд ли бы получилась работоспособная команда. Фон Нейман, должно быть, считал, что станет в ней главным. Вероятно, Тьюринг, в свою очередь, считал так же. Однако неизвестно, как все обернулось бы, потому что Тьюринг, в соответствии со своим характером, настоял на своем. Он вернулся в Англию, где его почти сразу завербовали в Блетчли-Парк. Шел 1939 год, и Англия опасалась за свою безопасность.
Блетчли-Парк
В Блетчли-Парке Тьюринг, как известно, помог взломать схему шифрования, которую немцы использовали для военной радиосвязи. Немцы создали чертовски сложную шифровальную машину под названием «Энигма» (это ее настоящее фирменное наименование), которая напоминала старомодную пишущую машинку в деревянном футляре. Оператор вводил текстовое сообщение — скажем, от адмирала из штаба немецкого военно-морского флота для подводной лодки в море, — и машина кодировала буквы одним способом, затем кодировала полученные буквы другим способом и так далее. При помощи сменных роторов производилось шифрование в несколько слоев. Радист на подводной лодке настраивал свою принимающую «Энигму» в соответствии с передающей. Затем полученное сообщение расшифровывалось слой за слоем в обратном порядке, пока не получался исходный текст, который распечатывался для капитана субмарины. Немцы использовали систему одноразовых блокнотов для ежедневной перенастройки шифровальной машины. Напомню, и Котельников, и Шеннон доказали, что такую систему нельзя взломать — по крайней мере, при правильном использовании. Но немцы полагали, что она неуязвима из-за огромного количества возможных конфигураций. На самом деле они так до конца войны и не поняли, что Тьюрингу и его коллегам из Блетчли-Парка удалось найти слабые места. Взлому способствовали множество факторов: неправильное использование системы операторами, заведомо известные тексты сообщений (например, метеосводок), захваченные у противника машинки, — но ключевую роль сыграли вычисления, проделанные в огромных объемах. Вот тут и вступили в дело вычислительные машины.(Энигма была взломана в Домике № 8, который изображен на фотографиях B и C на рисунке 3.7. На фото А — эклектичный особняк по соседству.)
Метод проб и ошибок при расшифровке кода «Энигмы» подразумевал очень утомительную работу, которую сначала выполняли вручную сотни «вычислителей», «рабынь» Тьюринга. Чтобы облегчить утомительный труд и увеличить скорость декодирования, работавшие в Блетчли-Парке шифровальщики построили большие машины, которые они называли «криптологическими бомбами». Эти машины в современном смысле еще не были компьютерами, но уже определенно стали заметным шагом на пути к ним. В них отсутствовала возможность программирования даже с помощью аппаратных переключателей и кабелей. В некотором смысле «бомбы» допустимо назвать машинами Тьюринга, но не универсальными машинами Тьюринга. Они выполняли систематическую задачу, состоящую из множества шагов, — перебирали огромное количество способов шифрования, которые могла бы использовать «Энигма». Других вычислений они не выполняли. Электромеханические «бомбы» работали значительно быстрее «вычислителей» из плоти и крови. Скорость имела решающее значение, позволяя, скажем, предупреждать американские и британские торговые суда о зонах охоты немецких подводных лодок. Так что прогресс налицо: вычисления становились быстрее.
Макс Ньюман
Тьюрингу требовался партнер, а не лидер. Он не умел играть в команде и тяготел к одиночеству. Поэтому в дело снова вступил Макс Ньюман, которому уже доводилось выступать в роли его наставника и промоутера. Как и Тьюринг, Ньюман после Принстона вернулся в Англию. В отличие от Тьюринга, у него была семья — жена Лин и двое маленьких сыновей, Эдвард и Уильям, — и их требовалось защищать. Поскольку он был евреем (как, кстати, и фон Нейман), в случае захвата Англии нацистами его семье грозила бы смертельная опасность. В 1940 году он оставил жену и мальчиков в далеком, но знакомом Принстоне (оттуда они вернутся только после войны), а сам тем временем присоединился к команде Блетчли-Парка.
Рис. 3.7
Тьюринг возглавил первую атаку на шифровальную машину «Энигма» с помощью «криптологических бомб». Теперь настала очередь Ньюмана. Он командовал второй волной атак, направленных против новейшей немецкой шифровальной машины по прозвищу «Танни» (словом
Тьюринг косвенно повлиял на работу Colossus. Он пришел к математическому открытию, известному на сленге Блетчли как
Вокодер как связующее звено
Тьюринг и Котельников разминулись на Манхэттене в 1936 году, после чего так и не встретились, но тем не менее между ними существовала удивительная связь. Она заключалась не в компьютерах, теореме выборки или взламывании шифров, как вы могли бы подумать, а в вокодере (от английского
Из главы 2 нам известно, что Котельников, а впоследствии и Шеннон доказали, что шифры, основанные на одноразовых блокнотах, устойчивы ко взлому. Вокодер, дополненный таким шифратором, сделал голосовые коммуникации столь же безопасными, как и письменные. Шифрованный вокодер — голосовой скрэмблер — был чем-то вроде «Энигмы» для голоса.
Сталин из-за усиливающейся параноидальной подозрительности потребовал срочно разработать шифратор телефонной связи, чтобы защитить свои разговоры от потенциальных шпионов. Его приказание свело Котельникова и Солженицына в шарашке Марфино на севере Москвы.
Черчилль и Рузвельт (а позже и Трумэн), хотя и действовали более рационально, также нуждались в голосовом шифраторе для связи в военное время, что привело к появлению системы Junior X. Ее разработка свела Тьюринга и Шеннона в Bell Labs в 1943 году. Британское правительство назначило Тьюринга экспертом по криптографии для проверки безопасности Junior X. Именно из-за этого он и не стал членом команды Ньюмана в Блетчли-Парке. Он ненадолго присоединился к Шеннону, который выступил экспертом с аналогичным заданием от американских властей. Из соображений безопасности им запрещалось обсуждать криптографию, но ничто не мешало говорить о машинных вычислениях, компьютерных шахматах и компьютере как модели человеческого интеллекта.
Примечательно, что многие герои истории пикселя участвовали в разработке вокодера, но для развития компьютеров еще важнее тот факт, что один из них создан непосредственно Тьюрингом. По предложению своего близкого друга Робина Ганди он назвал разработанный прибор «Далила» (
Есть веская причина углубиться в принципы устройства вокодера, поскольку в нем используются идеи частот Фурье и теоремы отсчетов, о которых мы говорили в предыдущих главах.
Сначала обратимся к идее частот Фурье. Мы разбиваем диапазон частот, используемых голосом, на, скажем, десять меньших диапазонов. Предположим, что частоты, необходимые для передачи человеческого голоса по телефонной линии, находятся в диапазоне от 0 до 3000 колебаний в секунду. (Голосовая связь обычно не использует весь спектр возможностей человеческого слуха, способного различать звуки высотой до 20 000 циклов в секунду.) Представьте этот диапазон частот разбитым на десять поддиапазонов по 300 циклов в секунду каждый. Например, все частоты в исходном голосовом сообщении с частотой менее 300 циклов в секунду относятся к диапазону 1, частоты от 300 до 600 циклов в секунду относятся к диапазону 2 и так далее. Грубая идея голосового скрэмблера состоит в том, чтобы перемешать десять диапазонов известным участникам коммуникации, но секретным способом, передать результат по линии связи, а затем расшифровать на принимающей стороне.
Теперь применим теорему отсчетов, чтобы преобразовать каждый из десяти диапазонов в набор выборок с соответствующей частотой дискретизации. На самом деле скрэмблируются, а затем передаются именно эти десять наборов. Если для дополнительной безопасности используется шифрование по системе одноразовых блокнотов, то значения ключей шифров добавляются к значениям выборок в каждом канале перед скрэмблированием. На принимающей стороне происходит расшифровка диапазонов, а код одноразового блокнота, если он применяется, вычитается из полученных отсчетов. Десять наборов частотных компонентов реконструируются в соответствии с теоремой отсчетов, а затем все полученные частоты снова складываются, чтобы восстановить исходное голосовое сообщение.
Самое удивительное, что теорема отсчетов тогда использовалась. Напомним, что речь идет о 1943 годе, а Шеннон опубликовал свою версию только в 1948-м. Очевидно, что принципы теоремы отсчетов уже полностью осознавались на Западе за пять лет до статьи Шеннона. Неудивительно, что тот же принцип использовался в СССР для их вокодеров, потому что Котельников обнародовал свою работу в 1933 году. Кроме того, вскоре и Тьюринг использовал принцип выборки в конструкции своей «Далилы». Он говорил, что задумал свою версию вокодера на борту корабля, когда второй раз возвращался домой из Америки в 1943 году.
Вокодер все еще с нами, но теперь в него встроен компьютер. В современной популярной музыке используют компьютерный аудиопроцессор, который называется автотюнер. Сегодня он применяется не для шифрования, а для корректировки тональности, избавления от фальшивых нот и улучшения голоса. Музыканты, которые к нему прибегают, такие как Шер, Лори Андерсон и Ти-Пейн, концептуально связаны с Тьюрингом, Котельниковым, Шенноном и Солженицыным. В какой-то степени их можно даже считать партнерами. Автотюнер — это фотошоп для человеческого голоса, потому что он позволяет многим певцам — не столь хорошим, как трое перечисленных, — добиться идеального звучания и попадания в ноты. Отсылка к Photoshop снова напоминает нам, что пиксели и соксели — это, в принципе, одна и та же идея. Мы можем создавать цифровой звук с нуля при помощи компьютеров так же, как и цифровой свет.
Непознаваемость
Большинство думают, что компьютеры непостижимы, но на самом деле они удивительно просты. Мы уже разобрались с одим из них на примере устройства из картонной карточки с отверстием и даже провели с его помощью некоторые операции. У него всего четыре состояния, оно использует шесть символов и сделано из бумаги. Тем не менее оно способно вычислить все, что только можно вычислить. Это компьютер.
Но компьютеры нужно программировать. Как вы, наверное, догадываетесь, это очень сложно, дело довольно утомительное, и в нем никто не застрахован от ошибок. Даже сам Тьюринг ошибался при работе над своими программами. Но это программное, а не аппаратное обеспечение. Аппаратное обеспечение устроено концептуально просто и не зависит от программного обеспечения.
Аппаратное обеспечение ничего не говорит нам о программном. Даже заполучив полную электрическую схему компьютера, мы не поймем, что он вычисляет. Например, мы рассмотрели, как работает «аппаратное обеспечение» устройства из картонной карточки. Тем не менее полученных знаний недостаточно, чтобы понять любую из ее программ. Даже досконально зная, как устроен рояль Steinway, без партитуры вы не исполните этюд Шопена — его музыкальный софт. По такому же принципу вы можете создать полную электрическую схему человеческого мозга, но она не поможет вам понять, о чем думает этот мозг.
Тут-то и вступает в игру е-Проблема, Entscheidungsproblem Гильберта, — именно она изначально мотивировала Тьюринга. Здесь нас больше интересует не сама математическая проблема, а компьютер, машина, использованная для ее решения. Но важно помнить, что в основе идеи компьютерных вычислений лежит нечто очень серьезное. Об этом нельзя забывать, если вы хотите составить правильное представление о том, что такое компьютер.
Многие думают, что компьютер — абсолютно детерминированная машина. Тут не поспоришь: каждый шаг, который делает компьютер, строго обусловлен. Например, все действия нашей машины из картонной карточки определяются таблицей инструкций с 24 правилами, положением самой карточки и текущим сканируемым символом. Напрашивающийся вывод о жесткой детерминированности всех операций компьютера неверен. Судьба машины полностью
Чтобы описать
Если помните, Тьюринг установил, что для е-Проблемы Гильберта решения не существует: невозможно алгоритмически определить, является ли произвольное утверждение простой логики первого порядка истинным или ложным. Конечно, в некоторых случаях решение есть, но не во всех. Общего алгоритма не существует. Нечто подобное отмечается и у компьютеров — определенная непознаваемость или неразрешимость называется
Другими словами, для выявления остановки не существует ДНК-теста. Вы должны запустить программу и лишь тогда узнаете, что произойдет. То есть нужно пройти весь путь вычислительных операций от начала до конца, если он существует. Если программа остановится, то вы получили ответ, но если этого не произойдет, то вы не знаете ответа. А что, если еще немного подождать? Вы просто будете искать ветра в поле. Возможно, программа попала в бесконечный цикл. Ничего конкретного вы не можете знать.
Таким образом, компьютер полностью определен в малом, но непознаваем в целом. На практике столь странное свойство проблем не доставляет. Программисты обычно хорошо знают, что будет делать их программа, если она правильно заработает. Таким образом, для Цифрового Света проблема непознаваемости скорее относится к области теории.
Программисты изо всех сил стараются не писать непознаваемый код. Многие дисциплины программирования развивались десятилетиями, чтобы помочь избежать ловушек неизвестности.
Одна из таких ловушек связана с вычислительным аспектом, который больше всего интересовал Тьюринга, — со способностью программы фактически изменять себя во время вычисления. Например:
(1) Вычесть входное число
Давайте попробуем проделать это с
Полезно знать о непознаваемости, когда вы рассматриваете идею вычислительной машины как модели человеческого мозга или разума, чем занимались Тьюринг, фон Нейман и Шеннон. Компьютер может показаться не слишком удачной моделью, но нельзя отвергать его с ходу из-за его детерминированности и предопределенности всех его действий, считая его слишком жестким и ограниченным, чтобы соответствовать нам. Просто дайте ему работать, и вы увидите, на что он способен.
Программирование
Процесс подготовки программ для цифрового компьютера — это очень увлекательное занятие. И дело не только в том, что оно оправдывает себя с экономической и научной точки зрения; оно может вызвать также эстетические переживания сродни тем, которые испытывают творческие личности при написании музыки или стихов.
Программирование — секрет успеха универсальных вычислительных машин, но ученым потребовалось не менее десяти лет, чтобы понять это. Тьюринг опубликовал первые программы в своей знаменитой статье 1936 года «О машинно-вычислимых числах». Он написал их для концептуальных машин — машин Тьюринга, — которые демонстрировали концепцию универсальных машинных вычислений. Поэтому принято считать, что именно он изобрел программирование и концепцию хранимой в памяти программы. Он придумал слово
Давайте более внимательно посмотрим, что на самом деле сделал Тьюринг. Предположим, ему понадобилась машина, которая переворачивает любую строку букв на входной ленте. Он разработал набор правил — таблицу инструкций — для конкретной машины Тьюринга, в которой реализована систематическая перестановка букв. Назовем ее машиной А. Затем он «скармливал» правила А универсальной машине. Вспомним рисунок, где изображены произвольная машина A и универсальная машина U, каждая со своей лентой. «Закодированные правила А» на этом рисунке — это то, что мы теперь назвали бы
Разделение программирования на творческую и скучную части сохраняется поныне. В нашей метафоре с роялем сочинение пьесы — это творческая часть, а ее кодирование в виде нот и других знаков — скучная. Одна из основных задач современных компьютеров заключается в выполнении рутинного кодирования для вычислений. Это называется
Однако в конце 1940-х те, кто создавал первые аппаратные компьютеры, использовали термин
В те времена сам процесс создания работающего компьютера требовал почти всех творческих ресурсов. Но вскоре обнаружилось, что настройка довольно сложна, подвержена ошибкам и очень обременительна. Она стала хвостом, который вилял собакой. Очевидным это кажется только сейчас, когда программы состоят из миллионов шагов, написанных сотнями программистов.
Но в то время пришлось разработать набор методов, позволявший формализовать процесс настройки и облегчить его, а для их обозначения требовалось короткое название. В архиве фон Неймана в Принституте есть документ, в котором впервые употребляется глагол «программировать». Указанную там дату можно считать днем рождения как термина «программирование», так и самого искусства программирования, новой технической дисциплины.
В служебной записке от 5 сентября 1945 года везде, где был бы уместен термин «программирование», фон Нейман еще использовал слово «настройка», заключая его в кавычки. Он пишет: «Я хочу еще раз подчеркнуть, что такая гибкая и высокоавтоматизированная система „настройки“ машины для решения [различных] задач абсолютно необходима для научных целей и ее следует обдумать». Как бы мы это ни называли, говорит он, это абсолютно необходимо.
В письме от 1 ноября, на всякий случай в кавычках, предлагается альтернатива слову «настройка»: «Точное электронное устройство, которое мы планируем, конечно, превзойдет его [ЭНИАК] по скорости и гибкости (универсальный характер), и его будет по крайней мере гораздо легче „настроить“, или „запрограммировать“». То есть, по его словам, это уже не будут переключатели и кабели, как в случае с ЭНИАК.
И наконец, буквально через пару недель, 19 ноября, «настройка» окончательно исчезает. Теперь это
Команда фон Неймана, по-видимому, подразумевала, что
Итак, в конце 1945 года команда фон Неймана, а возможно, и сам фон Нейман первыми использовали слово «программирование» примерно в том же смысле, в котором мы его понимаем сегодня. Тьюринг вскоре тоже употребил этот термин в своей лекции в 1947 году, но упомянул его лишь несколько раз в ограниченном контексте. Впрочем, независимо от наименования, довольно быстро выяснилось, что программирование, творческий аспект — это сложная часть машинных вычислений и для него необходимо разработать отдельную научную дисциплину. Благодаря этому повсеместно возникли факультеты компьютерных наук.
Программирование — это способ создавать пиксели, изображающие вымышленные миры. Оно расширяет возможности Цифрового Света от простой фотофиксации миров до их создания — от простой съемки пикселей до их вычисления.
Мифы о компьютерах
[Это] становится заколдованным ткацким станком, где миллионы светящихся челноков ткут гаснущий узор, всегда осмысленный, но никогда не постоянный; изменчивая гармония узоров, складывающихся из узоров.
Следующая глава посвящена воплощению концепции универсальной вычислительной машины на практике — соревнованию по созданию первого компьютера. Прежде чем мы последуем дальше, давайте развеем три мифа о компьютерах: они не обязательно должны быть электронными, они не обязательно состоят из битов и не обязательно основаны на числах — даже на нулях и единицах.
Во-первых, компьютеры не всегда выглядели как те, которые вы видите: мобильный телефон, ноутбук, настольный компьютер, гигантский мэйнфрейм в крупной корпорации или суперкомпьютер в высокотехнологичном исследовательском центре. Рассмотренная ранее картонная карточка — хороший контрпример. Это тоже компьютер, и для моей книги он изготовлен из чернил, плотного картона и тонкого металла. Он определенно не электронный.
Есть популярный педагогический трюк, превращающий лекционную аудиторию со студентами в компьютер. Давайте масштабируем эту идею. Предположим, все жители США старше 12 лет выстроились в ряд. Эта шеренга станет лентой нашего компьютера — его памятью. Если нам понадобится ее увеличить, мы позовем несколько канадцев и мексиканцев. Предположим, у каждого человека есть пять шляп разных цветов. Эти головные уборы будут символами на нашей ленте. Шестым символом станет отсутствие шляпы, и оно же будет условием по умолчанию для всех, кроме нескольких человек. Мы выберем кого-нибудь, кто просканирует ленту. Когда я придумал этот пример, президентом был Барак Обама, так что мы сделаем его не ячейкой, а сканером нашей ленты. Дадим ему 24 правила машины Тьюринга — набор инструкций — для пяти цветов шляп, а не для цифр от 1 до 5 (и для отсутствия шляпы вместо пустой ячейки). Правила, как обычно, разделены на четыре набора, и каждый из них лежит в одном из карманов его джинсов, два спереди и два сзади. Итак, его карманы — это четыре состояния машины.
Обама начинает с человека в красной шляпе и применяет один из наборов правил — скажем, из правого переднего кармана. Человек, к которому он обращается, выполнит указанное действие — наденет шляпу другого цвета или снимет ее. Затем Обама перемещается влево или вправо на одного человека согласно тому же правилу. Затем он убирает один набор правил обратно в карман и достает другой, если текущее правило предписывает ему так сделать. И так далее. У нас получился компьютер, сделанный из людей, с карманами для разных состояний и шляпами в качестве символов. Он может вычислить что угодно, потому что делает то же самое, что и машина Тьюринга из картонной карточки, универсальный компьютер. Это просто разные аппаратные реализации одной и той же машины. Но это настоящий компьютер — и уж точно не электронный (и не числовой). Компьютер-карточка или его человеческий эквивалент также опровергают наше второе предубеждение относительно компьютеров — что они должны состоять из битов. Во второй главе мы уже упоминали, что у бита есть два состояния, как у выключателя, который пребывает или во включенном, или в выключенном состоянии. Но машина из картонной карточки способна принимать четыре положения. И каждая ячейка ленты может содержать шесть значений или символов. Ни один из элементов компьютера-карточки не ограничивается только двумя значениями. Он не состоит из битов. То же самое относится и к его человеческому эквиваленту.
Не обязательно применять именно биты, просто инженеры быстро обнаружили, что они очень удобны на практике. Фактически, биты уже использовались в течение многих лет при создании вычислительных машин, прежде чем кто-то удосужился преобразовать в них великую идею Тьюринга. Эта заслуга принадлежит Клоду Шеннону. Возможно, именно встречи с Тьюрингом в 1943 году на Манхэттене — по поводу разработки вокодера — подтолкнули его к догадке. Шеннон показал, что машину Тьюринга с любым количеством символов можно заменить другой с двумя символами, и она будет вычислять то же самое. Поскольку лента машины Тьюринга — это ее память, ячейка ленты в предложенном Шенноном эквиваленте машины Тьюринга — это один бит памяти с двумя символами в качестве значений.
Третий миф еще более вреден. Это убежденность, что бит принимает только два значения — 0 и 1. Другими словами, третий миф утверждает, что компьютер состоит из нулей и единиц и, следовательно, в его основе лежат числа. Здесь смешиваются калькулятор, предназначенный для работы с числами, и компьютер, то есть гораздо более масштабная идея. В третьем мифе также перепутано понятие имени с тем, что оно обозначает.
Ошибочное представление естественным образом возникает из-за выбора наименований для двух состояний бита. Нам удобно обозначать их 0 и 1, но ничто не мешает называть их как-нибудь по-другому: день и ночь, низ и верх, точка и тире или ох и ах. Я думаю, вы согласитесь, что такие имена гораздо менее удобны и лаконичны, чем 0 и 1. Но, как и в случае с компьютером-карточкой, это просто слова, а не числа.
Нетрудно догадаться, почему компьютерные операции путают с вычислениями. Оригинальная статья Тьюринга называлась
Сэр Чарльз Шеррингтон, автор эпиграфа к этому разделу, использовал свою знаменитую метафору про «заколдованный ткацкий станок» для описания бодрствующей коры человеческого мозга, но она также подходит для современного компьютера. Речь идет об изменчивых узорах, а вовсе не о числах, если только смыслы, которые[14]
Если в компьютере нет чисел, то что там находится? Почти все современные компьютеры — это электронные машины, и в ячейках их памяти хранятся биты. Они построены на основе интегральных микросхем — возможно, нашего величайшего технологического достижения. Заглянув внутрь такой работающей микросхемы, вы обнаружите узоры от высокого и низкого электрического напряжения. Это и есть биты.
Хорошо известное вам место, где такие узоры можно увидеть — или хотя бы измерить, — это электрическая розетка в вашем доме. Мы знаем, что напряжение там изменяется в виде волны Фурье от максимального до минимального значения (в США это 60 циклов в секунду). Ток, поступающий по проводам в ваш компьютер, на самом деле представляет собой волну постоянно меняющегося напряжения — от низкого к высокому и обратно.
Но на различных участках микросхемы напряжение не меняется плавно и непрерывно, как в розетке переменного тока. Оно сохраняет свое значение — допустим, высокое — до тех пор, пока компьютерное правило не потребует изменить состояние на другое, низкое значение. Каждый элемент микросхемы, который переключается по команде с высокого напряжения на низкое и наоборот, реализует абстрактную идею бита. Мы говорим, что бит принимает значение 1, пока не поступит указание изменить его на 0. Посмотрите, как удобны эти имена! Но физическая реальность — это не числа, а напряжение, как в розетке переменного тока.
Если вы представите компьютер с содержащимися в нем (обычно в виде регулярных массивов) триллионами битов, то поймете, почему метафора Шеррингтона тут применима. Когда компьютер работает на огромных скоростях, свойственных современным технологиям, узоры из триллионов напряжений движутся в электронном танце, изменяясь миллиарды раз за секунду. А уж для фильмов эти движения сплетаются в целостную ткань.
Секрет Цифрового Света кроется вовсе не в превращении картинки в числа, как в книжках-раскрасках «по номерам». Дело в том, что визуальные паттерны, которые мы видим каждый день, — узоры света, тени и движения — могут быть представлены узорами напряжения в машине. Мы имитируем модели мира с помощью моделей наших компьютеров.
Связывая все вместе
Группы криптографов и математиков из Блетчли-Парка расшифровывала сообщения немецких военных. Группа Блумсбери, знаменитое сообщество английских интеллектуалов, художников, писателей и мыслителей, занималась высокой английской литературой. На первый взгляд кажется, что у Блетчли и Блумсбери мало общего. Но в 1940-х и 1950-х годах они переплелись неявным, но интересным образом.[15]
Тут нет ничего удивительного, поскольку британские интеллектуалы, будь то математики или литераторы, обычно проходят через Кембридж или Оксфорд. Например, писатель Эдвард Морган Форстер, издатель Леонард Вулф и экономист Джон Мейнард Кейнс были известными членами Блумсбери. И все они принадлежали к тайному кембриджскому обществу «Апостолов», в которое входили сотрудники Алана Тьюринга Робин Ганди и Дэвид Чемперноун.
Это, конечно, просто совпадение, как и тесные связи двух сообществ через семью Стрейчи. У Литтона Стрейчи из группы Блумсбери был брат Оливер, работавший криптографом в Блетчли-Парке, и племянник, Кристофер, сын Оливера, учившийся вместе с Тьюрингом в Кембридже. О Кристофере Стрейчи, создателе первой видеоигры, мы еще поговорим в следующей главе.
Но особенно тесная связь установилась между Тьюрингом и писателем Форстером из группы Блумсбери. В своем романе «Морис», который долгое время оставался неопубликованным, Форстер осмелился изобразить, что значит быть «изгоем вроде Оскара Уайльда». Как утверждает Ходжес, Тьюринг нашел утешение в этой книге[16].
Возможно, самая любопытная связь затрагивает еще одного гиганта Блумсбери — Вирджинию Вулф, чей муж Леонард также издавал ее книги. Известно, что Вирджиния вела подробные дневники, поэтому неудивительно, что в них фигурирует имя одной из редакторов, работавших у Леонарда, Лин Ирвин. Неожиданно Лин вышла замуж за далекого от литературных кругов Макса Ньюмана, наставника и коллегу Тьюринга.
Опасаясь за жизнь своих сыновей после начала войны, Лин уехала с мальчиками в США, в уже упоминавшийся Принстон. Макс хорошо знал это место, ранее он провел там с Тьюрингом немало времени. Но теперь он остался в Англии, отправив в США Лин с детьми. Джон Мейнард Кейнс, отправившийся в США с государственным визитом, проведя несколько часов с президентом Рузвельтом в Вашингтоне, нашел время, чтобы разыскать Лин в Принстоне. Радостная встреча стала для нее освежающим напоминанием о Лондоне и передышкой от интеллектуальной изоляции.
Младший сын Лин и Макса, Уильям, тоже запомнил этот визит. Кейнс вызвался проводить его постричься и усадил в кресло рядом с фон Нейманом. Но что-то расстроило мальчика до слез, так что он убежал из парикмахерской. Кейнс догнал его и долго уговаривал вернуться, без сомнения пустив в ход все свое красноречие дипломата и финансиста, пока фон Неймана брили.
Дружба Лин с Тьюрингом началась позже, когда они оба вернулись в Англию и поселились в Манчестере. Все еще истосковавшаяся по лондонской интеллектуальной жизни, она сочла общение с ним освежающим по сравнению с другими гостями Макса, которые говорили в основном о математике. Она увидела в нем «очень простого, скромного, мягкого человека». Мы обращаемся к ее воспоминаниям за более глубоким пониманием святого Тьюринга.
Она вряд ли считала его гиком, но все же замечала некоторые странности характера. В предисловии к его биографии, подготовленной Сарой Тьюринг, Лин писала: «Он никогда не выглядел как человек, умевший подходящим образом одеваться». И «у него была странная манера не смотреть в глаза собеседнику».
Лин особенно сблизилась с Тьюрингом после того, как его осудили и он уже не скрывал ничего, кроме государственных тайн. Он сказал ей в те последние дни: «Я просто не могу поверить, что спать с девушкой так же хорошо, как с мальчиком».
«Я полностью с вами согласна, — ответила Лин. — Я тоже предпочитаю мальчиков».
Между ними возникла душевная близость, развеявшая внешний облик нелюдимого гика. Теперь, вместо «странной манеры не смотреть в глаза», Лин заметила, что его глаза были «яркого и насыщенного голубого цвета, как осколок цветного витража», — писала она. «Но как только он, в доверительной дружеской беседе, направлял прямой и серьезный взгляд на своего спутника, его глаза уже никогда больше не избегали чужого взгляда. В его взгляде были такие прямота и понимание, что-то, настолько проникнутое культурой, что его собеседник едва осмеливался дышать». Как и мать Тьюринга, Лин никогда не верила, что он покончил с собой.
Но главным вкладом Лин в Цифровой Свет стал ее сын. Уильям Ньюман в соавторстве напишет первый учебник по компьютерной графике.
Готовы к гонке
Поскольку мы собираемся перейти к главе 4 о рождении Цифрового Света и о том, как оно связано с появлением компьютеров, напомню, о чем шла речь в главе 3. Я рассказал о машинных вычислениях на интуитивном, концептуальном уровне, подчеркнув их бессмысленную простоту в малом и их устрашающую Гибкость в сочетании с теоретической таинственностью — непознаваемостью — в большом. Я предположил, что программирование подразумевает творчество и сложность. Я определил компьютер как устройство, где систематические или алгоритмические процессы манипулируют наборами символов. В процессе реализуются очень простые отдельные шаги, но их очень много. Я разубедил вас в том, что в основе компьютеров лежат числа — в вычислительных машинах нет нулей и единиц — и что их каким-то образом ограничивает детерминизм. Я показал, что для создания компьютера не требуются скорость, биты и электроника.
Тем не менее следующая глава посвящена скорости, битам и электронике. Скорость имеет большое значение в реальном мире, а биты и электроника способствуют ее достижению. Также на нее повлияли потрясающее Усиление и загадка порядка величины, когда мощность компьютера растет со скоростью взрыва сверхновой и он излучает Цифровой Свет.
Вклады: две высокие технологии
4. Заря Цифрового Света: ускорение
На самом деле меня не интересовали компьютеры, я сделал один и подумал, что один из одного — это хороший результат, поэтому я больше их не делал.
Я спросил профессора Килбурна, почему всякий раз, когда я открываю учебник по информатике, там пишут об американском происхождении компьютеров, а британцев нигде нет? Тогда Том [Килбурн] вынул изо рта трубку и сказал: «Те, кому нужно знать, знают».
Начиная писать эту книгу, я, как и большинство моих коллег, думал, что первые компьютерные изображения созданы в 1960-х годах Айвеном Сазерлендом и его группой в Юте. Но когда я попытался определить более точную дату, вскоре понял, что никто не знает, когда именно появились первые цифровые изображения. Эта глава — результат моих изысканий. После нескончаемых дней, проведенных в редко посещаемых архивах Кембриджа, Оксфорда, Манчестера и Бостона, я наконец могу изложить достоверную и полную историю.
Результаты оказались довольно шокирующими: первые пиксели появились уже на первом компьютере. Британские инженеры Фредди Уильямс (рис. 4.1, слева) и Том Килбурн (справа) создали и то и другое, а также первую эффективную систему компьютерной памяти, опередив таких тяжеловесов-теоретиков, как Тьюринг и фон Нейман. Британские инженеры — прямолинейные люди с искоркой веселья в глазах — наверняка фыркнули бы, услышав такие пафосные характеристики, но в частном порядке согласились бы со мной. Потому что все это правда. Они создали и опекали этот компьютер, названный восхитительным именем Baby («Малыш»), в 1948 году в Англии, в Манчестере. Это была полностью электронная аппаратная реализация великой идеи Тьюринга 1936 года — универсального компьютера с хранимой в памяти программой. Именно это мы подразумеваем под компьютером сегодня.
Гонка за создание первого компьютера проходила очень напряженно. И британцы выиграли ее, как вы уже поняли из вышесказанного, но американцы наступали им на пятки. Недавно обнаружены любопытные документы, свидетельствующие, что результат мог бы быть иным — все решили считаные дни, и янки, вероятно, добрались до финиша первыми. Получается ничья. Мы вернемся к этому вопросу позже. А сейчас сосредоточимся на нашей главной теме — на Цифровом Свете, на тех самых первых пикселях, с датировкой которых сомнений нет.
Рис. 4.1
Американец фон Нейман осознавал ценность великой идеи британца Тьюринга об универсальных вычислительных машинах не хуже ее создателя, и оба гения попытались реализовать ее аппаратную версию. Однако Тьюринг увяз в бюрократических проволочках, что стало для него самой большой и единственной неудачей, если не считать превратностей его личной судьбы. Но и команде фон Неймана не удалось быстро создать работающий прототип электронной памяти — свою версию изобретения Уильямса и Килбурна; им и еще примерно дюжине других американских разработчиков пришлось воспользоваться их достижениями.
Нет сомнений, что Уильямс и Килбурн создали первый Цифровой Свет. Биты памяти Baby были пятнами света на поверхности электронно-лучевой трубки (ЭЛТ). Каждое пятно могло иметь два размера, которые удобно называть 0 и 1. Но поскольку эти биты отображались на ЭЛТ и располагались там аккуратными строками и столбцами, их смело можно назвать первыми пикселями.
Итак, благодаря Уильямсу появился первый отображаемый пиксель. Затем в 1947 году Килбурн создал первое цифровое изображение из регулярного массива этих пикселей незадолго до завершения Baby. К счастью для нас, он даже сделал фото (рис. 4.2).
Рис. 4.2
Я называю это отображение
Поскольку рисование картинок считалось в эпоху первых компьютеров занятием легкомысленным, историки почти не упоминали о нем. Цифровой Свет — забытая страница истории компьютеров, поэтому Первый Свет долго оставался незамеченным и непризнанным.
История начинается с великой идеи Тьюринга. Он принес нам Гибкость, первое чудо универсальных вычислительных машин — способность контролировать и выполнять бесконечное количество сложных процессов. Но ему не хватало скорости. Поначалу работа компьютера была утомительно медленной — вспомним компьютер-карточку. Тьюринг и фон Нейман знали, что сделать программное обеспечение более быстрым можно, преобразовав его в аппаратное. Реализация идеи Тьюринга в виде компьютера стала ключом к ускорению вычислений. Этого требовало второе чудо универсальной вычислительной техники — Усиление. Появление компьютера состояло из двух хорошо заметных шагов.
Я называю первый шаг, период с 1948 по 1965 год, Эпохой 1. Это была эра машин-динозавров огромных размеров, занимавших целые комнаты, но не особо умных. Они работали медленно и обладали ограниченной памятью. Baby, тоже занимавший целую комнату, поначалу располагал всего тысячей битов памяти — 128 байтов по сегодняшним меркам. Но «Малыш» ознаменовал начало эры аппаратных вычислений, первое ускорение и начало Усиления.
Ускорение в названии этой главы относится к гонке по созданию Baby и других настоящих компьютеров. Но оно подразумевает и кое-что не менее важное — ускорение выполнения операций. Компьютеры, начиная с «Малыша», сделали вычисления более быстрыми, что было и остается их предназначением.
Эпоха 2 началась в 1965 году и продолжается до сих пор. Хотя скорость компьютеров в Эпоху 1 увеличивалась, только в 1965 году появился особенно мощный вид ускорения — второе ускорение. Отсюда и ведется отсчет нынешней эры, сходной со взрывом сверхновой, когда мощность компьютеров растет экспоненциально, а их физические размеры стремительно уменьшаются. Природа этого явления определяется законом Мура:
Перед рассветом: янки против британцев
Старое соперничество ведется по крайней мере со времен Американской революции. Оно поддерживается стереотипами: янки всё преувеличивают, а британцы всё преуменьшают. Или более того: янки пускают в ход деньги там, где британцы предпочитают использовать мозги. Знаменитый британский писатель, автор шпионских романов Джон ле Карре называл американцев «кузенами», имея в виду не просто «дальних родственников». Кузены были союзниками в войне против Гитлера, а затем и в холодной войне, но часто их сотрудничество скорее напоминало конкуренцию. Обе стороны и соревновались, и сотрудничали в гонке за первенство в создании компьютера. В ней шли «ноздря в ноздрю» — настолько близко, что некоторые историки до сих пор спорят, кто пришел первым.
В 1960-х годах мое американское поколение учили, что ЭНИАК, созданный в Филадельфии в 1945 году американцами (то есть нами), был первым электронным компьютером. Но это не так — по крайней мере, не в сегодняшнем понимании компьютера как универсальной электронной машины с хранимой в памяти программой. Его даже нельзя назвать первым из почти-компьютеров. Британцы (то есть они) уже выиграли этот раунд, но мы, янки, не знали об этом. Тиран, мучивший Тьюринга, — Закон о государственной тайне — тоже вступил в игру. Британцы выиграли первый забег, а американцы даже не подозревали об этом.
Британцы тоже небезупречны, когда дело доходит до необоснованных или неточных заявлений. Они утверждали, что их машина Colossus из Блетчли-Парка, построенная в начале 1944 года, была первым электронным компьютером. Это тоже неверно. Colossus, как и ЭНИАК, использовал аппаратную конфигурацию, а не программное обеспечение. Оба были большими электронными машинами, но их нельзя назвать компьютерами с хранимой в памяти программой. Для перепрограммирования каждого из этих монстров требовалось подсоединение кабелей и переключение тумблеров — изменение аппаратного состояния машины вручную с ничтожной человеческой скоростью. Прелесть идеи Тьюринга заключается в том, что сама программа хранится в той же самой памяти, где и все ее данные. Изменение программы и данных, которыми она оперирует, — это один и тот же процесс. Если компьютер электронный, то смена программ происходит с электронной скоростью, несопоставимой с жалкими возможностями человека. Вам не нужен сотрудник — или на самом деле чаще сотрудница, — чтобы возиться с кабелями и переключателями.
Гиганты размером с комнату неплохо послужили кузенам. Почти-компьютеры усилили в военном отношении и янки, и британцев. ЭНИАК провел расчеты для водородной бомбы. Colossus помог взломать немецкую схему шифрования и обеспечил успешную высадку союзников в Нормандии. Обе машины стали своеобразной тренировочной площадкой и подлинным источником вдохновения для инженеров, которые приступили к проектированию и созданию настоящих компьютеров. Эти компьютеры уже управлялись программами, хранящимися в памяти точно так же, как и данные, а не внешним переподключением кабелей.
Восход Цифрового Света и компьютеры
Фредди Уильямс начал работать в Манчестерском университете в декабре 1946 года. Сначала он занимался не созданием компьютера, а разработкой быстрого запоминающего устройства для него. Предшествующий опыт работы с военными радарами, отображающими метки на экране, натолкнул его на идею, что лучшим решением, вероятно, будет электронно-лучевая трубка. Посетив Bell Labs в Нью-Йорке в 1946 году, он увидел там впечатляющую радиолокационную технику.
Незадолго до переезда в Манчестер Уильямсу удалось сохранить один бит при помощи электронно-лучевой трубки (ЭЛТ). На самом деле он разработал способ отображения маленького пятна (точка) или большого пятна (тире) в определенном месте на плоском конце (экране) трубки. Он сумел записать бит. Кроме того, он (точнее, созданные им электронные схемы) мог «посмотреть» пятно, которое уже отображалось на поверхности трубки, и определить, большое оно или маленькое — то есть прочитать хранящийся там бит. Также появилась возможность поменять большое пятно на маленькое или наоборот. Если говорить удобным современным языком, он мог произвольно записать 0 или 1 в ячейку памяти и прочитать то, что в ней хранится. И самое главное: значение, записанное в ячейке, сохранялось там, пока он или компьютер не изменяли его. Другими словами, оно запомнилось. Вуаля! В 1946 году Уильямс создал первый видимый компьютерный бит.
Так создавалось устройство, впоследствии названное трубкой Уильямса. Ее следовало бы назвать трубкой Уильямса — Килбурна (чего так и не произошло), потому что вскоре к проекту подключился Том Килбурн, который к марту 1947 года уже активно участвовал в разработке трубки в Манчестере. К концу года Килбурну удалось сохранить 1024 бита на экране трубки в виде прямоугольной матрицы, а также создать (и сфотографировать) Первый Свет — впервые отобразившийся на дисплее Цифровой Свет (рис. 4.2). Затем он довольно быстро перешел к хранению 2048 битов, создал еще одно изображение и тоже сделал снимок (рис. 4.3). Но слова
Работа Килбурна публично провозгласила восход Цифрового Света с помощью двух приведенных выше фотографий. Это не просто фотографии какого-то набора световых пятен. Это два изображения, воспроизведенные в цифровом виде и сохраненные в электронной цифровой памяти. Килбурн
Килбурн создал Первый Свет, первое цифровое изображение, «излишне трудоемким» способом — каждая из 1024 точек включалась вручную. Дисплей представлял собой массив размером 32х32 равномерно расположенных пикселя. Для переключения битов использовались 32 клавиши, «сделанные в виде клавиатуры пишущей машинки». Килбурн описал дисплей как массив «элементов изображения». Короткого слова «пиксель» еще не существовало — и, как нам известно, не будет до 1965 года. Нетрудно заметить, что здесь перепутаны элементы отображения (видимые) с элементами изображения (невидимыми). Мы обсуждали их отличия в главе о Котельникове, но для Килбурна такой разницы еще не существовало.
Рис. 4.3
Рис. 4.4
Килбурн создал второе цифровое изображение в 2048-битной памяти, используя тот же утомительный способ, напоминающий набор текста на пишущей машинке. Каждый пиксель на регулярной сетке этих изображений имел два состояния: тире (большое пятно) и точка (маленькое пятно) — 1 и 0 соответственно. Пиксель здесь — это округлое пятно света двух разных размеров. Так что даже в свои первые дни он не был квадратным.
Цель Килбурна, заявленная в его диссертации и отраженная в ее названии, состояла в разработке памяти для электронного компьютера. В своем исследовании он описал именно такую гипотетическую машину. Затем он и Уильямс приступили к созданию настоящего компьютера, и в течение полугода на свет появился знаменитый Baby. Трезвый, должным образом признанный и вознагражденный, член Королевского общества Килбурн на рисунке 4.4 держит в руках символ своей славы, трубку Уильямса — Уильямса-Килбурна, если уж быть предельно точным, — на фоне Baby.
И Уильямс, и Килбурн при жизни удостоились заслуженных почестей. Фредди Уильямс умер в 1977 году, к тому моменту уже став сэром Фредериком, а также членом Королевского общества. Килбурн скончался в 2001 году, через год после того, как Музей компьютерной истории в Калифорнии присвоил ему статус почетного члена, — отличный способ отметить начало нового тысячелетия.[17]
Запретный плод
Впрочем, нет никаких доказательств, что Килбурн осознавал важность Первого Света, первой картинки, созданной на компьютере. Насколько нам известно, после двух первых изображений, созданных им в 1947 году, он больше не сделал и не сфотографировал ни одного. На самом деле никто больше не снимал на Baby. Люди, похоже, не считали создание изображений достойным способом использования компьютера. Заниматься чем-то таким не подобало. Это был запретный плод, хотя и не столь же тяжкий грех, как идолопоклонство. Война только что закончилась, вычислительных ресурсов не хватало, а потребность в них была очень острой. Дэвид «Дай» Эдвардс, вместе с Уильямсом и Килбурном занимавшийся разработкой Baby, говорил, что пользователи тогда «отчаянно нуждались» в вычислительных машинах. Другой участник их рабочей группы, Джефф Тутилл, вспоминал, что команда все еще трудилась в духе военного времени и не собиралась тратить время на развлечения. Создание фотографий они воспринимали как спосооб расслабиться и приятно провести время.
Картинка в качестве шаблона для проверки памяти — это одно, а растрата ценного вычислительного ресурса Baby на такое легкомысленное и богохульное дело — совсем другое. Машина должна вычислять только что-то «серьезное».
Для сравнения представьте совершенно другую обстановку спустя десятилетия, когда в 1998 году, к пятидесятилетию создания Baby, была построена его точная копия. В конкурсе, посвященном юбилею, участвовали несколько программ для Baby, которые создавали изображения, даже анимированные, на ЭЛТ-мониторе. Одна из них, например, писала слово BABY.
Проект по созданию копии Baby возглавлял Крис Бертон. Он показал мне ее в Музее науки и промышленности Манчестера 4 июля 2013 года. Компьютер приветствовал меня надписью PIXAR (рис. 4.5), пробежавшей по экрану, — настоящая компьютерная анимация! Экскурсовод Брайан Малхолланд написал эту программу за день до моего визита, но она запустилась бы на Baby и в 1948 году.
Создание картинок — одно из очевидных и непреодолимых искушений для современных программистов, которые живут в комфорте мирного времени, обладают неисчерпаемыми вычислительными ресурсами и лучше знакомы с компьютерами как с устройствами обработки изображений, а не числовых расчетов. В наше время почти не встретишь компьютер без дисплея, анимации и способности взаимодействовать с пользователем. Такие устройства мы называем серверами.
Гонка
До сих пор непросто разобраться в истории первых компьютеров. Даже биография Baby из Манчестера запутанна и полна нюансов. В полноценном историческом обзоре пришлось бы упомянуть слишком много людей, машин, стран и, конечно же, всяких подробностей — в одну книгу, а тем более в одну главу, их не вместить. Я основательно проредил эти густые заросли, тщательно определив, что мы подразумеваем под компьютером, и уделив внимание только тем ветвям, на которых распустится Цифровой Свет. В результате остались только самые важные факты из ранней компьютерной истории.
Тем не менее даже в оставшейся части все еще содержится множество имен и событий. Чтобы не запутать вас, предлагаю структурировать имеющуюся у меня информацию. Разделим всех участников на две команды — британцев и янки — и проследим, как проходила драматичная гонка между ними. Это на самом деле вымысел. Членов соперничающих команд, примерно как спортсменов национальных сборных на Олимпийских играх, объединяли только государственный флаг и общий медальный зачет. Если уж такой принцип срабатывает для Олимпиады, то он подойдет и для истории создания компьютера. Ведь это на самом деле была гонка за первенство.
Рис. 4.5
Блок-схема (рис. 4.6) ранней истории компьютеров отдает должное создателям и аппаратного, и программного обеспечения. Практически не бывало такого, чтобы программы и «железо» создал один и тот же человек, — это следствие нескончаемой битвы между башней из слоновой кости и зловонной лабораторией. Под программным обеспечением здесь обобщенно понимается вся исключительно умственная работа.
Разработчики программного обеспечения, по совместительству известные теоретики — в частности, Тьюринг и фон Нейман, — часто получали всю славу даже там, где не вполне ее заслуживали. Относительно Baby создатели аппаратной части Уильямс и Килбурн (сплошные линии) сыграли более значимую роль, чем первые программисты Тьюринг и Ньюман (пунктирные линии).
Блок-схема также делает очевидной взаимосвязь между различными игроками. Люди здесь изображены кругами, компьютеры — прямоугольниками, а концепции — параллелограммами. На рисунке нет очевидной главной линии, своего рода ствола, как у дерева, зато есть множество побегов, как у кустарника. Но начинается все, конечно же, с корня. На самом верху в центре помещен основополагающий документ, работа Тьюринга 1936 года «О машинно-вычислимых числах», где дается определение машинных вычислений и подробно описывается компьютер с хранимой в памяти программой. Из него вытекает отчет фон Неймана EDVAC (Electronic Discrete Variable Automatic Computer — электронный автоматический вычислитель с дискретной переменной) 1945 года и отчет Тьюринга ACE (Automatic Computing Engine — автоматическая вычислительная машина) 1946 года, где изложены две разные архитектуры реальных компьютеров.
Программирование — самая известная форма программного обеспечения. Еще существует математическое описание машинных вычислений, как в «О машинно-вычислимых числах». Третий тип умственной работы представлен отчетами EDVAC и ACE. Таким образом, полный вклад разработчиков программного обеспечения включает в себя идею компьютера с хранимой в памяти программой, его архитектуру или программы для него. Пунктирные линии, выходящие из отчета EDVAC на диаграмме, показывают их концептуальный (софт) вклад почти в каждый компьютер на диаграмме, за исключением прямой линии Тьюринга.
Рис. 4.6
Точно так же, но в отношении аппаратного обеспечения Уильямс и Килбурн повлияли на конструкцию всех ранних машин, разработанных обеими командами. Их вклад (хард) обозначен сплошными линиями от каждого из них на блок-схеме. Эти двое не участвовали непосредственно в инженерной разработке ни одного из указанных на схеме компьютеров, кроме манчестерского, но трубка Уильямса — Килбурна напрямую повлияла на конструкцию каждого из них.
Архитектура против конструкции
Знаменитая архитектура, описанная в отчете EDVAC и названная архитектурой фон Неймана, повлияла на конструкцию как минимум шести различных компьютеров, показанных на блок-схеме, а также на множество других. На рисунке 4.7 она изображена в типичном схематическом виде. Рассмотрим прямоугольник с надписью «Память». Конкретная технология тут не указана — это проблема конструкции оборудования.
Разработчики должны взять пустой прямоугольник и придумать, как создать в реальном мире устройство, которое правильно соединит этот прямоугольник с другими на схеме. Затем им придется превратить выбранную конструкцию в физические устройства и заставить все эти устройства работать вместе с реальной памятью, которая хранит реальные биты, взаимодействует с внешним по отношению к ней миром и питается от существующей энергосистемы. Движение от пустого прямоугольника на архитектурном плане к реальной конструкции — это большой творческий шаг. Алгоритма для него нет.
Рис. 4.7
Хотя американцы разработали выигрышную архитектуру, британцы создали выигрышную конструкцию и, следовательно, взяли верх в гонке. Конструкция одного этого прямоугольника, памяти, стала решающим фактором в соперничестве за первенство в создании компьютера и цифрового изображения.
Архитектуры фон Неймана и Тьюринга эквивалентны как идеи. Обе были планами реализации концепции Тьюринга — универсальной вычислительной машины с хранимой программой. В архитектуре Тьюринга тоже наличествовал блок для памяти, а также блоки управления, арифметики, логики и ввода-вывода. В обеих архитектурах память и ввод-вывод эквивалентны ленте универсальной машины Тьюринга, а остальные блоки образуют ее сканирующую головку. Тьюринг раскрыл эту связь в лекции об ACE в 1947 году. Точно так же отчет фон Неймана об EDVAC продемонстрировал фундаментальную важность концепции Тьюринга в 1943 и 1944 годах, хотя и получился не столь подробным.
Общее эмпирическое правило гласит, что любой программный процесс можно ускорить, реализовав его в аппаратном обеспечении. На самом деле компьютер сам по себе — это более быстрая аппаратная реализация идеальной, но мучительно медленной машины Тьюринга, абстрактной идеи об универсальном компьютере с хранимой в памяти программой. Арифметические и логические операции могут быть реализованы с помощью программного обеспечения, но фон Нейман и Тьюринг пошли дальше. Они оба указали, что все эти действия возможно реализовать на аппаратном уровне, чтобы работать еще быстрее. Именно поэтому так распространено заблуждение, что компьютер — это всего лишь арифметическая машина.
Архитектура Тьюринга сильно отличалась от архитектуры, разработанной командой фон Неймана. Тьюринг предложил реализовать аппаратную поддержку новой концепции — программной иерархии. Программисты (читай: сам Тьюринг) быстро поняли, что продуктивнее создавать программы как иерархические пирамиды. Иерархия придает смысл и структуру чрезвычайно длинным линейным спискам бессмысленных инструкций.
Создание иерархии внутри программы чем-то напоминает разделение книги на главы. Предположим, что программа состоит из сотен тысяч инструкций — вполне привычно для современного мира, но невозможно уложить в человеческой голове. Однако попробуйте разбить ее, скажем, на сотню частей, в среднем по несколько тысяч инструкций в каждой, и дать каждой части осмысленное имя. Тогда для программиста она сведется только к сотне поименованных осмысленных частей, каждая из которых называется подпрограммой (это слово придумал не Тьюринг). На самом высоком уровне иерархии программа концептуально состоит всего из сотни «инструкций», где каждая инструкция представляет собой подпрограмму. Это как оглавление книги и ее главы.
Программист все еще должен создать все подпрограммы со всеми их утомительными деталями, точно так же как и автор должен сочинить каждую главу. Но задача написать каждую часть уже более компактна и вполне укладывается в отдельной голове, хотя она и более кропотливая. Как говорится в одной известной шутке, слона проще съесть по кусочкам. Кроме того, эта иерархическая идея действует и на других уровнях. Дополнительно каждую подпрограмму можно разделить на свои собственные подпрограммы, а их, в свою очередь, — на свои и так далее. Еще более маленькие кусочки легче надкусывать, их еще проще запрограммировать. Концепция подпрограммы делает чрезвычайно сложную задачу понятной — например, дальнейшее разбиение глав на подпункты, подпункты на абзацы и, наконец, на сами слова. Архитектура Тьюринга подразумевает аппаратное ускорение, которое делает иерархическое использование подпрограмм быстрее и проще.
Безусловно, архитектура Тьюринга со своей изощренной поддержкой подпрограмм имела все шансы стать повсеместно принятой, но этого не произошло. В 1940-х годах американцы опубликовали отчет EDVAC фон Неймана, а отчет AСЕ Тьюринга британцы обнародовали лишь в 1986 году.
Британцы
Сэр Чарльз Галтон Дарвин, директор Национальной физической лаборатории и внук великого биолога-эволюциониста, сразу после войны инициировал работы по развитию британской электронно-вычислительной техники. Все началось довольно неплохо. Он пригласил на работу Тьюринга. Тот уже в конце 1945 года приступил к созданию архитектуры компьютера, впоследствии получившего имя ACE, и вскоре представил свой план. В его отчете ACE за 1946 год упоминается чуть более ранний отчет фон Неймана EDVAC, в котором представлена конкурирующая архитектура американцев. Но Тьюринг продвинулся дальше. Его отчет содержал не только архитектуру, но и конструкцию — вероятно, это был первый реальный проект электронного компьютера. Тьюринг погрузился в работу по строительству Pilot Ace — прототипа компьютера, основанного на архитектуре ACE. Несомненно, компьютер, разработанный Тьюрингом — человеком, который изобрел саму концепцию компьютера, — должен был стать первым компьютером в мире. Увы, но этого не произошло. Проект Pilot Ace пал жертвой многочисленных проблем[18].
Одной из них стал сам Тьюринг. Во-первых, он продолжал менять архитектуру по мере того, как ему приходили в голову новые блестящие идеи. Во-вторых, он не умел играть в команде. Или, говоря иначе, но более позитивно, он обладал необычайно сильной индивидуальностью. Однако другие проблемы у проекта возникли не по его вине, например бюрократическая некомпетентность и досадное физическое разделение теоретической концепции с практическим воплощением — башни из слоновой кости и зловонной лаборатории. Держать разработчиков аппаратного и программного обеспечения отдельно друг от друга — не лучшая идея. В отличие от своего знаменитого дедушки, Чарльз Галтон Дарвин был не столько ученым, сколько бюрократом, и на нем лежит значительная доля ответственности за возникшую неразбериху.
Проект Pilot Ace превратился в настолько запутанный клубок, что разочарованный и обескураженный Тьюринг покинул проект задолго до завершения. Дарвин писал: «Мы согласны, что было бы лучше, если бы Тьюринг на какое-то время отказался от работы с нами». Первый детский крик Pilot Ace, безнадежно запоздалый, наконец прозвучал 10 мая 1950 года — почти на два года позже появления Baby. Pilot Ace едва успел попасть в десятку первых компьютеров. А полноценный ACE, детище Pilot Ace и главная цель Тьюринга, будет создан только через десять лет после его ухода из проекта.
Однако перед тем как покинуть проект в 1947 году, Тьюринг прочитал знаменитую лекцию об ACE — и в ней он использовал новое слово «программирование». В аудитории находился инженер Том Килбурн, который ненадолго заехал в Лондон по пути в Манчестер, где он собирался присоединиться к Фредди Уильямсу. Тьюринг тоже отправится туда примерно через год. Удачным следствием его безуспешного ухода из проекта ACE оказалось то, что он стал открыт для других компьютерных проектов. В Тьюринге нуждался даже Макс Ньюман, тот самый кембриджский профессор, который своей лекцией о е-Проблеме когда-то вдохновил Тьюринга на идею машинных вычислений, а потом убедил поехать получать степень в Принстон. Так что теперь предложение старого учителя и наставника Тьюринга помочь Манчестерскому проекту в разработке программного обеспечения для Baby Уильямса и Килбурна оказалось счастливым билетом.
Baby родился 21 июня 1948 года в Манчестерском университете. Уильямс и Килбурн спроектировали и построили его с нуля в зловонной лаборатории на факультете электротехники. Они сделали его собственноручно. Килбурн сам написал первую программу для него. Они объявили о рождении Baby — с отцовской гордостью, как мне кажется — в сентябрьском номере престижного научного журнала
Ньюман, намеревавшийся заманить Тьюринга в проект, пребывал в башне из слоновой кости — он работал на факультете математики Манчестерского университета. После положительного опыта работы с почти-компьютером Colossus в Блетчли-Парке он планировал заполучить полноценный компьютер для Манчестерского университета. Он всерьез порывался пригласить американцев в лице фон Неймана и даже начал с ним переписку, когда обнаружил, что домашняя команда Манчестера, состоящая из Уильямса и Килбурна, уже опередила янки. Он быстро переориентировался и через пропасть, разделяющую башню из слоновой кости и зловонную лабораторию, начал консультироваться с ними по поводу Baby.
Первую программу для Baby написал Килбурн, а не Тьюринг. Тьюринг, готовясь к переезду в Манчестер, для начала попросил прислать ему набор машинных инструкций Baby. Он написал свою первую (глючную) программу для Baby в июле 1948 года, спустя примерно месяц после создания этого компьютера и все еще заочно. Он приехал в Манчестер только через три месяца, в октябре.
Манчестерские инженеры справедливо обиделись, потому что слишком много заслуг в истории Baby приписывают Ньюману и Тьюрингу, особенно если учесть, что Тьюринг появился в проекте слишком поздно. Отчасти это просто обычная история трений между учеными и инженерами, между башней из слоновой кости и зловонной лабораторией, но здесь затрагивается сложная проблема признания в правильной пропорции заслуг всех создателей сложного технического изобретения, значение которого изменило мир.
Впрочем, сами Уильямс и Килбурн утверждали, что Тьюринг и Ньюман непосредственно участвовали в создании Baby. В 1975 году Уильямс вспоминал: «Мы с Томом Килбурном ничего не знали о компьютерах, зато хорошо разбирались в [электронных] схемах. Профессор Ньюман и мистер А. М. Тьюринг много знали о компьютерах и почти ничего не знали об электронике. Они взяли нас за руку и объяснили, как числа могут жить в домиках с адресами и как, когда они там живут, за ними можно следить во время вычислений». Возможно, мы имеем дело с саркастическим проявлением чувства юмора Уильямса, а не с точным историческим изложением событий, но он повторил эту историю неоднократно.
Докторская диссертация Килбурна 1947 года еще больше усложнила историю Baby, поскольку в ее библиографии указаны «неопубликованные работы» Тьюринга и фон Неймана. Наверняка Килбурн имел в виду лекцию Тьюринга об ACE 1947 года и отчет фон Неймана EDVAC 1945 года. Хотя позже Уильямс отдавал должное только Тьюрингу и Ньюману (в шутке, что «числа могут жить в домиках с адресами»), они с Килбурном не использовали архитектуру Тьюринга. Килбурн прямо заявил, прослушав лекцию Тьюринга, что никогда не станет проектировать машину подобным образом. Они использовали для Baby архитектуру фон Неймана. На словах они отдали должное хозяевам поля, на котором играла их команда, но явно заимствовали идеи у команды соперников, у янки.
Baby успешно работал, а затем, так сказать, породил машину второго поколения. Mark I — сокращение от Manchester Mark I — выполнил первую программу без ошибок 18 июня 1949 года. Иногда указываются более ранние даты, но они неверны. Даже если исходить из столь позднего срока, Mark I все равно стал четвертым компьютером в мире. Тьюринг разработал первые спецификации его программного обеспечения[19].
Mark I вскоре породил Ferranti Mark I, дебютировавший 12 февраля 1951 года как первый в мире коммерческий компьютер. В Ferranti — несмотря на свое название, это британская фирма — его поначалу назвали Madam («Madam с непредсказуемыми наклонностями», — остроумно пошутили журналисты
Тем временем в Кембридже Морис Винсент Уилкс создавал EDSAC, который стал третьим компьютером в мире. Почему Тьюринга не пригласили присоединиться к этому проекту? В конце концов, отправиться в Кембридж было бы естественно, ведь Тьюринг окончил его Королевский колледж. Тьюринг, должно быть, обдумывал такую возможность, потому что посетил Уилкса в мае 1948 года, прежде чем в октябре присоединился к Ньюману в Манчестере.
Скорее всего, здесь сыграла роль их взаимная неприязнь. Тьюринг раздраженно прокомментировал свой визит к Уилксу: «Я не мог слушать, что он говорит». Ранее он критиковал предложение Уилкса, полагая, что оно «больше соответствует американской традиции решать проблемы с помощью увеличения количества оборудования, а не изобретательностью мысли». (Влияния этого расхожего стереотипа не избежал даже Тьюринг.)
Уилкс, в свою очередь, писал: «Я воспринимал Тьюринга излишне самоуверенным и считал, что его идеи сильно расходятся с тем, каким будет основное направление развития компьютеров».
Оба оказались по-своему правы. В итоге Уилкс стал черпать вдохновение непосредственно у фон Неймана из команды янки, а Тьюринг, как обычно, предпочел идти своим собственным путем, разрабатывая архитектуру (для ACE), которой заинтересовались лишь немногие.
EDSAC появился на свет 6 мая 1949 года, почти через год после Baby и незадолго до Mark I. Уилкс специально выбрал имя, похожее на EDVAC, концепцию фон Неймана, поэтому EDSAC ворвался на поле битвы, беззастенчиво размахивая звездно-полосатым.
В 1999 году я присутствовал на праздновании 50-летия компьютера в Кембридже. Оно посвящалось именно EDSAC как первому в мире компьютеру. В аудитории присутствовал мой старый знакомый из исследовательского центра Xerox в Пало-Альто Уильям Ньюман, сын Макса Ньюмана. Они с отцом жили в Манчестере, когда создавался Baby. Юный Уильям даже играл в настольные игры с Аланом Тьюрингом, когда тот работал в Манчестере. Уильям повернулся ко мне, когда Уилкс со сцены заявлял о приоритете EDSAC, и сказал в сдержанной британской манере: «У нас сохранились несколько иные воспоминания об этом».
Янки
В Америке фон Нейман (и его команда) создали отчет EDVAC и разработали на его основе настоящий компьютер. На самом деле компьютер EDVAC реально заработал намного позже, но это не важно. Архитектура фон Неймана, положенная в его основу, оказалась очень влиятельной идеей. А важный отчет EDVAC 1945 года сделал ее концепцию широко известной. Даже сегодня архитектура фон Неймана используется во многих компьютерах. Как ни удивительно, ее использовали даже британцы в компьютерах Baby и EDSAC. Таким образом, будет справедливо сказать, что сама идея машинных вычислений и компьютера с хранимой программой принадлежит Тьюрингу, но в действительности созданный компьютер — как самая эффективная машина в мире — восходит к идее фон Неймана, но с оговоркой, что Тьюринг и фон Нейман хорошо знали работы друг друга и явно отдавали друг другу должное.
Многочисленное потомство EDVAC, насчитывающее как минимум 16 компьютеров (6 из них показаны на блок-схеме), разрабатывалось во множестве мест одновременно. Напрямую от него произошел MANIAC, разработанный в Принституте командой, в которой фон Нейман руководил созданием программного обеспечения. MANIAC породил IBM 701, первый коммерческий компьютер Голубого Гиганта, положивший начало господству этой гигантской корпорации в сфере компьютеров.
Словно сочтя название MANIAC недостаточно забавным, EDVAC также породил Johnniac, получивший имя, конечно же, в честь Джонни фон Неймана. Такой шутливый подход к выбору названий для компьютеров подарил нам EMERAC из фильма «Кабинетный гарнитур» 1957 года, где компьютер, ласково прозванный Эмми, соперничал с Кэтрин Хепбёрн за внимание Спенсера Трейси и отбирал у нее работу. Им же вдохновлено имя Брейниака — суперзлодея и соперника Супермена из комиксов издательства DC. Хотя AC в ранних аббревиатурах обычно обозначало «автоматический компьютер», у MANIAC оно расшифровывается как «и компьютер» (and computer), а у EDSAC — «автоматический калькулятор» (у выдуманного компьютера EMERAC это сокращение означает «арифметический калькулятор» и полностью упускает смысл).
Шутки в названиях снова отсылают нас к противостоянию между башнями из слоновой кости и зловонными лабораториями в Принституте, который получил свое несколько обидное прозвище, чтобы избежать путаницы между Институтом перспективных исследований в Принстоне и Принстонским университетом. Никто из обитателей башни из слоновой кости — а именно они составляли основной контингент Института перспективных исследований — не осмелился бы произнести смешное имя MANIAC. Эти пуристы называли его «машина Принстонского института перспективных исследований» или «машина IAS» — формальным, но легко вылетающим из памяти названием. Они смирились с присутствием на своей священной территории инженеров, орудующих вонючими паяльниками, но не с ребяческими шутками (несомненно, их перекосило бы даже от слова «Принститут»). Только благодаря фон Нейману в Принституте витали запахи расплавленного припоя, канифоли и ацетона. Точнее, так было до тех пор, пока он продолжал там работать. Сразу же после его смерти в 1957 году — всего через три года после таинственной гибели Тьюринга — инженеров оттуда изгнали, а вместе с ними Принститут лишился и потенциальной возможности стать центром научной информатики.
Фон Нейман заметил, что на основе теоретических разработок EDVAC почти-компьютер ENIAC можно превратить в настоящий, модифицировав его аппаратное обеспечение. Когда все было сделано, Герман Голдстайн, руководивший проектом коллега фон Неймана, записал, что программируемая версия ENIAC (в этой книге я называю ее ENIAC+), начала полноценную работу 16 сентября 1948 года на Абердинском испытательном полигоне в Мэриленде. Адель, жена Голдстайна, помогала его программировать. ENIAC+ в своей крошечной памяти хранил всего несколько десятков инструкций, поэтому был таким же малышом, как Baby, но его уже можно назвать компьютером.
Упомянутая Голдстайном дата делает ENIAC+ вторым компьютером в мире. Однако новые данные убедительно свидетельствуют, что гонка с Baby проходила гораздо более напряженно. ENIAC+ родился где-то между 6 апреля и 12 июля 1948 года — в зависимости от того, сколько инструкций реализовывалось в каждый момент времени. Иначе говоря, он преследовал движущуюся цель, хотя чем ближе к концу интервала, когда дальнейшие улучшения прекратились, тем дата выглядит убедительнее. Исходя из самой осторожной версии, мы получаем альтернативную дату рождения ENIAC+ — 12 июля 1948 года, меньше чем через месяц после рождения Baby.
Но в письме Джону фон Нейману от 12 мая 1948 года Станислав Улам пишет: «Я слышал от Ника [Метрополиса] по телефону, что чудо Eniac действительно случилось и что он произвел 25 000 карт (теперь уже намного больше?). Это и в самом деле замечательное известие, особенно если Ник утверждает, что они (карты) кажутся вполне достоверными». Впечатляющее свидетельство. В нем один из создателей водородной бомбы заявляет другому, что ENIAC+ успешно выдал результат вычислений сложной программы по моделированию водородной бомбы
Если посмотреть на соревнование британцев и янки с олимпийской точки зрения, сравнив количество медалей в общем зачете, то к концу 1948 года счет стал 1:1 (Baby — ENIAC+). К середине 1949 года вперед вырвались британцы — 3:1 (EDSAC — Mark I). Но затем янки заработали очки своими важными (но уже не столь не значительными) машинами: Гарри Хаски, инженер, работавший на обе команды, построил Zephyr в Национальном бюро стандартов (NBS) в Лос-Анджелесе. Этот очередной потомок EDVAC (впоследствии переименованный в SWAC) заработал в августе 1950 года. Затем в апреле 1951 года в Массачусетском технологическом институте (MIT) запустили Whirlwind Джея Форрестера, еще одно порождение EDVAC. Возможно, его тестовая версия появилась раньше, в августе 1949 года, и его название Whirlwind— («Вихрь минус») задумывалось в духе ENIAC+. Американцы снова увеличили счет в 1952 году благодаря маниакальной самоотверженности команды фон Неймана в Принституте с их MANIAC, а в 1953 году — с IBM 701. Янки вырвались вперед и теперь могли не оглядываться. Остальной мир тоже включился в соревнование. К 1953 году примерно в дюжине стран было реализовано 150 компьютерных проектов.
Итак, компьютер родился. По большому счету он еще не отличался высокой скоростью. Потребуется экспоненциальный «галоп» закона Мура, чтобы действительно совершить прорыв в Эпоху 2. Но все, что требовалось для полноценного Цифрового Света, наконец-то появилось: волны Фурье, отсчеты Котельникова и компьютерные вычисления Тьюринга.
Цифровой Свет
Британцы соперничали с американцами не только в гонке за первенство в создании компьютера. Они еще конкурировали в разработке самой быстрой памяти. К счастью для Цифрового Света, обе команды искали решения в области
Компьютер-карточка или любая универсальная машина Тьюринга использует в качестве памяти бесконечную ленту. Бесконечная лента может хранить бесконечное количество паттернов — здесь имеется в виду бесконечность счетного или цифрового типа. Это нормально для идеальной машины, но настоящему компьютеру нужна физическая, то есть конечная память. Но пусть слово «конечная» не вводит вас в заблуждение. Даже первый компьютер запоминал огромное количество паттернов.
Фактическое число настолько велико, что просто бессмысленно. Забавное число
Инженерам обеих команд, стоявшим у истоков, пришлось выбрать практичное запоминающее устройство для сохранения всех этих многочисленных состояний. В обоих случаях они остановились на некоем варианте электронной лампы, в основном из-за скорости. Британцы, одержавшие победу в этой игре, выбрали для работы электронно-лучевую трубку. До Великой цифровой конвергенции такие трубки были очень распространены. Но моя книга посвящена Великой цифровой конвергенции, одним из последствий которой стала смерть аналогового телевидения. Ранее без электронно-лучевой трубки, похожей на гигантскую стеклянную бутылку, не обходился ни один телевизор — непременный атрибут каждого дома. Ее широкое и плоское «дно» — это экран. В те далекие времена ее называли кинескопом или — ласково — просто трубкой.
Затем инженеры придумали способ «перемещения» битов по трубке, цифровое использование аналогового устройства. Общеизвестно, что электрический ток — это поток электронов, а металлическая проволока — хороший проводник для него. В каждом доме протянута сеть медных проводов, направляющих электрический ток к розеткам. Менее известно, что электрический ток способен течь и через вакуум — через ничто.
Нечто подобное и происходит в электронно-лучевой трубке. Электронная «пушка» — нагретая проволока — испускает электроны, как бы «выстреливает» ими из тонкого конца трубки в дальний широкий и плоский конец. При попадании воздуха в трубку электроны столкнутся с его молекулами, изменят направление и потеряют энергию. Чтобы этого не избежать, весь воздух из трубки выкачивается, из-за чего она становится… правильно! Вакуумной! Высокое напряжение разгоняет электроны, летящие с одного конца трубки к другому. Мы называем нагретый кусок проволоки катодом, поток электронов, выпущенных из пушки, — катодным лучом, а все устройство в целом — электронно-лучевой трубкой (ЭЛТ).
Но мы не видим сами электроны. В ЭЛТ должно быть еще что-то, преобразующее электроны в фотоны, в видимый свет. Это покрытие на плоском конце трубки, которое фосфоресцирует — излучает свет — при попадании на него электронов. Покрытие из так называемых люминофоров поглощает энергию электронов и испускает фотоны. Люминофор светится, когда в него попадает луч из электронной пушки. Чем выше энергия катодного луча, тем больше испускается фотонов и тем ярче свечение. Свечение наиболее яркое в центре луча, а по мере удаления от центра плавно затухает. Оно имеет необходимую форму, чтобы представлять собой вполне приличный «разбрасыватель» пикселей.
Причина, по которой ЭЛТ работает как запоминающее устройство, заключается в том, что свечение сохраняется на короткий промежуток времени после того, как катодный луч перестает посылать электроны. В течение этого интервала (допустим, одной пятой секунды) бит, представленный свечением, «запоминается». Его можно использовать до тех пор, пока он не потухнет. Таким образом, методично перерисовывая — освежая — пятно до того, как оно исчезнет (скажем, пять раз в секунду), мы автоматически делаем так, чтобы память хранилась столько, сколько мы пожелаем. Мы, люди, видим только, что точка отображается на экране и остается там. Иногда я говорю, что пятно
Но светящееся пятно только в центре экрана — это скучно. Чего нам пока не хватает, так это способа рисования светового пятна в любом месте на экране ЭЛТ. Нам нужно «согнуть» катодный луч так, чтобы электроны попадали на экран в любом месте, где мы хотим получить свечение, а не только в центре. Для Цифрового Света нам нужна возможность рисовать массив отображенных пикселей.
К счастью, важное свойство движущегося электрона — искривление его траектории при прохождении через магнитное поле. Точно так же, как световой луч преломляется, проходя через стеклянную линзу, катодный луч искривляется, проходя между полюсами магнита. Электромагниты, установленные рядом с электронной пушкой в электронно-лучевой трубке, делают свое дело. Один магнит управляет отклонением луча влево-вправо, а другой — вверх-вниз. Комбинации напряжения, поданные на два электромагнита, способны отклонить катодный луч в любом желаемом направлении и сделать это быстро. Вместо магнитных полей часто используются электрические, но их связывает одна и та же идея.
С помощью электрического или магнитного механизма наведения можно водить катодным лучом по светящейся поверхности экрана трубки и нарисовать им красивый правильный узор. Электронно-лучевая трубка, использованная в таком режиме каракулей (пишем где угодно и в любом направлении), — это векторный или
Другой вид отображения работает следующим образом: катодный луч методично сканирует прямоугольный участок — ряд за рядом слева направо, сверху вниз, как будто обрабатывая поле. Это называется
Даже во времена раннего Цифрового Света существовали значительные различия между вектором и растром. По иллюстрациям легко понять почему. Векторная картинка соблазнительно изящна. Но, несмотря на ее красоту, она не очень перспективна и ориентирована на будущее. Великая конвергенция всех типов мультимедиа в единую цифровую среду также привела к конвергенции всех типов отображения в такие, которые основаны на пикселях — растровом массиве или сетке. Из рисунка 4.9 (справа) совсем не очевидно, что это должно было сработать, но текст, который вы читаете, подтверждает, что оно прекрасно сработало. Благодаря теореме отсчетов растровые дисплеи с отображенными пикселями смогли воссоздать такую же красоту, как и векторные дисплеи с непрерывными каллиграфическими штрихами.
Рис. 4.8
Рис. 4.9
Не стоит забывать, что все современные дисплеи по своей сути аналоговые. Мы видим плавное и непрерывное изображение, хотя оно управляется абстрактными цифровыми пикселями. Акт отображения позволяет воспринимать отдельные пиксели как непрерывное поле света и цвета. Как мы уже видели в главе 2, когда речь шла о выборках, «разбрасывание» пикселей в момент отображения восстанавливает исходную визуальную сцену.
Современный цифровой мир принял допущение, что нам всегда будет доступен растровый дисплей, чтобы сделать наши пиксели видимыми. Нам, пользователям, никогда не придется разбираться в запутанных подробностях устройств отображения. Мы обращаем внимание на эти детали только потому, что первые дисплеи были и первыми устройствами машинной памяти.
Британцы выиграли соревнование по разработке быстродействующей памяти за счет трубки Уильямса или Уильямса — Килбурна. Но, строго говоря, Уильямс и Килбурн не изобретали новый тип вакуумной трубки. Они изобрели
Янки тоже не бездействовали. Сначала, не подозревая о разработках Уильямса и Килбурна, команда фон Неймана подвигла своих спонсоров, Radio Corporation of America (RCA), всерьез взяться за разработки памяти на электронных лампах. Изначально надежды возлагались на Selectron, специализированную радиолампу, которую должно было спроектировать и изготовить новое подразделение Лаборатории электронных исследований. Лабораторию возглавлял Владимир Зворыкин, а главным конструктором он назначил инженера Яна Райхмана. Мы уже встречались со Зворыкиным в третьей главе. Он присутствовал на судьбоносном совещании с фон Нейманом, где впервые прозвучало слово «программирование». Кстати, встреча состоялась в офисе Зворыкина в RCA. Райхман тоже там присутствовал. Зворыкина уже хорошо знали в Америке, поскольку он сыграл важную роль в изобретении телевидения в 1920-х и 1930-х годах.
Группа Зворыкина разрабатывала Selectron для хранения битов в виде точек, которые светятся (1) или не светятся (0). Эти светящиеся (и несветящиеся) точки можно было увидеть — как небольшой прямоугольный растровый массив — через прозрачное стекло лампы. Увы, Selectron оказался намного сложнее, чем обычная электронно-лучевая трубка. Его разработка заняла слишком много времени, фатально много.
Лишь по случайному, но приятному стечению обстоятельств разработчики первых компьютеров по обе стороны Атлантики использовали память с визуально отображаемыми элементами. Все могло бы сложиться иначе. Биту не обязательно быть видимым, чтобы работать как ячейка памяти, — именно таковы большинство современных битов. Примечательно, что Pilot Ace Тьюринга использовал память «на невидимых носителях», ртутную линию задержки, в которой единица представляла собой акустический импульс, как в звуковой волне, — он относительно медленно перемещался по трубке, заполненной ртутью. «Запоминание» происходило лишь на время движения. В линии задержки 0 выражался отсутствием импульса. Последовательность импульсов, прошедшая через линию задержки, рециркулировалась, то есть то, что выходило на приемном конце, автоматически возвращалось в передающий, благодаря чему последовательность битов в линии сохранялась сколько необходимо. Биты в огромных массивах памяти современных компьютеров также невидимы. Они спрятаны глубоко внутри кремниевых микросхем. Тот факт, что в первые дни существования компьютеров биты иногда были видимыми и располагались в виде прямоугольных матриц, дало возможность Цифровому Свету загореться в самом начале компьютерной эры.
Трубка Уильямса оказалась настолько важным и своевременным изобретением, что обе команды сразу же взяли ее на вооружение. Через месяц после запуска Baby американец Джулиан Бигелоу, главный инженер аппаратной части MANIAC, заехал к Максу Ньюману в Манчестер и увидел трубку Уильямса в действии. Команда фон Неймана все еще ждала Selectron Зворыкина, но как только Бигелоу понял, насколько просто на самом деле хранить и считывать информацию с электронно-лучевой трубки, было решено воспользоваться ею. Основная память MANIAC состояла из 40 таких устройств. Так что у янки почти все потомки EDVAC первого поколения использовали память на трубках Уильямса, в том числе и IBM 701, первый компьютер в династии ЭВМ Голубого Гиганта.
Американская компания IBM, уверенный лидер рынка в сфере электромеханических и электронных «табуляторов» — огромных арифмометров на перфокартах, только начинала свой путь в мире компьютеров (фон Нейман сотрудничал с ней в качестве консультанта). Пост президента компании занимал известный бизнесмен Томас Дж. Уотсон (его биография сама по себе может стать увлекательной книгой). Именно он придумал знаменитый слоган «ДУМАЙ». Узнав, что в гонке за памятью победила трубка Уильямса, и беспокоясь о конкуренции со стороны Baby и его потомка Mark I, компания пригласила Уильямса в свою штаб-квартиру в Нью-Йорке в июле 1949 года. Конечно же, его спросили, как так получилось, что команде из «двух мужчин и собаки» удалось построить в Манчестере машину более совершенную, чем все наработки могучей компании IBM. Уильямс ответил в своей непроницаемо серьезной манере (представьте себе саркастический огонек в его глазах): «Ну, у нас была идея, как хранить данные, а потом мы просто начали строить компьютер, пока не построили, не останавливаясь, чтобы слишком много ДУМАТЬ». Собравшиеся сотрудники IBM сначала растерялись, а потом, поскольку Уотсон на встрече не присутствовал, весело рассмеялись.
Рассказывая эту историю, Уильямс не лукавил. Компьютеры
На самом деле дисплей на компьютере, который использовал память на основе трубки Уильямса, — это не трубка Уильямса. На настоящей трубке Уильямса биты не видны или практически не видны. То, что мы видели на экранах первых компьютеров, — это электрические заряды, созданные с помощью электронной пушки. Они видимы только из-за свечения люминофора. Но для работы трубки Уильямса необходимо, чтобы экран закрывала так называемая коллекторная пластина. Коллекторная пластина замыкает электрическую цепь, так что заряд — тот, который заставляет светиться люминофоры, — может быть обнаружен электронной схемой и использован на следующем шаге вычислений. Мы говорим, что при помощи схемы
Коллекторная пластина на основной трубке памяти Baby была сделана из «металлической марли» — тонкой проволочной сетки. В принципе, сквозь нее действительно получалось увидеть биты — конечно, не очень отчетливо. На самом деле это не имеет значения, потому что драгоценная трубка Уильямса помещалась в металлический кожух для защиты от случайных электрических разрядов (скажем, от проезжающего мимо трамвая), способных повредить ее или исказить биты. Инженеры считали невидимый электрический заряд на коллекторной пластине более важным, чем светящийся люминофор на экране.
Поэтому биты, хранившиеся на трубке Уильямса, демонстрировались на другой электронно-лучевой трубке. Ничего сложного. Каждый раз, когда считывалась строка трубки Уильямса (скажем, пять раз в секунду), она напрямую копировалась в соответствующую строку трубки дисплея. Трубка дисплея представляла собой не память, а точную видимую копию скрытого светящегося экрана памяти. Поскольку этот экран предназначался только для демонстрации содержимого памяти, а не для вычислений, его не требовалось защищать от проезжающих мимо трамваев. Мы тоже используем такой дисплей для наблюдения или мониторинга памяти и называем его
Строго говоря, первые биты уже были первыми «разбросанными» пикселями, но инженеры спрятали их под защитным кожухом. Отображенные пиксели уже находились на своем месте, но оставались невидимыми — тут как в философской загадке о том, раздается ли звук, если деревья падают в лесу, где никого нет. Человек мог их увидеть, только если они отображались на мониторе для людей.[20]
EDSAC Уилкса в Кембридже был важным исключением из тенденции повсеместно использовать победившую в гонке памяти трубку Уильямса. Уилкс отказался от видимой — пусть даже только потенциально — памяти. Как и в Pilot Ace Тьюринга, в его машине применялись ртутные линии задержки.
Но инженеры, разработавшие EDSAC, тоже хотели видеть, что находится в ртутных линиях задержки, поэтому они тоже снабдили свою машину монитором. Электронная схема преобразовывала последовательность импульсов, проходящих через линию задержки, в набор пятен, отображавшийся на экране электронно-лучевой трубки. Электронная схема получала цепочку импульсов из линии задержки и превращала их в горизонтальные ряды матрицы — делала из одной длинной последовательности (512 бит) аккуратные прямоугольники из более коротких рядов (по 32 бита в каждом). Затем они просто воспроизводились на экране обычной электронно-лучевой трубки растровым массивом. Благодаря такому монитору EDSAC из британского Кембриджа тоже включился в гонку за первенством в Цифровом Свете. Обратите внимание, что с тем же успехом основой для монитора мог стать один длинный ряд лампочек, а не двумерный. Лишь по удачному стечению обстоятельств технология мониторов привела к растровому отображению.
Еще одним заметным исключением стал Whirlwind из Массачусетского технологического института в американском Кембридже. Команда Джея Форрестера решила переработать идею Уильямса, поскольку Whirlwind предъявлял более высокие требования к пропускной способности памяти. Началась разработка конкурирующей конструкции, хотя хранить биты предполагалось также на электронно-лучевой трубке. Однако, очевидно, использовать ее как дисплей для изображений не предполагалось.
Поскольку на совершенствование «электростатической памяти», основанной на идее Уильямса, требовалось много времени, Форрестер и его команда сначала использовали в качестве запоминающего устройства Whirlwind то, что они назвали «тестовым хранилищем». Большая его часть состояла из обычных электрических тумблеров! Люди «записывали» в память машины данные и команды при помощи комбинаций из включенных и выключенных тумблеров. Whirlwind считывал эти комбинации, но, естественно, не записывал — если говорить на компьютерном жаргоне, он обладал памятью только для чтения. Команда Форрестера разработала специальный монитор для отображения содержимого тестового хранилища.
Хотя тестовую конфигурацию Whirlwind не называли полноценным компьютером, а процедура его программирования оказалась крайне трудоемка, его впервые успешно использовали 19 августа 1949 года. Назовем тестовую конфигурацию Whirlwind— (Whirlwind-минус), потому что сам Whirlwind без минуса разрабатывался как компьютер с полной хранимой программой. Обычно промежуточные тестовые запуски вычислительных машин не рассматривают отдельно, но эта тестовая конфигурация очень важна для истории Цифрового Света.
В процессе моих изысканий я обнаружил настоящее сокровище — фотоархив разработчиков Whirlwind. Он хранился не в Массачусетском технологическом институте, где я рассчитывал его обнаружить, а в управляющей самыми секретными научно-технологическими лабораториями американского правительства корпорации MITRE в соседнем Бедфорде. Криста Ферранте, архивариус корпорации, пригласила меня в хранилище 11 октября 2016 года. В процессе работы над этой книгой редко выдавались более захватывающие и полезные дни. Архивариус подготовила для меня целую тележку с коробками, полными тщательно каталогизированных фотографий. Их было очень-очень много. Даже первые пользователи Whirlwind без зазрения совести создавали картинки. Криста и я в течение нескольких часов с удовольствием рассматривали фотографии, и мне удалось найти среди них кое-что впечатляющее.
На рисунке 4.10 вы видите, вероятно, первое цифровое изображение из проекта Whirlwind. Оно создано в июне 1949 года, вероятно, при помощи памяти с ручным набором, так как даже Whirlwind— еще не предполагал возможности полноценного программирования. Инициалы на рисунке означают Whirlwind I, полное официальное название будущего компьютера, работа над которым официально завершилась в апреле 1951 года.
Рис. 4.10
Чтобы определить, какая ячейка памяти соответствует точке на дисплее, инженер Массачусетского технологического института Боб Эверетт изобрел «световой пистолет», который взаимодействовал с дисплеем, выключая определенные точки. Что как раз и происходит на рисунке 4.11 — съемка датирована апрелем 1952 года. Для американцев это были самые ранние опыты взаимодействия с цифровым изображением, но, как мы вскоре увидим, британцы их опередили.
В сентябре 1949 года к Whirlwind— добавили «специальный дисплей». Его тоже сделали на основе электронно-лучевой трубки.
Рис. 4.11
Это очень важное событие в истории Цифрового Света. Устройство позволяло создавать изображение из невидимого описания или модели, которая хранилась в памяти компьютера. Это то, что мы подразумеваем под
Программисты Whirlwind во главе с Чарли Адамсом начали создавать изображения в конце 1949 года, сперва — при помощи программ, хранившихся в тестовой памяти на основе тумблеров. Рисунок 4.12, изображающий параболу и кривую четвертой степени с осями, сделан 18 мая 1950 года и представляет собой типичное раннее изображение, созданное на Whirlwind. Модель для каждого из этих изображений хранилась в памяти в виде математического уравнения.
Большинство изображений, созданных Whirlwind, двумерны. Но на рисунке 4.13 показаны два снимка экрана, сделанные 6 марта 1950 года, — на них, вероятно, впервые изображены трехмерные поверхности. Они дают некоторое представление о будущих реалистичных компьютерных изображениях, хотя стоит отметить, что здесь не учитывается линейная перспектива. До этого фундаментального шага в компьютерной графике оставалось более десяти лет, и он ожидал своего Брунеллески.
Осциллограф — это векторное устройство отображения. Он, перемещая электронный луч в любом направлении, рисовал пятно в произвольной точке экрана и с произвольным интервалом, а не только в регулярно расположенных точках сетки вдоль горизонтальных линий. Такое описание — еще один способ напомнить, что эти пятна не были ни битами, ни отображенными пикселями. Так началось разделение Цифрового Света на вектор и растр. Основное направление компьютерной графики — главное подразделение Цифрового Света — расцвело на этой каллиграфической ветви спустя примерно десятилетие. Оно включится в растровую ветвь к началу нового тысячелетия во время Великой цифровой конвергенции.
Гарри Хаски создавал цифровое изображение, показанное на рисунке 4.14, именно как картинку. Это фотография с монитора еще одного, но уже американского компьютера с памятью, основанной на трубках Уильямса. Хаски нелегко отнести к янки или британцам, потому что сначала он работал в команде ENIAC в Америке, а затем участвовал в проекте Pilot Ace Тьюринга в Англии. Вернувшись в США, он создал для Национального бюро стандартов машину, которую вначале назвал Zephyr — эта фотография как раз ее рекламирует — по образцу EDVAC фон Неймана. Я познакомился с доктором Хаски в 2013 году, когда ему присудили премию Fellow Awards Музея компьютерной истории в Маунтин-Вью, штат Калифорния. Ему было 97 лет. Он рассказал, что работал над этим изображением в конце 1948 года — и вручную заносил биты в память трубки Уильямса, используя ту же технику, что и Килбурн. Это третье цифровое изображение сделано в начале разработки Zephyr. Компьютер позже переименовали в SWAC и запустили в работу в августе 1950 года.
Рис. 4.12
Рис. 4.13
Хотя к 1948 году лампы Selectron еще не были готовы, чтобы служить устройствами памяти в MANIAC фон Неймана, они все равно включились в забег раннего Цифрового Света, потому что кто-то вручную создал изображение (рис. 4.15) на лампе Selectron. На ней горела аббревиатура RCA Laboratories, где Зворыкин и Райхман разрабатывали Selectron. Поскольку Райхман сыграл наиболее важную роль, возможно, именно он создал эту картинку.
Джон Преспер Эккерт, участник команды ENIAC и EDVAC, — еще один американец, попытавшийся создать память на базе электронно-лучевой трубки в 1946 году. У него и его коллег получилось записывать биты на экране ЭЛТ, но не удалось сохранять их достаточно долго, чтобы устройство смогло использоваться как надежная память. Усилия Эккерта стали еще одним сетом в матче янки против британцев за первенство в разработке компьютерной памяти, и американцы снова проиграли.
Хотя команде Эккерта не удалось создать свою конструкцию запоминающего устройства, она изготовила работающий прототип, как только узнала о результатах наработок Уильямса и Килбурна. Герман Лукофф, инженер из группы Эккерта, проводя тесты на надежность хранения, вручную вводил в память свои инициалы H. L. Эту картинку Лукофф сделал где-то между декабрем 1948 и мартом 1949 года, но у нас нет ее фотографии. Эта память, однако, никогда не использовалась в компьютере.
Руководство по программированию Ferranti Mark I от марта 1951 года, написанное Тьюрингом, содержит фотографию, показанную слева на рисунке 4.16. Килбурн представил его на компьютерной конференции в декабре того же года. Справа на рисунке показана, возможно, цифровая картинка, созданная под управлением программы, но она грубая и неубедительная. С левой стороны вы видите случайный набор точек, показывающий состояние битов памяти. Он не имеет двумерной когерентности и определенно не относится к цифровым изображениям.
Участникам конференции также продемонстрировали векторное изображение, созданное на компьютере Whirlwind. Оно показано справа на рис. 4.16. Его определенно сгенерировала программа. Это были единственные цифровые изображения в материалах конференции. По сути, произошло публичное объявление о расколе между векторной каллиграфией и растром. По крайней мере, изображение, сгенерированное на Whirlwind, считается примером компьютерной графики, потому что для управления его отображением на дисплее (не важно, векторном или растровом) компьютер с программой, хранимой в памяти, использовал внутреннюю модель. В данном случае — математическое уравнение многочлена седьмого порядка, лаконичное, абстрактное и невидимое. Фотография свидетельствует, что команда Whirlwind в начале 1950-х годов приступила к созданию компьютерной графики.
Рис. 4.14
Композиция из двух изображений на рисунке 4.17, а также подпись к ней взяты из рекламной брошюры Ferranti Mark I, выпущенной в декабре 1952 года. Из подписи понятно, что уже на этом этапе производители осознавали коммерческий потенциал компьютерных изображений. Картинки наконец признали серьезным делом. Мне известно, что картинку с галочками сгенерировала программа, мне рассказал об этом Дай Эдвардс, член исходной команды манчестерского компьютера. Вероятно, его запрограммировал Дитрих Принц, еврей, бежавший из Берлина в Британию в 1938 году.
Рис. 4.15
Игры сопровождают компьютер с момента его появления. В общих чертах, с момента рождения его сопровождает
Кристофер Стрейчи, однокурсник Тьюринга по Кембриджу, пытался сделать программу для игры в шашки на Pilot Ace. В письме Тьюрингу от 15 мая 1951 года он утверждал, что она работает. Затем Стрейчи узнал, что у манчестерского Мark I, потомка Baby, гораздо больше памяти. Наверняка возможность визуализировать память тоже произвела на него впечатление. Он переписал свою программу с использованием руководства по программированию Тьюринга и запустил ее на коммерческой версии Ferranti Mark I не позднее 9 июля 1952 года.
«Он сам писал руководство [по программированию Ferranti Mark I], и, когда я заполучил копию, я понял, почему оно славится тем, что его никто не понимает, — рассказывал Стрейчи о Тьюринге. — Люди просто не привыкли читать точные описания, и это усугублялось слегка раздражающим предположением Алана, что все такие же умные, как он».
Рис. 4.16
Последовательные состояния доски для игры в шашки отображались на трубке Уильямса. На рисунке 4.18 показаны шесть оригинальных фото, сделанных Стрейчи. Изображения сгенерировал компьютер под управлением программы в своей памяти.
Шашки Стрейчи — это лучший из задокументированных претендентов на звание первой в мире видеоигры. Но в период с 1950 по 1952 год созданы несколько компьютеров, и любой из них можно было запрограммировать для игры (а еще — для показа неподвижных изображений или анимации). Безусловно, как мы увидим далее, появлялись даже вполне анекдотические претенденты.
Что интересно, шахматы никогда не претендовали на звание первой видеоигры, хотя Тьюринг увлекался ими. Как и Клод Шеннон, который встречался с Тьюрингом в Манчестере в 1950 году, в том числе и для обсуждения этого вопроса. Как и Дитрих Принц, который довольно рано присоединился к разработчикам Ferranti. Как и Стрейчи. Но шахматы были слишком сложны для компьютеров того времени, хотя Принц запрограммировал заключительную часть этой игры, эндшпиль, в пределах двух ходов до мата в 1951 году на Ferranti Mark I. Хотя, вероятно, именно он сгенерировал изображение с галочками (рис. 4.17), нет никаких доказательств, что его шахматная программа использовала визуальный дисплей.
Рис. 4.17 [Иллюстрация возможных изображений, которые демонстрируются на экране монитора, когда Компьютер производит проверку своей оперативной памяти. Другие изображения могут демонстрировать кривые, таблицы и т. п.]
Еще два претендента на звание первой в мире видеоигры написаны для EDSAC. В диссертации, защищенной в Кембридже в ноябре 1952 года, Стэнли Гилл описал простую программу, в которой овца приближается к забору с парой ворот. EDSAC на дисплее рисовал вертикальную линию забора, в которой промежутки сверху и снизу изображали ворота. Напротив ворот, открытие которых предсказывала программа, компьютер проводил горизонтальную линию. Игрок движением руки прерывал луч считывателя перфоленты, чтобы открыть верхние ворота, иначе открывались нижние. Графика и сама игровая механика были примерно такими же простыми, как и у гораздо более поздней видеоигры Pong. Увы, снимков экрана с этой игрой никто не сделал[21].
Рис. 4.18
Рис. 4.19
Александр Шафто «Сэнди» Дуглас сделал фотографии (рис. 4.19) своего игрового творения. Он запрограммировал крестики-нолики для EDSAC примерно в 1952 году, но точно до марта 1953-го. Эти три картинки — оригиналы фото, которые он сделал с монитора компьютера. Если в случаях, когда точная дата неизвестна, ориентироваться на самый ранний срок, то Гилл с ноябрем 1952 года побеждает Дугласа с мартом 1953 года, что делает их создателями второй и третьей видеоигр соответственно. Согласно этому алгоритму овцы проигрывают шашкам, но берут верх над крестиками-ноликами.
Британцы создали первые задокументированные цифровые изображения и первую интерактивную видеоигру. Наверняка они сделали и компьютерную анимацию, потому что Baby был вполне способен показывать движущиеся изображения. Но, как ни странно, тому нет никаких доказательств, даже устных свидетельств. И Baby, и EDSAC рисовали последовательности цифровых изображений, но все это было лишь случайным содержимым их памяти.
Возможно, EDSAC при помощи одной из программ рисовал шотландского танцора, но об этом остались лишь устные свидетельства. Насколько мне известно, первую задокументированную компьютерную анимацию как преднамеренную последовательность двумерных изображений создали янки на компьютере Whirlwind Массачусетского технологического института.
Руководство по программированию Whirlwind, опубликованное 11 июня 1951 года, содержало «экран с прыгающим мячом». Эскиз (рис. 4.20) экрана осциллоскопа сопровождает текст самой программы, написанной Чарли Адамсом. Согласно подписи, точки отображались в виде временной последовательности. Очевидно, это была первая задокументированная компьютерная анимация, хотя, возможно, она задумывалась просто как неподвижная картинка без специального контроля времени между точками. Просто расчет шел медленно, а каждая точка после отображения постепенно гасла, что создавало видимость прыгающего мяча — во всяком случае, прыгающей точки.
Я, как обычно, подойду к материалу очень осторожно и возьму дату публикации руководства в качестве «официальной» датировки этой картинки и, возможно, первой анимации. Она подтверждается официальной фотографией из архива Whirlwind (рис. 4.21), датированной 13 декабря 1951 года.
Я уделяю столько внимания этой картинке из-за ее важного значения для истории. Адамс охарактеризовал ее как «вероятно, самую популярную демонстрацию возможностей Whirlwind до того, как заработало электростатическое хранилище». Другими словами, речь идет об использовании Whirlwind—. Адамс и его коллега Джек Гилмор, присоединившийся к нему в октябре 1950 года, превратили прыгающую точку («мяч») в своеобразную игру (рис. 4.22). Они добавили звук удара при каждом отскоке, так что эту версию уже определенно можно считать настоящей анимацией.
Рис. 4.20
Рис. 4.21
Игроки в интерактивном режиме изменяли частоту отскоков, а побеждал тот, кто первым попадал «мячом» в лунку — промежуток на горизонтальной оси. Попадание компьютер сопровождал другим звуком. Самая ранняя фотография этой «игры» из архива Whirlwind датируется июнем 1953 года.
Из опубликованного кода видно, что это не циклическая программа, ожидающая хода следующего игрока. Другими словами, она не предполагала настоящего интерактива. Похоже, эту программу каждый раз требовалось перезапускать с новым набором из трех начальных условий, вводимых с помощью тумблеров. Здесь, конечно, появляется соблазн заявить, что это в любом случае некая форма интерактивности и претендент на звание первой видеоигры. Некоторые так и делают. Безусловно, некая форма игры тут присутствует. По крайней мере, она побуждала студентов Массачусетского технологического института упорствовать в утомительном процессе программирования Whirlwind—.
Прыгающая точка в итоге стала анимацией если не в июне 1951 года, то уж точно к июню 1953-го. Но две первые достоверные
В телешоу Эдварда Р. Марроу «Смотри сейчас» 16 декабря 1951 года показали два мультфильма, сделанных на Whirlwind—. Все началось с растровой анимации (рис. 4.23). «Разбросанные» пиксели складывались в слова HELLO MR. MURROW (ЗДРАВСТВУЙТЕ, МИСТЕР МАРРОУ). Последовательно каждый столбец становился ярче, а затем гас, по-видимому управляемый специально написанной программой. В другой анимации фигурировала движущаяся точка, которая изображала ракету, летящую по параболической траектории. Эта каллиграфическая картинка создана на растровом осциллоскопе. Световые пятна зажигались вдоль кривой и не оставляли следа. Фактически это первая дуга из «отскоков» движущегося «мяча».
Математик Мартин Дэвис рассказал мне историю, подтверждающую еще одну раннюю попытку создания анимации, на этот раз у американцев и определенно на пиксельном дисплее. Весной 1952 года Дэвис некоторое время занимался отладкой кода в Иллинойсском университете. Он работал с компьютером ORDVAC, еще одним потомком EDVAC, введенным в эксплуатацию весной 1951 года. Как и MANIAC, тот обладал памятью на 40 трубках Уильямса, а его монитор можно было переключать, чтобы отобразить состояние любой из них. Дэвис рассказал, а его жена Вирджиния подтвердила, что кто-то написал программу, выводившую на дисплей сообщение HELLO VISITOR! THIS IS THE ORDVAC (ПРИВЕТ, ПОСЕТИТЕЛЬ! ЭТО ORDVAC). Слишком крупные буквы не помещались на экран. Чтобы прочитать сообщение полностью, приходилось ждать, пока оно «прокрутится» по монитору справа налево. Эта ранняя компьютерная анимация, вероятно, создана где-то между весной 1951 и весной 1952 года. В своих осторожных оценках я буду ориентироваться на весну 1952 года.
Рис. 4.22
Рис. 4.23
К той же категории анекдотичных свидетельств я отношу рассказ Ричарда Мервина, который работал над ENIAC, затем в Лос-Аламосе — над MANIAC (еще одним потомком EDVAC), а потом — над IBM 702. Мы с Диком вошли в состав делегации специалистов по информатике из IEEE, которых на целый месяц пригласили в Китай в 1978 году. Тогда после судьбоносных переговоров Ричарда Никсона и Мао Цзэдуна Китай распахнул свои двери для иностранцев. В тот памятный момент, когда наш автобус проезжал мимо Запретного города, Дик рассказывал мне о первой компьютерной анимации, которую он увидел на трубке Уильямса в начале 1950-х годов. Там демонстрировалась бутылка, из которой вино наливалось в бокал. То, что он описывал, могло быть изображено на мониторе MANIAC, но я больше склоняюсь к IBM 701 где-то в 1952 или 1953 году или к IBM 702 еще позже. Я называю это свидетельство анекдотичным, потому что с расстояния в 40 лет уже не различить мелких деталей, а Мервина, к сожалению, уже нет в живых, чтобы он уточнил их. Возможно, эта история смешалась у меня в памяти с другой версией событий, которую я слышал от пионера графики Джорджа Майкла из Ливерморской национальной лаборатории Лоуренса: в начале 1950-х для проверки памяти на трубке Уильямса в компьютере IBM 701 использовалась анимированная картинка с пивной бутылкой, из которой пиво наливалось в стакан. Другой пионер компьютерной графики Робин Форрест описал еще один вариант: «Говорят, что одному талантливому программисту удалось написать программу, которая отображала анимацию с водой, наполняющей стакан».
Вы можете возразить, что объект, который я назвал Первым Светом (рис. 4.2), — это не картинка, а текст: C. R. T. STORE. Но текст — это тоже изображение, согласно любому разумному определению. Любое изображение — в терминах, с которыми мы познакомимся по ходу дела, — представляет собой
Ранние угловатые картинки лишены изящества. Килбурн делал их по наитию, не опираясь на теорему отсчетов. Вряд ли он вообще знал о ее существовании. Впервые, в изложении Котельникова, она была опубликована на русском языке в 1933 году, а английская версия Шеннона не печаталась в открытых источниках до 1948 года. Тьюринг познакомился с теоремой отсчетов уже в 1943 году, что согласуется с заявлением Шеннона, считавшего, что в его профессиональной сфере она была общеизвестна. Однако, когда Килбурн создал Первый Свет — первое цифровое изображение, — Тьюринг еще не переехал в Манчестер. И нет причин предполагать, что Тьюринг, несмотря на всю свою гениальность, когда-либо задумывался о применении теоремы отсчетов к области зрения.
С одним битом — или двумя значениями — на пиксель картинка Килбурна получилась хороша, насколько возможно, пускай сейчас она и кажется наивной. В памяти на трубке Уильямса просто не хватало пикселей — и битов на пиксель, — чтобы точно отобразить плавно очерченный объект с резкими краями, например букву. Говоря на языке частот, плотность пикселей далеко не дотягивала до (удвоенной) самой высокой частоты пространственной волны в буквах. Так первые изображения еще и демонстрировали сложную проблему неровностей, которую предстояло решить, чтобы успешно достичь Цифрового Света.
Все первые изображения, видеоигры и анимации (кроме каллиграфических векторных изображений на осциллоскопе в Массачусетском технологическом институте) — это любительское преобразование простых геометрических объектов (букв, цифр, квадратов, прямых и кривых линий) в однобитные пиксели. Такие наивные визуализации не предполагали понимания и применения теоремы Котельникова. Никто еще не знал об исключительной важности частоты отсчетов — идеи, которая в конечном итоге приведет к Великой цифровой конвергенции. Вот почему я не возражаю, чтобы на раннем этапе не делать различий между векторными дисплеями, используемыми на Whirlwind, и растровыми, используемыми на других машинах. Каллиграфические растровые изображения — это часть нашего наивного детства.
Если говорить о наивности, любой образец вышивки 1760 года (рис 4.24, слева) предлагает ответ на ваше возражение о ранней истории Цифрового Света, описанной в этой книге. (Кстати, слово «образец» кажется на удивление похожим на нашу терминологию с «выборкой» и «отсчетом», но имеет здесь совершенно другое значение — просто пример чьей-то работы.) Почему бы не считать вышивку предшественником Цифрового Света? Почему не считать таковым любой гобелен с изображением? Или любую мозаику (рис. 4.24, справа) — изображение, состоящее из равномерно расположенных стеклянных плиток-смальт? Любой из этих примеров представляет собой картинку, сформированную из наивной выборки — без использования теоремы Котельникова — точно так же, как Первый Свет.
Рис. 4.24
Что ж, их можно считать предшественниками цифровых изображений и Цифрового Света. Нет никаких сомнений. Кроме того, они представляли собой аппаратуру
Телетайп, машина для передачи текста, — старая идея, известная также как телепринтер или телекс (строго говоря, «Телетайп» — это торговая марка). Его принцип работы заключается в следующем: на клавишах устройства, похожего на электрическую пишущую машинку, набирается сообщение, которое превращается в электрический сигнал и передается по телеграфной линии на аналогичное устройство, преобразующее сигнал в буквы и выводящее текст на лист бумаги. Для передачи каждого символа используется уникальный сигнал.
Согласно нашему определению, произвольно набранный текст не относится к цифровым изображениям, потому что не предполагает намерения создать связную двумерную картинку. Но как насчет случаев, когда буквы умышленно расположены в виде двумерной матрицы так, чтобы с некоторого расстояния псевдотекст воспринимался как картинка? На рисунке 4.25 показаны два примера такого творчества: Мадонна с младенцем и портрет Дага Хаммаршёльда, ставшего в 1953 году генеральным секретарем ООН и самым молодым человеком, занимавшим эту должность. Чтобы облегчить выполнение задачи, некоторые символы напечатаны поверх других.
Вопрос в следующем: если уникальный сигнал представляет собой цифровые биты, то можем ли мы интерпретировать его как пиксель, а напечатанные буквы — как элемент отображения для этого пикселя? Вопрос отнюдь не праздный, потому что цифровые сигналы появились в 1874 году, когда Эмиль Бодо разработал «пятиэлементную» систему кодирования символов, которую мы сегодня назвали бы пятибитной. Оба изображения, приведенные выше, вероятно, передавались в кодировке Бодо. Здесь глиф выступает в качестве элемента отображения, а его оттенок серого (включая элементы, образованные путем наложения буквенных символов) приблизительно соответствует отношению площади черных чернил и белой бумаги в прямоугольной области, занятой глифом.
С тех пор сотни, а то и тысячи таких изображений (в большинстве своем — картинки с обнаженными женщинами) были созданы и разосланы — сначала по телеграфу в ночные смены, а затем с помощью радиолюбительских передатчиков. Операторы-любители собирали схемы управления телетайпом с помощью принятых сигналов, печатали изображение и одновременно перфорировали бумажную ленту. Бумажная лента — это запоминающее устройство телетайпа, с нее можно было сделать несколько копий, чтоб отправить друзьям, скажем, в качестве поздравления с Рождеством. Таким образом, телетайп как способ создания цифровых изображений получил широкое распространение до появления компьютеров в 1948 году и в течение еще более десяти лет после, пока компьютеры оставались редкими и дорогими. Примеры таких изображений приведены выше. Мадонна с младенцем датируется 1947 годом, а портрет Хаммаршёльда — 1962-м.
Эпоха телетайпного искусства застала рождение компьютеров и легко адаптировалась к изменившемуся миру. Появились новые коды, заменившие систему Бодо. С их помощью компьютеры взаимодействовали с печатающими терминалами, такими как телетайпы. История подобных пересечений заставляет нас задуматься над понятием Цифрового Света. Возникает вопрос: не требуется ли расширить определение и стоит ли считать телетайпные коды первыми пикселями еще до появления компьютеров?
Не совсем. Из-за «наивного» использования теоремы отсчетов и грубого восстановления мы можем считать их лишь ранними предшественниками пикселей Цифрового Света. Но поскольку система их хранения представляла собой бумажную ленту, а не электронную память, они не подходят под наше определение Цифрового Света. Чтобы сделать систему определений в этой книге непротиворечивой, мы будем настаивать только на электронной компьютерной памяти.
Рис. 4.25
Использование как наивной выборки, так и векторных каллиграфических мониторов, которые вообще не основывались на выборке, массово продолжалось в 1950-х, 1960-х, 1970-х и даже 1980-х годах. Только в конце 1960-х — начале 1970-х годов, в эпоху Цифрового Света, мы встречаем первые намеки на применение теоремы выборки к вычислению пикселей. Самые ранние попытки связаны с горизонтальным смягчением краев геометрических фигур или глифов, которые использовались для аннотирования изображений. На компьютерном жаргоне это называлось
Если дискретизация выполняется с меньшей частотой, чем требует теорема отсчетов, то пропавшие высокие частоты отражаются на результате в виде появления визуального шума, который называют
Первый явный пример полного антиалиасинга геометрической модели — в обоих измерениях, как мы видим на рисунке 4.26, — вероятно, выполнен Ричардом Шаупом из Исследовательского центра Xerox в Пало-Альто в 1973 году (но обратите внимание на замечание в комментариях по поводу возможного предшественника в 1971-м). Ступенчатые линии — вверху, сглаженные — внизу.
Шауп также создал в 1973 году изображение колеса повозки, показанное на рисунке 4.27 (зубчатое — слева, сглаженное — справа). Он явно не использовал теорему Котельникова ни для той, ни для другой картинки, но результаты свидетельствуют, что он прибегнул к какому-то эквивалентному методу. Оба изображения состоят из 8-битных пикселей в градациях серого и имеют устаревшее видеоразрешение (примерно 500 пикселей в ширину каждое).
Первое явное применение теоремы отсчетов для пространственного сглаживания состоялось в Университете штата Юта. Томас Стокхэм, эксперт по цифровому звуку, в 1970-х преподавал теорему отсчетов целому поколению пионеров компьютерной графики. Его ученик Эд Кэтмалл включил сглаженные изображения в свою докторскую диссертацию 1974 года. Другой его студент Фрэнк Кроу донес полученные от Стокхэма сведения до всех, кто занимается компьютерной графикой, в своей докторской диссертации 1976 года и последующих публикациях.
Сколько ни анализируй историю, все равно Цифровой Свет появился одновременно с рождением компьютеров. Первый Свет был зачат вместе с Baby. Первые пиксели — это в прямом смысле биты первой компьютерной памяти. Решающим периодом стал промежуток с 1947 по 1952 год. Возможно, произошел разрыв в один или два года между первыми тестовыми изображениями на трубке памяти Baby и первыми изображениями, которые были намеренно сгенерированы на компьютерах с хранимой программой при помощи программ, а не через прямую запись в память. Тем не менее очевидно, что к 1951 году на компьютерах уже создавались изображения из пикселей, управляемых хранимой в памяти программой. Эти пиксели получены интуитивным путем из геометрических моделей — обычно букв, цифр или других простых форм. Некоторые модели были интерактивными, а некоторые — анимированными. Использование теоремы отсчетов, вероятно, по-настоящему началось лишь с 1970-х годов.
Рис. 4.26
Рис. 4.27
Пиксель полностью объединяет историю Цифрового Света: компьютерную графику, видеоигры, обработку изображений, цифровую фотографию, интерфейсы приложений или операционных систем, цифровое телевидение, анимационные фильмы, виртуальную реальность и так далее. С этой точки зрения использование векторных дисплеев в компьютерной графике на протяжении нескольких десятилетий рассматривается как обходной путь. Значительное увеличение плотности элементов отображения на дисплеях и колоссальное ускорение вычислений, согласно закону Мура, позволило растровым дисплеям победить и вернуть Цифровой Свет к его растровым корням. Сведение всех устройств отображения к единому растровому виду в конечном счете привело к Великой цифровой конвергенции различных визуальных медиа. А теорема Котельникова — это магия, которая лежит в основе пикселя.
Теперь мы готовы применить три великие идеи — частоты, отсчеты и компьютеры — к двум технологиям — одной старой и одной новой. Старая — это кино. Одна из причин вернуться к истории кинематографа заключается в освоении словаря, полученного от него по наследству Цифровым Светом. Создание цифрового кино неизбежно зависело от существующих технологий киносъемки и анимации, полностью основываясь на них. Но главная причина состоит в демонстрации того, как великая идея отсчетов работает для понимания не только статических изображений, но и движущихся картинок. Оказывается, изобретение технологии кино также исходило из теоремы отсчетов, хотя в те времена о ней никто не знал. Теорема Котельникова дает нам возможность по-другому посмотреть на любой фильм. По дороге мы встретим несколько новых героев и тиранов, выслушаем несколько ошибочных версий. Вторым приложением трех фундаментальных идей будет сам Цифровой Свет, новая технология единого нового носителя информации.
5. Фильмы и анимация: время выборки
Для человеческого ума непонятна абсолютная непрерывность движения. Человеку становятся понятны законы какого бы то ни было движения только тогда, когда он рассматривает произвольно взятые единицы этого движения. Но вместе с тем из этого-то произвольного деления непрерывного движения на прерывные единицы проистекает большая часть человеческих заблуждений.
Происхождение — вещь ускользающая, в прямом и переносном смысле, а кино, возможно, самое ускользающее медиа, которое когда-либо существовало. Истоки его окутаны смесью запретных табу и побуждающего любопытства и представляют собой проблемную смесь притязаний на право и собственность (часто ложных, всегда примитивизирующих): миф о неизбежном прогрессе, национальную гордость и откровенную дезинформацию. Столкнувшись со змеиным клубком претензий и встречных претензий, чистого эгоизма и путаной лжи, которыми отмечены описания происхождения кинематографа, хочется просто опустить руки.
Борьба за первенство в создании кинематографа породила еще более ожесточенные споры, чем история компьютеров. Многие американцы считают изобретателем кино Томаса Эдисона или в крайнем случае англичанина с непроизносимой фамилией — Эдварда Мейбриджа. Французы называют первопроходцами своих соотечественников — братьев Люмьер. На самом деле в таком упрощении столь сложного технологического достижения, безусловно, скрывается ложный посыл. Здесь, как и в титрах в конце фильма,
Между мирами компьютеров и кинематографа существуют метафорические связи, но по-настоящему объединяет их идея выборки. Котельников научил нас делать выборки из звукового потока в соксели, а из поля зрения — в пиксели. Но визуальный
Если говорить вкратце, возможно в точности представить изменяющиеся поля зрения — то, что на самом деле видят наши глаза, — с помощью дискретных кадров-фотоснимков, сделанных через равные промежутки времени. Каждый кадр — это неподвижное изображение, которое проецируется нам в глаза в настоящий момент. Все, что происходит между кадрами, можно игнорировать, потому что при отображении эта выборка «разбрасывается» кинопроектором, превращаясь в непрерывность, точно воспроизводящую исходный визуальный поток.
Загвоздка в том, что никто из изобретателей кинематографа (все они были мужчинами) этого не знал. Созданная ими система работает не совсем так замечательно, как описано выше. Теорема выборки будет сформулирована почти через полвека. Таким образом, кинотехнология создавалась по наитию, а не с опорой на науку, что подтверждается шрамами, которые у нее остались после столкновений с острыми углами реальности. Неуклюжесть, запертая в технологической системе сто лет назад, все еще сохраняется. Цифровой Свет не создавался с чистого листа. Он унаследовал немало проблем из далекого прошлого.
В этой главе мы обратимся к отдельным эпизодам из истории кинематографа и выстроим из них относительно связное повествование — более честное, менее помпезное. В истории кино тиранами выступали бизнесмены и богачи, а не императоры или диктаторы: Леланд Стэнфорд у Эдварда Мейбриджа, Томас Эдисон у Уильяма Кеннеди Лори Диксона, Уолт Дисней у Аба Айверкса. Во всех этих случаях (и во множестве других) доминирующий влиял на успех подчиненного — и наоборот. Значение имели обе стороны. Сейчас мы развеем мифы, что Мейбридж был отцом кино, Эдисон создал кинофильм, а Дисней придумал Микки Мауса.
Странный Эдверд
Сначала его звали Тедди Маггериджем. Или, может быть, Эдди. Мы не знаем, как обращалась к нему мать, но точно известно, что Эдвердом (Eadweard) Мейбриджем он стал намного позже. Это имя было последним — и самым странным — из множества его псевдонимов. На самом деле его звали Эдвард Джеймс Маггеридж. Он родился в Кингстоне-на-Темзе неподалеку от Лондона. В приведенной ниже таблице отражены вариации имен, под которыми этот известный шоумен выступал перед публикой:
Далее мы будем называть его Эдвардом Мейбриджем, потому что свою величайшую работу, имеющую значение для Цифрового Света, он сделал именно под этим псевдонимом.
Он приехал в Америку как Э. Дж. Маггридж (Muggridge) — с двумя «g». Он стал Э. Дж. Майгриджем (Muygridge), заменив одно «g» на «y», к 1860 году, когда купил билет на почтовый дилижанс Сухопутной почты Баттерфилда, следовавший из Калифорнии на Восточное побережье. До пункта назначения он не добрался. Ему стоило бы выбрать трансконтинентальную железную дорогу, столь важную для его будущего, но ее еще не существовало. Как бы то ни было, где-то в Техасе, на знаменитом Южном почтовом маршруте, лошадей что-то напугало, дилижанс перевернулся, и Майгриджа выбросило наружу. Он получил существенные телесные повреждения и, возможно, серьезные моральные страдания, поскольку подал в суд на Баттерфилда и получил 2500 долларов в качестве компенсации. Он все еще оставался Майгриджем, когда, вернувшись в Англию на лечение в 1861 году, попытался запатентовать стиральную машину. Он впервые назвался Мейбриджем (Muybridge) — с «yb» — в 1862 году в патентной заявке на процесс фотопечати. Как ни странно, он даже не попытался запатентовать свое самое важное изобретение — зоопраксископ, который создал позднее (названия киноустройств так же забавны, как и названия компьютеров).
Его самым ярким псевдонимом был Гелиос (только имя без фамилии). Он взял его в Сан-Франциско, когда решил стать художником нового типа — фотохудожником, — примерно в то же время, когда Джон Мьюр выступил в защиту чудесных видов долины Йосемити в Калифорнии. Фотографии Гелиоса, столь же ослепительные, как и сам бог солнца, запечатлели пейзажи долины и получили широкое признание.[22]
Судебный процесс по делу об убийстве в Сан-Франциско принес ему дурную славу уже как Эдварду Мейбриджу. Впрочем, жюри присяжных, состоящее исключительно из мужчин, оправдало его. Он застрелил любовника своей жены и вероятного отца своего ребенка. Его виновность не ставилась под сомнение — он выстрелил ему в упор в грудь из специально приобретенного пистолета со словами: «У меня есть для вас сообщение от моей жены». Несмотря на увещевания судьи, в Калифорнии после «золотой лихорадки» присяжные не собирались признавать человека, защищающего свою «честь» (!?), виновным в убийстве.
Мейбридж начал пользоваться странным именем Эдверд гораздо позже, в возрасте 52 лет, когда уже добился славы в мире искусства в Париже. Наверняка он позаимствовал его со знаменитого коронационного камня (рис 5.1) в своем родном городе Кингстон-на-Темзе. Два короля, носивших имя Эдуард, короновались там в 900-х годах. На камне дважды выбито слово Eadweard — староанглийское написание имени Эдвард. Таким образом, в качестве последнего псевдонима Мейбридж выбрал просто имя Эдвард, несмотря на вызывающее написание.
В промежутке между Гелиосом и Эдвердом обычный Эдвард и изобрел нечто эпохальное. Его покровитель Леланд Стэнфорд разбогател как барон-разбойник на строительстве первой трансконтинентальной железной дороги — тех самых железных коней, которые отправили дилижанс Баттерфилда со всеми лошадьми в небытие (или на ипподром). Главным наследием его огромного состояния стал, конечно же, Стэнфордский университет, из которого в 1960-х годах возникла Кремниевая долина — рассадник закона Мура. Но какое-то время Стэнфорд много тратил на главную свою страсть — скаковых лошадей, особенно на рысаков.[23]
Эдвард Мейбридж (такое имя он носил тогда) сфотографировал одного из любимых рысаков Стэнфорда в той фазе галопа, когда все четыре копыта отрываются от земли. Считается, что после этого Мейбридж занялся изобретением кино. Есть версия, что именно он первым продемонстрировал, как несколько неподвижных фотографий движущегося объекта, например лошади или человека, сделанных в быстрой последовательности, показывают объект в движении, если проецируются со скоростью съемки. В действительности дело обстояло иначе.
Вот что сделал Мейбридж. На ферме Стэнфорда в Пало-Альто — студенты Стэнфорда до сих пор называют университетский кампус Фермой — он соорудил устройство из 24 камер, расположенных на определенном расстоянии вдоль беговой дорожки ипподрома. Он придумал хитроумный спусковой механизм, чтобы открывать затвор каждой камеры в быстрой последовательности, когда мимо проносилась лошадь. Каждая камера формировала одно фотографическое изображение на стеклянной пластине, покрытой химической эмульсией. Пластины готовились на месте непосредственно перед съемкой.
Рис. 5.1
Чтобы показать результаты в движении, он воспользовался проекционным волшебным фонарем, с помощью которого ораторы демонстрировали неподвижные изображения, своего рода PowerPoint того времени. Мейбридж добавил к нему вращающийся диск размером немного больше, чем старая долгоиграющая виниловая пластинка. По краям он поместил небольшие картинки, созданные на основе последовательно снятых фотографий лошади (рис. 5.2). Поскольку диск вращался с более или менее постоянной скоростью, казалось, что проецируемые изображения воссоздают движение лошади. Полный оборот занимал около одной или двух секунд.
Мейбридж показал предположительно первый фильм в особняке Леланда Стэнфорда в Сан-Франциско 16 января 1880 года. Однако возникают некоторые сомнения. Во-первых, на диске его проектора размещались не фотокадры, а картинки, отрисованные по фотографиям. Во-вторых, он слегка их модифицировал — вытянул ноги и туловища лошадей по горизонтали, чтобы компенсировать искажения проекционной системы. В-третьих, он применял не кинокамеру, а два десятка фотокамер, причем каждая из них снимала одну сцену. И, наконец, пользоваться системой мог только сам Мейбридж, так как она была построена в определенном месте и не предполагала возможности перемещения. Назвать кинематографической системой сооружение без кинокамеры, кинопленки и проецирования настоящих фотографий нельзя даже с большой натяжкой. По аналогии с почти-компьютером о ней в лучшем случае можно сказать «почти-кино».
Рис. 5.2
Мейбридж далеко не первым додумался превратить статичные картинки в движущиеся, будь то фотокадры или полученные на их основе силуэты. В 1860-х и 1870-х годах такое уже делали с помощью популярного прибора под названием «зоотроп» (рис. 5.3). Представьте себе картонный цилиндр примерно в полфута высотой и два фута в диаметре. Если бы вы уменьшились настолько, чтобы забраться внутрь, то увидели бы множество изображений, равномерно расположенных по окружности цилиндра. Каждая картинка — это часть последовательности, изображающей, например, бегущую лошадь. Конечно, внутрь цилиндра вы не поместитесь, поэтому придется заглянуть в него снаружи — в стенках между картинками как раз прорезаны щели. Если цилиндр расположить на уровне глаз и осветить его изнутри свечой или небольшой лампой, через каждую щель будет видна картинка, расположенная на противоположной стенке. Если вы обойдете цилиндр снаружи, то увидите, что каждая щель открывает очередную картинку из последовательности, очередную фазу галопа лошади. Теперь представьте, что вы неподвижно стоите в темной комнате, а цилиндр вращается. Между щелями вы видите темную внешнюю стенку цилиндра. Изображение предстает перед вами, только когда щель оказывается в нужном положении. Каждая картинка располагается напротив щели и изображает следующую фазу галопа лошади. Таким образом, когда цилиндр вращается с соответствующей скоростью, вы видите прерывистую последовательность освещенных изображений в одном и том же месте на противоположной от вас стенке цилиндра. Меняющиеся картинки вы воспринимаете как бегущую лошадь. Даже по описанию заметно отдаленное сходство с принципом работы кинопроектора — темные части барабана выступают в качестве затвора[24].
Для зоотропа подходят как фотографии, так и созданные на их основе рисунки. Китайцы изобрели аналогичное устройство (конечно, не предполагавшее использование фотографий) почти два тысячелетия назад. И изображения, разумеется, не ограничивались бегущими лошадьми.
Мейбридж даже не первым придумал проецировать последовательность изображений. Афанасий Кирхер сделал это в 1671 году или, по крайней мере, записал свою идею. Оговорка необходима, потому что на рисунке своего изобретения Кирхер поместил линзу не с той стороны, о чем он, конечно, сразу бы догадался, если бы действительно воплотил свою задумку (рис. 5.4). Реализация идеи — это место, где мечта встречается с грубой реальностью.
Рис. 5.3
Позже в этой главе мы перейдем от фильмов с живыми актерами, снятых в реальном мире, к анимационным фильмам, создающим нереальные миры. Оригинальный вклад Мейбриджа в изобретение кинематографа, как ни странно, более важен для анимации. Мультипликаторы прошлого века перерисовывали кадр за кадром людей или животных, запечатленных в движении на фотографиях. Этот метод называется
Мультипликаторы также используют приемы искажения — техники сжатия и растяжения, преувеличения и упреждения, — чтобы приспособиться к низкой частоте дискретизации последовательности кадров. Мейбридж растягивал изображения лошадей в своем предположительно первом фильме (или поручил кому-то проделать эту работу). Таким образом, более справедливо чествовать его как первого, кто использовал ротоскопирование и растяжение, — достижения, если честно, немного уступающие приписываемой ему славе изобретателя кинематографа.
На самом деле наиболее значительным наследием Мейбриджа остались изумительные статичные массивы последовательных фотографий движущихся людей и животных. Они до сих пор широко распространены в виде открыток, плакатов или альбомов с собраниями его работ. Они располагаются в последовательности слева направо и сверху вниз, как пиксельный растр в цифровом изображении.
Рис. 5.4
Аниматоры высоко ценят «растры» Мейбриджа. В начале 1920-х два молодых приятеля Аб Айверкс и Уолт Дисней использовали их как учебные пособия, когда начинали свой мультипликационный бизнес. Мультипликаторы и аниматоры чтят Мейбриджа до сих пор. Сотрудники Pixar даже сделали картинку, которой одновременно спародировали его и отдали ему дань уважения (рис. 5.5). Мейбридж помог Стэнфорду победить в споре, показав, что в одном из кадров все четыре ноги лошади отрываются от земли, а на этой «недавно заново обнаруженной работе» демонстрируется, что одна нога настольной лампы Люксо отрывается от земли на четырех кадрах.
Рис. 5.5 [Пластинка 1292. Детеныш лампы в прыжке. Эдверд Мейбридж, ок. 1889]
Некоторые историки обвиняют барона-разбойника Стэнфорда в попытках украсть у Мейбриджа славу изобретателя кинематографа, но документы свидетельствуют об обратном. Несколько десятилетий назад, рассматривая антикварные издания в букинистическом магазине, я обнаружил большой альбом 1882 года в бархатном переплете под названием «Лошадь в движении». Я вцепился в него, полагая, что это то самое оригинальное исследование Мейбриджа, известное всем, кто интересуется анимацией.
Но все оказалось иначе. Во-первых, автором значился не Мейбридж, а некий Дж. Д. Б. Стиллман, о котором я никогда не слышал. На титульном листе обнаружилось упоминание, что публикацию действительно, как и ожидалось, профинансировал Леланд Стэнфорд. Но где же Мейбридж? Я нашел упоминание о «мистере Мейбридже» уже в первом абзаце предисловия, которое написал Стэнфорд. В приложении, посвященном, «установке мистера Э. Дж. Мейбриджа», описана его техника съемки. И в последнем абзаце вновь упоминается «мистер Мейбридж». Таким образом, он проходит через всю книгу.
Из текста ясно, что Стэнфорда и Стиллмана просто не интересовала фотография. Они считали более важным вопросом теоретические изыскания, касающиеся аллюра лошади. Фотографии Мейбриджа воспринимались не столько как произведения искусства, сколько как результат работы по найму, как средство для достижения цели нанимателя. Стиллман упоминает и о художественном значении, но он имеет в виду только помощь живописцам в точном изображении лошадей. Все дело в лошадях. Так почему же Мейбридж подал в суд на Стэнфорда из-за этой книги?
Ко времени ее публикации он уехал в Париж и провозгласил себя благородным Эдвердом (рис. 5.6, справа). Он хвастался в местном творческом сообществе, что изобрел новый вид искусства и водит дружбу с магнатом Стэнфордом (рис. 5.6, слева). Он удивлял их фотографиями с лошадьми и людьми в движении. Он объявил себя провозвестником эры проекции движущихся изображений, и его превозносили как такового. Он даже отправил в английское Королевское общество Исаака Ньютона статью «О положениях животных в движении» и уговорил запланировать ее публикацию. Но затем вышла книга Стиллмана, где говорилось, что Мейбриджа просто наняли для выполнения фоторабот, а идея сделать снимки лошади в движении принадлежит самому Стэнфорду. Важно отметить, что на титульном листе не стояло имя Мейбриджа. Королевское общество отказалось публиковать его статью, заподозрив автора в плагиате. Он пережил сильнейшее унижение. Некоторые из недавних поклонников называли его мошенником.
Мейбридж проиграл в суде, что по прошествии многих лет кажется большой ошибкой. Стэнфорда заботили только лошади, а Мейбриджа полностью поглотило совершенствование техники фотографии. Идея сделать снимки лошади в движении
Рис. 5.6
Тем не менее богатый Стэнфорд позволил изобретателю Мейбриджу, предоставив ему деньги, оборудование, место для экспериментов и свое покровительство, продемонстрировать миру, что быстро снятые последовательные фотографии, проецируемые в той же быстрой последовательности, создают иллюзию движения. Стэнфорд оплатил все эксперименты, потратив немало денег, но так и не понял, что именно профинансировал. Дело было не в лошадях. А харизматичный Мейбридж успешно продвигал эту идею повсюду, тем самым, возможно, внося свой главный вклад в изобретение кинематографа. Звание «отца кинематографа», как мне кажется, ему не подходит, а вот «Джонни Яблочное Семечко кинематографа» будет в самый раз. Его шоу заинтересовало кинематографом Томаса Эдисона в Америке и повлияло на Марея во Франции, тем самым предвещая грядущее состязание янки и французов[25].
Определение для кино
Исчерпывающее определение понятия «компьютер» помогло нам продраться через густые заросли версий о происхождении компьютеров. Тем самым мы расчистили путь к Цифровому Свету. Воспользуемся этой же техникой, чтобы разобраться в истории кино.
Давайте также прибегнем к еще одному методу, хорошо сработавшему для компьютеров: будем различать аппаратное и программное обеспечение. Для кинематографа программное обеспечение — это фильмы. Мы можем посмотреть «Гражданина Кейна» в кинотеатре, по телевизору или на экране мобильного телефона. Магия, как и в примере с фортепианным этюдом Шопена, кроется в программном обеспечении. Но фундаментальные понятия в этой книге базируются на уважении к нашей современной медиакультуре, которая зависит от интуитивного понимания ее технологических основ — от способности увидеть чудо и красоту в обеих сферах. Поскольку о фильмах — программном обеспечении кинематографа — написано множество книг, мы сосредоточимся на недооцененном аппаратном обеспечении.
Но прежде чем перейти к аппаратному обеспечению кинематографа, давайте остановимся на любопытной особенности программного. Хотя пленка движется в кинопроекторе только в одном направлении, хранящееся на ней программное обеспечение заставляет зрителей воспринимать события, которые перемещают их назад во времени (флэшбеки в «Ирландце») или вперед (на десятки или даже целые тысячелетия, как в «2001: Космическая одиссея»), бесконечно зацикливаются («День сурка») или повторяются с изменением («Расёмон»). Кажется, будто программное обеспечение кинематографа вычисляет с помощью нашего мозга то, что оно не может вычислить, используя аппаратное обеспечение.
Нет общего термина для обозначения всего кинематографического оборудования. Классический кинематограф состоит из трех отдельных элементов: камеры, пленки и проектора. Говоря о кинооборудовании, мы подразумеваем все три, как если бы они составляли единое целое. Это и будет нашим определением. Кинооборудование для кинематографа — то же, что компьютер для программ. Все, что не содержит всех трех компонентов, в лучшем случае почти-кино — как почти-компьютеры из предыдущей главы. Поскольку здесь подразумевается аппаратное обеспечение, я часто буду опускать слово «оборудование» и использовать термины «движущееся изображение» и «кино» как синонимы слова «кинофильм».
Когда мы задаемся вопросом о создателе первого кинофильма, мы не имеем в виду контент. Речь идет о том, у кого появился первый комплект кинооборудования — камера, пленка и проектор, работающие как одна система. Именно это мы подразумевали под кинематографом с точки зрения аппаратного обеспечения большую часть прошлого века. Да и сейчас мало что изменилось. Для Цифрового Света мы используем цифровые камеры, мы храним его в виде цифровых кадров и воспроизводим с помощью цифровых проекторов.
Почему кино работает?
Совсем не очевидно, что кино вообще должно работать. Кинофильм, в отличие от визуального потока в наших глазах, не отличается непрерывностью. Камера фиксирует каждую секунду только 24 неподвижных кадра из визуального потока, отбрасывая все происходящее между ними. Но результат все равно воспринимается нами как исходный поток. Мы видим неподвижное, но воспринимаем его как движущееся. Как же это происходит?
На что было бы похоже кино, если бы мы изобрели его сегодня как одну из составляющих Цифрового Света, начиная с теоремы отсчетов? Ответ, как мне кажется, очевиден: надо разбить визуальный поток на кадры с удвоенной максимальной частотой временнóй волны, а затем использовать хороший «разбрасыватель» при проецировании, чтобы превратить кадры обратно в непрерывный и плавный визуальный поток — так же, как мы превращаем пиксели в единое неподвижное изображение.
Давайте разберем только что сказанное. Во-первых, каковы частоты в визуальном потоке? Какие волны Фурье использовал бы для его представления? Мы должны понять это, прежде чем применим теорему выборки — сделаем выборку с удвоенной частотой. Нам также нужно решить, что означает «самая высокая частота» в визуальном потоке. Затем мы должны выяснить, что такое «хороший разбрасыватель» для проецирования кадров. Что вообще означает «разбрасывание» для отдельного кадра?
В случае со звуком мы имеем дело со звуковыми волнами. Для неподвижной визуальной сцены волны — волнообразные колебания интенсивности света, показанные в главе о Фурье. Вспомните, как мы изучали мой сад с растениями-суккулентами в Беркли. Потребовалась некоторая практика, чтобы «разглядеть» ритмичные пространственные волны, составляющие визуальную сцену. Чтобы «увидеть» волны в визуальном потоке, тоже нужно тренироваться.
Вот несколько упражнений, которые помогут вам обнаружить их. Посмотрите на прогуливающегося по улице мужчину или на совершающую пробежку женщину. Их движения цикличны. Это первое свидетельство существования волн Фурье в визуальном потоке, льющемся в наши глаза. Предположим, что мужчина опускает ногу на землю каждую секунду или делает один полный шаг каждые две секунды. Тогда в волновом варианте потока появится волна с частотой один цикл в две секунды. Предположим, что женщина бежит в два раза быстрее, чем идет мужчина. Тогда в волновой версии возникнет волна с частотой один цикл в секунду.
Можно легко найти и другие примеры: движущийся по улице поток транспорта, вращение автомобильных колес или велосипедных педалей, отбойный молоток, руки дирижера симфонического оркестра, прыгающий мяч.
Нужно совершить гигантский скачок, чтобы перейти от них к волшебной идее Фурье, но давайте сделаем его: все, что вы видите в непрерывном визуальном потоке, поступающем в ваши глаза, — это сумма зрительных волн и только их одних, а суть зрительной волны — это интенсивность света, которая ритмично колеблется в пространстве и во времени.
В главе, посвященной Фурье, мы визуализировали волны, из которых состоит визуальная сцена — неподвижное изображение — в виде гофр, каждая из которых имеет поперечное сечение волны. То есть сечение гофры выглядит как волна, которую очерчивает секундная стрелка часов. К счастью, нам не обязательно «видеть» волны визуального потока — движущейся картинки, чтобы использовать их. И это очень хорошо, потому что волны Фурье визуального потока — четырехмерные, то есть зрительно представить их довольно сложно. Тем не менее давайте попробуем. Рисунок 5.7, показывающий половину одного временнóго цикла и четыре полных пространственных цикла, — это попытка изобразить одну такую волну, но ее интерпретация требует некоторого воображения.
Рассмотрим самую верхнюю гофру на рисунке. Она, как обычно, имеет некоторую частоту и амплитуду. Маленькая стрелка указывает ее амплитуду. Обратите внимание, что ее копия вынесена вправо и повернута на 90 градусов. Мы к ней скоро еще вернемся.
Амплитуда изображенных на рисунке гофр изменяется со временем, которое условно течет вниз по странице. Более того, амплитуда изменяется плавно и непрерывно, как движется секундная стрелка часов. Но нарисовать это у меня не получится, поэтому я обращаюсь к вашему воображению.
Представьте, что, пока вы смотрите, высота волны меняется в соответствии с заданным ритмом. Другими словами, по мере того как вы наблюдаете, все впадины становятся одновременно глубже, затем одновременно мельче, затем одновременно глубже и так далее. Ритм этой пульсации и есть ритм волны. Задача состоит в том, чтобы вы вообразили эту анимацию. Откровенно говоря, для наших целей такой воображаемой анимации вполне достаточно. Это одна из множества волн Фурье, необходимых, чтобы представить визуальный поток.
Рис. 5.7
Тем не менее на рисунке 5.7 я попытался передать эту анимацию. На нем изображена пульсирующая в вашем воображении гофра. Через равные промежутки времени показаны девять гофр — если хотите, девять кадров анимации. Я (снова) призываю ваше воображение поместить еще одну гофру в каждый момент времени между каждой изображенной парой и так далее. Проблема, как вы уже знаете, заключается в том, что для этого требуется аналоговая бесконечность.
Маленькая стрелка показывает амплитуду волны в конкретный момент. Копии этих маленьких стрелок перенесены вправо и повернуты, как описано ранее. Кривая, соединяющая кончики повернутых стрелок, тоже представляет собой волну. Когда вы мысленно добавите еще одну гофру между любой изображенной парой, используйте в качестве ее амплитуды соответствующую точку на получившейся справа волне.
Таким образом, отдельная волна Фурье для визуального потока изменяется как волна (или гофра) в пространстве, а также как волна во времени. Каждая точка на пульсирующей гофре представляет собой интенсивность света. Это колеблющееся желе пространства-времени с волновым ритмом во всех трех измерениях.
Итак, мы разобрались с одной волной. Теперь представьте, что их целое семейство, и каждая из них пульсирует в пространстве (с определенной частотой и амплитудой), а также во времени (с другой частотой и амплитудой). Это, пожалуй, уже выходит за границы воображения. Не трудно догадаться, почему на практике просто используют математику, кратко описывающую то же самое. Согласно великой идее Фурье, полный визуальный поток — это сумма таких совершенных волн множества частот и амплитуд (а также направлений и фаз). Визуальный поток — это музыка пространства-времени.
Согласно теореме выборки — замечательной идее Котельникова, — чтобы точно представить визуальный поток, нам нужно взять в нем выборку, или кадр, с удвоенной максимальной временнóй частотой. Какова может быть эта самая высокая частота? Здесь становится очевидной полная наивность первых создателей кино. Они, не обладая знаниями о самой высокой частоте, просто угадывали. Их больше волновала стоимость кинопленки, а не точность отображения. Более высокая частота кадров увеличивала расход кинопленки. Таким образом, в целях экономии использовали настолько низкую частоту дискретизации во времени, насколько это сходило с рук. Зарождающаяся киноиндустрия довольно быстро (к 1920-м годам) остановилась на 24 кадрах в секунду, что и стало стандартом почти на век.
Но, если говорить об идеальном мире, какая самая высокая частота в визуальном потоке должна волновать нас? Вспомните эмпирическое правило, которое мы обсуждали, говоря о частотах визуальной сцены: у резких краев очень высокие частоты. Мы удаляем любые слишком высокие частоты, слегка размывая сцену перед ее дискретизацией в пиксели. В противном случае выборка будет неудачной, а мы получим раздражающие артефакты, такие как зубчатые диагональные края, называемые ступеньками.
То же самое верно и для визуального потока — визуальной сцены, изменяющейся во времени. С ней работает тот же трюк. Острая «грань» в визуальном потоке — это внезапное изменение направления движения. Снова подумайте о проходящем мимо мужчине. Предположим, он размахивает руками. Момент, когда его рука полностью отводится назад, а затем меняет направление, чтобы начать движение вперед, и есть граница визуального потока. Или рассмотрим прыгающий мяч. Момент отскока — это резкий край в визуальном потоке. Эти края нужно «сгладить», прежде чем делать выборку кадров из визуального потока, тогда теорема отсчетов сработает точно. Другими словами, необходимо удалить слишком высокие временные частоты. В противном случае возникнут раздражающие артефакты, например вращающиеся назад колеса. Позже мы разберем эту проблему более подробно.
Как идеальный кинопроектор реконструирует визуальный поток из отдельных кадров? Как уже говорилось, это делается с помощью теоремы отсчетов по прямой аналогии с тем, как устройство отображения — дисплей — восстанавливает визуальную сцену из дискретных пикселей. Дисплей «разбрасывает» каждый пиксель с помощью разбрасывателя пикселей по пространству и суммирует результаты. Идеальный проектор «растягивает» каждый кадр с помощью растягивателя кадров во времени и суммирует результаты. Итак, что такое растягиватель кадра?
Рисунок 5.8 (вверху) напоминает нам, как выглядит идеальный «разбрасыватель» из теоремы отсчетов. В случае сокселей (звуковых элементов) это расширитель во времени. В случае с пикселями это поперечное сечение — в пространстве — идеального разбрасывателя пикселей. В случае с кинокадрами это поперечное сечение — во времени — идеального растягивателя кадров.
Этот идеальный разбрасыватель не может быть реализован на практике, потому что он имеет бесконечные размеры. Его колебания продолжаются бесконечно в любом направлении. На рисунке 5.8 (в центре) показано приближение, которое мы использовали в главе о Котельникове для практической реконструкции визуальной сцены из пикселей.
Но даже этот приблизительный разбрасыватель не подходит для старомодного мира аналогового кино из-за двух отрицательных лепестков — двух провалов ниже горизонтальной линии. Мы не знаем, как сделать свет проектора отрицательным (менее черным), поэтому мы не сможем реализовать описанный выше расширитель кадров. Однако мы могли бы использовать приближение на рисунке 5.8 (внизу).
Так как большинство не знакомы с идеей «растягивания» кадра, давайте рассмотрим, что она означает. На рисунке 5.9 время движется вправо, и точка в центре горизонтальной линии соответствует текущему времени кадра — момента, когда кадр максимального освещен проектором. Точка слева от центра обозначает время, когда предыдущий кадр достиг максимальной освещенности. Точка справа от центра показывает время следующего кадра — когда он достигнет максимальной освещенности, — и так далее. Если описывать подробно, то свет проектора появляется постепенно, пока идут предшествующие кадры (обозначены точками слева от центра). Он достигает полной интенсивности в момент времени текущего кадра (точка в центре). Затем он постепенно затухает в течение последующих кадров (точки справа от центра). Вот что значит растянуть кадр во времени.
Как вы помните, реконструкция по отсчетам выполняется через применение разбрасывания ко всем отсчетам и суммирование результатов. Здесь возникает некоторая сложность, потому что теперь мы растягиваем отсчет во времени, а не в пространстве. Следовательно, при просмотре текущего кадра мы всё еще видим два предыдущих кадра и начинаем видеть два следующих. Поскольку хорошие «разбрасыватели» перекрывают друг друга, идеальный проектор должен воспроизводить несколько кадров одновременно. Он суммирует их на проекционном объективе и, соответственно, на экране. Выбранный момент (вертикальная линия на рисунке 5.9) происходит непосредственно перед максимальным освещением текущего кадра. Освещенность предыдущего кадра уже упала примерно до одной трети от полной интенсивности, а предыдущего кадра — почти до нуля. Подсветка следующего кадра только начинает проявляться. Кадр после него еще вообще не освещен. Таким образом, четыре кадра вносят свой вклад в проецируемое изображение в выбранный момент. Перед нами, конечно же, текущий кадр, но также он дополняется двумя предыдущими и одним следующим.
Рис. 5.8
Тут нас поджидает сюрприз: такого кинопроектора никогда не было. Хотя теорема выборки утверждает, что такая идеальная киносистема могла бы существовать. Такой проектор реконструировал бы абсолютно плавный непрерывный визуальный поток. Наши глаза эволюционировали, чтобы воспринимать мир, представленный именно таким образом. Столь идеального проектора нет даже сейчас, но наши изыскания показывают, что он вполне реален — кино в эпоху цифровых технологий есть куда стремиться. Нет никаких причин, не позволяющих существовать такой системе.
В реальном мире кино на самом деле лишь отдаленно приблизилось к идеальной системе, но достаточно близко, чтобы работать — и работать весьма неплохо. Посмотрим, как оно работало со всеми своими изъянами.
Из-за каких действий (или бездействия) изобретателей кино система, которую они нам оставили, оказалась столько далека от идеала? Во-первых, они не дали нам мгновенных отсчетов, как того требует теорема выборки. Кинокадры на самом деле не мгновенные. Они имеют определенную продолжительность. Затвор камеры открывается на определенное, хотя и короткое время — его называют временем экспозиции кадра. Движущийся объект перемещается за этот интервал и поэтому слегка размазывается по кадру в течение времени экспозиции. Нечто подобное происходит, когда вы делаете снимок с длинной выдержкой, на котором ваш ребенок бросает мяч, — в результате его рука получается размытой. Для кино это оказывается спасительной благодатью и нередко намеренно практикуется.
Рис. 5.9
Во-вторых, они сделали так, чтобы каждый кадр проецировался дважды (как минимум). Ой! Этого вообще нет в теореме выборки. Почему изобретатели кино так поступили? Они руководствовались простой экономикой: 24 кадра в секунду — это вдвое меньше дорогой пленки, чем 48 кадров в секунду. Но глаз должен получать изображение примерно 50 раз в секунду, иначе картинка на сетчатке будет исчезать между кадрами. На самом деле в темном зале кинотеатра для нужного эффекта вполне хватит и 48. Как из 24 получить 48? Демонстрировать каждый кадр дважды! Если показывать только 24 кадра в секунду, экран мерцает. Это происходило со всеми первыми фильмами — кинематограф до перехода на более высокую частоту кадров при проекции даже получил жаргонное название «мерцающие картинки» (flicks).
Третье, что сделали первые изобретатели, — перекрыли свет между проецируемыми кадрами. 48 раз за секунду в глаз — внутрь зрачка, на сетчатку — не проецировалось ничего или, говоря иначе, проецировалась темнота. Для кинооборудования — как для камеры, так и для проектора — полезно между кадрами закрывать затвор до черноты. Это дает время для механического перемещения следующего кадра на пленке в нужное положение. В кинокамере это не позволяет пленке записывать реальный мир во время физического продвижения пленки. В проекторе это не дает появиться на экране изображению движущейся пленки в момент ее перемещения к следующему кадру.
Когда речь заходит о работе кинопроектора, некоторые описывают ее примерно так: есть две катушки — верхняя, подающая пленку, и нижняя, принимающая. Пленка перемещается с катушки на катушку и проходит между источником света и объективом проектора, который увеличивает изображение до размера экрана. Другими словами, пленка непрерывно движется мимо источника света. Но работает не так. Глаз видит именно то, что находится перед ним на самом деле. Если проектор будет сделан по такой схеме, мы увидим, как один кадр уходит вниз, а следующий кадр появляется сверху. Перед нами предстанет движение пленки, а не кино. Так что принцип работы проектора явно иной.
На самом деле проектор перемещает каждый кадр в фиксированное положение при заблокированном источнике света. Это функция затвора. Затем затвор открывается, и освещенный кадр проецируется на экран. Затем затвор закрывается. Затем снова открывается, и кадр еще раз проецируется на экран. Затем затвор закрывается, происходит перемещение следующего кадра, и так далее.
Мы только что описали дискретное (прерывистое) движение пленки через проектор — непрерывное движение невозможно. Та же идея работает и с камерой. Физическое устройство, реализующее это прерывистое движение, называется
Напомним: реальный кинопроектор не реконструирует непрерывный визуальный поток из идеальных отсчетов и не воспроизводит его перед нашими глазами. Вместо этого он отправляет «широкие отсчеты» — кадры, имеющие некоторую продолжительность во времени, с размытым движением — прямо на сетчатку. Он отправляет каждый кадр дважды, а между ними — темнота. Мозг сам реконструирует движение на основе входных данных. Как же это работает?
Каким-то образом система «глаз — мозг» «реконструирует» зрительный поток из «широких отсчетов», которые она получает. Конечно, в действительности все происходит иначе. Интенсивность света поступает через зрачок в качестве входных данных. Но информация из глаза в мозг передается через зрительный нерв серией электрохимических импульсов. Последовательности нейронных импульсов — это не визуальный поток. Возможно, сетчатка действительно реконструирует его, а затем преобразует в последовательности импульсов для мозга. Форма электрической реакции некоторых нейронов глаза, безусловно, указывает на наличие у них функции разбрасывателя, представляя собой высокий положительный горб с отрицательными лепестками. Но деятельность мозга выходит за рамки этой книги. Давайте лучше попробуем объяснить, как воспринимается движение из последовательностей неподвижных снимков.
Классическое объяснение ссылается на старое понятие
Психофизики проводили эксперименты, чтобы определить характеристики еще одного феномена мозга, который называют
Инерция зрения такова, что мы всё еще воспринимаем первое изображение, когда появляется второе. Это очень похоже на описанное ранее преобразование идеального кадра согласно теореме Котельникова. Кадр небольшой продолжительности растягивается во времени и добавляется к следующему кадру, тоже растянутому во времени. Сетчатка как будто выполняет «разбрасывание» изображения и сложение последовательных «растянутых» кадров. Что-то подобное, по-видимому, должно происходить, потому что мы воспринимаем непрерывный визуальный поток, хотя кинопроектор его не создает. Вы можете думать о форме функции инерции зрения как о разбрасывателе кадров, встроенном в человека видящего. Есть и другое свидетельство, что система «глаз — мозг», предположительно, выполняет реконструкцию, которая неявно использует теорему выборки. Оно заключается в том, что мы воспринимаем именно те ошибки, которые можем увидеть в реальности, — например, колеса телеги, вращающиеся в обратном направлении.
Классическая анимация — старые добрые рисунки тушью на целлулоиде — основана на феномене кажущегося движения. Мультипликаторы старой школы интуитивно знали, как удерживать последовательные фазы движения в границах «не слишком далеко и не слишком медленно». Если им требовалось выйти за эти пределы, в ход шли хитрости и уловки, помогающие нам воспринимать движение. Мультипликаторы рисовали «линии скорости», которые подсказывали мозгу направление движения и, как размытие, намекали на высокую скорость. Или они создавали —
Если превысить пределы кажущегося движения без использования хитростей из старых мультфильмов, результаты будут ужасны. Возможно, вы видели подобное в покадровой анимации старой школы, например в сцене из классического фильма Рэя Гаррихаузена «Ясон и аргонавты» 1963 года, где скелеты сражаются на мечах, — движения персонажей там очень дерганые. Изображение двоится или троится. Вы видите несколько положений скелета одновременно и сознательно интерпретируете их как движение, но смотреть на это мучительно. Изображения движутся рывками, «дрожат» или, как еще говорят, «стробируют». Эти слова отражают, насколько дискомфортно смотреть на такое движение.
Фильмы с живыми актерами — это тоже последовательность отдельных кадров, как и мультипликация. Почему же мы не видим рывков или «стробирования» в них? (Представьте, что Уме Турман во время боя на мечах нужно держаться в пределах «не слишком далеко и не слишком медленно».) Этому есть простое и красивое объяснение. Оно называется
Те из нас, кто вырос на старых вестернах, наверняка видели колеса, которые крутятся в обратную сторону. Колесам дилижансов или паровозов отводилось на экране немало места и довольно много времени, потому что классический вестерн немыслим без погонь. Бандиты в широкополых шляпах постоянно преследуют почтовый дилижанс (или почтовый вагон), везущий месячную зарплату целого шахтерского городка золотыми монетами. К сожалению, колеса почти всегда вращались с неправильной скоростью, а часто даже назад.
Телевидение тоже передает изображения покадрово, поэтому, когда оно появилось и стало транслировать вестерны в дневном эфире, мы продолжали наблюдать, как колеса крутятся назад. Даже сегодня в рекламе автомобилей нередко показывают колеса, вращающиеся с неправильной скоростью или даже задом наперед, но это остается практически незамеченным. Современные режиссеры умело прячут их за облаками пыли или стратегически расставленными растениями и камнями. Или они переходят в режим замедленного движения, когда колеса въезжают в центр экрана так, что кажется, будто они вращаются правильно. А иногда режиссеры вообще ничего такого не делают. Мы все так часто с детства видели этот артефакт, что просто не замечаем его.
Но почему колеса крутятся назад? Теорема отсчетов не оставляет сомнений: мы должны делать выборку, удвоив самую высокую частоту движения, которое снимаем. Возвращаясь назад, какое самое быстрое движение можно представить при 24 кадрах в секунду, традиционной частоте дискретизации фильмов? Только то, что изменяется не быстрее 12 раз в секунду.
Представьте себе переднее колесо дилижанса — вроде того почтового дилижанса Баттерфилда, из которого когда-то выбросило Мейгриджа в Техасе. Для удобства предположим, что оно 12 футов (3,7 метра) в диаметре и у него 12 спиц. Каждый раз, когда повозка продвигается вперед на 1 фут (треть метра), колесо совершает одну двенадцатую полного оборота, а следующая спица оказывается в том же месте, где находилась предыдущая. Итак, после одной двенадцатой полного оборота колесо выглядит точно так же, как до него.
Если бы лошадь тянула дилижанс со скоростью 12 футов в секунду, волна Фурье визуального потока изменялась бы со скоростью 12 циклов в секунду. Следовательно, фильм с 24 отсчетами (кадрами) в секунду еле-еле способен отобразить дилижанс, движущийся со скоростью 12 футов в секунду. Но это всего лишь около 8 миль (примерно 13 километров) в час. Чуть быстрее — и начинаются странности. Поскольку скачущая лошадь развивает скорость от 25 до 30 миль в час, бандитос наверняка заставят колеса дилижанса вращаться быстрее. Таким образом, даже идеальный фильм, работающий со скоростью 24 кадра в секунду, не может точно отобразить колеса, которые крутятся быстрее, чем при размеренном уличном движении.
Но мы знаем, что фильм возникает внутри системы «глаз — мозг». Феномен кажущегося движения, которое наш мозг использует для воссоздания движения по двум неподвижным изображениям, также определяет, какое направление движения мы воспринимаем. В случае с вращающимися объектами мозг получает информацию о двух положениях спиц колеса и фиксирует движение между ними, особенно если ему помогает размытие. Он определяет направление движения по взаимному положению двух образцов. При этом он выбирает кратчайший путь между ними.
Если спица в положении 2 находится рядом, на небольшом угловом расстоянии от спицы в положении 1 по часовой стрелке, мозг предполагает, что колесо вращается по часовой стрелке. Если рядом, но против часовой стрелки — мозг предполагает, что колесо вращается против часовой стрелки. Следовательно, есть вероятность, что мозг перепутает движение вперед и назад, поскольку он видит только отдельные кадры, а не плавный визуальный поток между ними.
Как в идеальном, так и в реальном кинофильме задействована теорема выборки, так что при достаточно высокой скорости неизбежно появятся артефакты. Если нам не удается сделать кадры с (более чем) вдвое большей частотой, чем максимальная частота временных волн в визуальном потоке, придется поплатиться. Неправильное движение, например вращение назад или слишком медленное — вперед, предстает под маской ложного визуального отображения и на языке частот называется
Блок-схема ранних кинематографических систем
Нет! Категорически нет! Нет и никогда не было изобретателя Живых Картин.
Как и в случае с компьютерами, нам потребуется сложная блок-схема, чтобы хотя бы немного разобраться в ранней истории киноаппаратуры. Она позволит нам увидеть сложные взаимодействия людей, концепций и устройств. Конечно, нам снова придется несколько упростить реальную историю. Многие имена, устройства и страны опущены, чтобы уменьшить путаницу с ответвлениями, но все же в ней остается достаточно деталей, чтобы передать, как тяжело разрабатывалась столь важная технология. Как и в случае с компьютерами, о других участниках состязания и их изобретениях можно узнать из комментариев.
Упрощенная блок-схема компьютерной истории из предыдущей главы содержит упоминания только тех людей и разработок, которые в итоге оказались значимы для Цифрового Света. Здесь (рис. 5.10) мы применяем аналогичное упрощение и останавливаемся только на тех системах, которые похожи на доминирующую систему кино, использовавшуюся до начала нового тысячелетия на протяжении всего XX века (c 1895-го по 2000-й). Мы относим к «докинематографу» те системы, которые не использовали пленку или не имели покадровой протяжки, — что-то вроде зоотропа или зоопраксископа, основанных на простом вращении.
Наиболее серьезное упрощение состоит в полном исключении из блок-схемы фотохимических технологий создания кинопленки. Все упомянутые системы полностью зависели от нее. Целлулоидная пленка стала ключевым фактором для первых киносистем. Это довольно проблемный носитель. Пленку было легко порвать или поцарапать, она быстро скручивалась по краям от высоких температур, а многие химические вещества представляли для нее опасность. Изобретателям пришлось создавать кинопленку с коротким временем экспозиции — то есть высокой чувствительностью к свету — и высоким разрешением. Также требовалось обеспечить простоту и надежность проявки и печати. Столь сложные задачи стали настоящим кошмаром для изобретателей, но это не имеет никакого значения для истории Цифрового Света, заменившего кинопленку невидимыми битами.
И снова, как и в случае с компьютерами, мы используем метафору Олимпийских игр, чтобы оценить достижения множества игроков. На этот раз основные команды — это янки и французы. Игроки, обозначенные на блок-схеме, внесли вклад в становление пяти знаменитых киностудий: Edison, Biograph, Lumière, Gaumont и Pathé. Более подробная схема, учитывающая всех, кто повлиял на развитие раннего кинематографа, обязательно включала бы множество других изобретателей и приборов, а также команды еще по крайней мере двух других стран — Британии и Германии.
Рис. 5.10 (левый)
Возможно, самым интригующим персонажем, не указанным здесь, будет Луи Лепренс, выступавший за Францию, Англию и США. Он снял первые полноценные короткометражные киноролики — «Сцена в саду Раундхэй», «Движение транспорта по мосту Лидс» и «Аккордеонист» — в Англии в 1888 году. Их до сих пор можно найти в интернете в виде цифровых реконструкций. В 1890 году, вернувшись во Францию, он отправился навестить брата в Дижон, после чего собирался вернуться поездом в Париж, откуда затем отправиться в Нью-Йорк, чтобы продемонстрировать там свое изобретение. Но он так и не добрался до США — он даже не появился в Париже. Он просто исчез. Семья Лепренса полагала, что Эдисон, считая его серьезным конкурентом, заказал его устранение, — версия маловероятная, но свидетельствует о тиранической репутации Эдисона. К 1889 году Лепренс уже располагал первой полноценной киносистемой, состоявшей из камеры, пленки и проектора. Но это не имеет значения, поскольку, по-видимому, его изобретения не повлияли на дальнейшее развитие кинематографа.
Следующая часть этой главы состоит из расширенных описаний к элементам блок-схемы — сначала про американцев, а затем про французов. Но главный посыл, наверное, уже ясен: история, представленная здесь, сложна и содержит множество деталей. Следовательно, мы должны немедленно поднять красный флаг, как на автогонках, если услышим, что кого-то одного называют отцом или изобретателем кино. Еще важно учесть, что 1895-й стал годом создания кино, точно так же как 1948-й стал годом создания компьютера. А еще в 1895 году появились проекторы и первые реализации полноценных киноаппаратов с использованием лент целлулоидной пленки.[27]
Янки
Имя и участие Эдисона гарантировали широкое внимание прессы. ‹…› Не только устройство [витаскоп] получило его полное одобрение, но и сам Волшебник из Менло-Парка был готов сыграть возложенную на него роль изобретателя [хотя он им и не был].
Меня воспитывали на истории американского гения Томаса Эдисона, поэтому я очень удивился, узнав, что легенда, называющая его изобретателем кино, не проходит проверку фактами. Первый удар нанес в 1961 году историк кинематографа Гордон Хендрикс в книге с говорящим названием «Миф о кинематографе Эдисона». Во вступительном абзаце Хендрикс обозначил свою первую цель: начать «расчистку зарослей густо переплетенных легенд, которыми пронизана история зарождения американского кинематографа». Второй целью он провозгласил «до некоторой степени отдать должное работе, проделанной У. К. Л. Диксоном». Последующие историки американского кино, опираясь на исследования Хендрикса, несколько смягчили ярость его нападок на Эдисона, сохраняя почтение к Диксону. Совсем недавно Пол Шпер, эксперт в области кино Библиотеки Конгресса, выпустил первую научную биографию Уильяма Кеннеди Лори Диксона. Хотя Шпер упоминает о «проблеме безжалостного, даже злодейского поведения Эдисона», он оправдывает его деловую практику как соответствующую его времени. Тем не менее получившийся в результате образ Эдисона крайне далек от той героической фигуры, которую я воображал, будучи ребенком.
Эдисон любил, когда его называли Волшебником из Менло-Парка, что американская публика делала с удовольствием. В Менло-Парке, штат Нью-Джерси, располагалась одна из легендарных лабораторий Эдисона. Он создал там прекрасные условия для технологий и бизнеса. Нетерпеливые молодые изобретатели со всей Америки стекались к нему. Эдисон превосходно рекламировал свои лаборатории и самого себя, он с удовольствием выступал олицетворением всех сделанных там открытий и всех изобретателей, выполнявших всю работу. Таким образом он сколотил огромное состояние, а если его сотрудники не справлялись с поставленными задачами, деловые партнеры скупали чужие патенты, заменяли имена изобретателей на Эдисона и громили конкурентов в патентных судах. Некоторые из его сотрудников, наивные изобретатели, в частности Диксон, в конце концов замечали, что не получают признания, и расставались со своим покровителем, иногда совсем не по-дружески.
Несомненные параллели со Стивом Джобсом, соучредителем Apple, весьма поучительны. Его имя тоже оплетено зарослями легенд. После того как его выгнали из Apple, он стал соучредителем компании Next, расположенной в Редвуд-Сити в Калифорнии, рядом с Менло-Парком. Впоследствии Next выкупила Apple, а Джобс, вернувшись туда, как известно, радикально все перестроил, блестяще используя изобретения и проекты энергичных молодых креаторов, которые он объявлял своими. Он не обязательно заявлял об этом напрямую, но, как и Эдисон, никогда не отказывался от похвалы, когда их обожающая публика или отдел маркетинга приписывали ему чужие идеи. Он сокрушал своих конкурентов в патентных войнах и заработал кучу денег. Мы вполне могли бы назвать Джобса «волшебником из Менло-Парк-Уэст», поскольку он создал благоприятную среду для талантливых изобретателей и приписал себе их заслуги.
Например, Джонатан Айв (ныне сэр Джонатан Айв) разработал iMac, iPod и iPhone. Нет, их создал не Стив Джобс. Но Джобс тесно взаимодействовал с Айвом и всячески поддерживал его. Эти устройства появились благодаря усилиям их обоих, а еще многих других. Конечно, Джобс — настоящий гений маркетинга продуктов Apple, эдакий Джонни Яблочное Семечко. Но, как и в случае с Эдисоном, он в первую очередь продавал быль о самом себе. Как вы, наверное, уже поняли, превозносить одного человека за сложное технологическое достижение всегда ошибочно.
Мейбридж — еще один великий маркетолог, тоже своего рода Джонни Яблочное Семечко. Хотя он не создал достаточно продвинутую систему, чтобы коммерчески использовать начавшийся ажиотаж, он с большим мастерством продавал по всему миру идею проецируемых движущихся изображений. Его рекламная кампания особенно сильно воздействовала на Эдисона. Под ее влиянием он задумался, как лучше снимать фильмы.
Они даже встречались пару раз в 1888 году, когда Мейбридж отправился в тур со своими выступлениями. У них родилась идея соединить зоопраксископ, усовершенствованный волшебный фонарь Мейбриджа, с набиравшим популярность фонографом Эдисона и получить говорящие изображения. Как показала последующая работа Диксона, задумка оказалась весьма сомнительной. На самом деле успешные говорящие и движущиеся картинки появятся не раньше чем через несколько десятков лет. Но сама по себе идея была хороша.
Эдисон быстро пришел к выводу, что подход Мейбриджа — даже если отбросить безуспешные попытки добавить аудиокомпонент — нежизнеспособен. У Мейбриджа не было нормального кинооборудования. И, самое главное, Эдисон прекрасно понимал, что фильм продолжительностью всего пару секунд не будет коммерчески успешным, когда пройдет первоначальная эйфория. Поэтому он немедленно сделал набросок более удачной идеи. В буквальном смысле. Он подготовил грубый эскиз — официальную часть того, что тогда называли латинским словом
На эскизе демонстрировался другой способ сделать движущиеся изображения говорящими. Фонограф Эдисона записывал звук на спиральной дорожке, расположенной на поверхности покрытого воском цилиндра, — примерно так же нить наматывается на катушку. Для кинофильмов Эдисон предложил записывать вдоль дорожки последовательность крошечных изображений. Когда цилиндр вращается, через увеличительное стекло, направленное на его поверхность, можно наблюдать последовательность изменяющихся картинок. Из этой заявки произрастает идея кинетоскопа. Проблемы звука оказались отложены в долгий ящик — по крайней мере на пару десятилетий.
Реализацию своего эскиза Эдисон (в своей знаменитой позе «Наполеона изобретений» на рисунке 5.11, слева) поручил Диксону (в позе «гордого аристократа», рисунке 5.11, справа) а сам отправился в грандиозное турне по Европе. Таким образом, Диксон, работавший в лаборатории Эдисона, приступил к созданию своеобразной киносистемы, не имевшей практически ничего общего с первоначальным наброском. В ней использовались кинокамера, кинетограф, а еще пленка в виде длинных полос (а не крошечные изображения), расположенная вдоль спирали на цилиндре. Но системе не хватало проектора. Вместо него применялся прибор, который по-английски называют «пип-шоу» или «никелодеон», а в русском языке устоялось наименование «кинетоскоп», — устройство, позволяющее просматривать изображения одному зрителю. Система Эдисона с кинетографом и кинетоскопом все еще относилась к почти-кино, но уже гораздо сильнее приблизилась к современному кинематографу, чем устройство Мейбриджа. И, конечно, она оказала огромное влияние на мир.
Рис. 5.11
Диксону пришлось покинуть Эдисона, чтобы создать полноценную киносистему с проектором. Расставание прошло не на дружеской ноте. Отношения Диксона и Эдисона стали, мягко говоря, натянутыми. Но так дело обстояло не всегда — даже на пороге 1895 года, когда кино действительно появилось.
Я верю, что в ближайшие годы, благодаря моей собственной работе и работам Диксона, Мейбриджа, Марея и других, которые, несомненно, будут работать в этой области, гранд-опера сможет даваться в Метрополитен-опера в Нью-Йорке без каких-либо существенных изменений по сравнению с оригиналом, когда ее художники и музыканты давно умрут.
Биография Томаса Альвы Эдисона отвечает на спрос, который глубоко укоренившийся общественный интерес, вызванный блестящими изобретениями Эдисона, создал для познания личности и жизни этого величайшего из ныне живущих изобретателей.
Он часто использовал только свои инициалы У. К. Л., но в семье его звали Лори. Он определенно не называл себя Уильямом, Уиллом, Биллом или Билли. Он придерживался строгой формальности, раздражавшей настоящих американцев. Четыре имени! Зачем ему столько, если не из-за британского высокомерия? Это, безусловно, раздражало и Эдисона, который ради шутки намеренно ошибочно писал его фамилию Dixon вместо Dickson. Один из его коллег постоянно назвал его — и, ясное дело, вовсе не из пиетета — «достопочтенным» Уильямом Кеннеди Лори Диксоном.
Историки — даже те, кто восхвалял достижения Диксона, — считали его спесивым гордецом, превозносившим свой гений и преувеличивавшим свои заслуги. Даже его первый биограф Хендрикс не удержался и перечислил 50 самых известных лживых высказываний Диксона. Сам Диксон умудрялся разжигать неприязнь и подпитывать недоверие автобиографическими пассажами вроде того, что приведен ниже. Американцам или его коллегам из Менло-Парка все это казалось хвастливыми выдумками:
Уильям Кеннеди Лори Диксон родился во Франции и получил образование в Англии. Его отец Джеймс Диксон был выдающимся английским художником и литографом; но помимо него в списке его предков значились многие выдающиеся художники, в том числе великий Хогарт. Его матерью была мисс Элизабет Кеннеди-Лори из Вудхолла, Киркадбрайт, в Шотландии, известная не только научными и музыкальными талантами, но и своей неотразимой красотой. Она происходит из славного рода Лори Максвеллтонов, увековеченных в знаменитой балладе «Энни Лори», и не менее славного рода Робертсонов из Строуэна, имеющего родственные связи с Арчибальдом Кеннеди, графом Кассилисом, герцогами Атолла и королевским родом Стюартов.
Но на самом деле, как ни удивительно, большая часть из этого — правда, даже родство с венценосными Стюартами. Старинные родословные многих его предков вписаны в классические аристократические реестры Соединенного Королевства, такие как Каталог поместного дворянства и Книга пэров Берка. В четырех именах отражалась его родословная. Двух его прямых предков по отцовской линии звали Уильям Диксон, а двух предков по материнской линии — Уильям Бэйли Кеннеди Лори и Уильям Кеннеди Лори. Так что для него были важны все четверо.
Однако не менее показательно, что некоторые факты в автобиографиях он неизменно опускал. Как и его дальняя родственница Элизабет Барретт Браунинг, Диксон происходил из семьи карибских плантаторов, сколотивших состояние на сахарном тростнике, который собирали и обрабатывали тысячи рабов. Поэтому неудивительно, что, когда в 1879 году восемнадцатилетний Диксон вместе со своей матерью иммигрировал в Америку, они сначала поселились недалеко от Ричмонда, штат Вирджиния, на юге Америки. Диксон вскоре женился на девушке из старинной семьи конфедератов. Всю оставшуюся жизнь он предпочитал умалчивать о рабовладельческом прошлом своих предков.
Аристократичный и, вероятно, высокомерный англичанин французского происхождения с замашками южанина и с рабовладельческим прошлым не слишком подходил на роль настоящей американской легенды. Эдисон, в свою очередь, казалось, сошел со страниц романа Горацио Элджера: мальчишкой он продавал на улицах газеты, чтобы заработать на жизнь, затем изобрел электрическую лампочку и фонограф, в итоге став американским гением и отцом кинематографа. Вокруг Эдисона сложился миф, который он старался всячески поддерживать. Но факты, увы, не подтверждают легенду.[29]
Диксон, а не Эдисон, спроектировал и построил первую работавшую кинокамеру — кинетограф, который обычно называют (разумеется) «кинетограф Эдисона». В работе над изобретением ему помогали другие сотрудники лаборатории Эдисона, особенно Джон Отт. Блок-схема полностью не передает, насколько значимым оказался вклад Диксона в кинематограф. Например, он также спроектировал и построил первую киностудию. Она называлась «Черная Мария» (по аналогии с фургоном для перевозки заключенных) и располагалась на территории лаборатории Эдисона в Оранже, штат Нью-Джерси, недалеко от Менло-Парка. Диксон был сценаристом, режиссером и оператором множества самых первых кинофильмов — в период с 1890о по 1903 год он снял их более 300. Они, конечно, из-за ограниченных технических возможностей были короткими (не более минуты), немыми и черно-белыми. Диксон снимал документальные фильмы о спортсменах, боксерах, входящих в гавань кораблях, кузнецах, папе римском Льве XIII, коронации Эдуарда VII, парикмахерской. Он специализировался не только на аппаратном, но и на программном обеспечении, хотя и не явил миру потрясающих художественных достижений в кинематографии. Великое повествовательное искусство кино было еще впереди.
Еще один набросок Эдисона, воплощенный Диксоном и Оттом, — это кинетоскоп Эдисона. Несмотря на корень «скоп», это еще не кинопроектор. Через созданное ими устройство можно было показывать кино одному зрителю — как бы для подглядывания, пип-шоу. Деловые партнеры Эдисона вполне успешно взяли на вооружение его разработку. Дополнив конструкцию монетоприемником, они устанавливали десятки таких аппаратов с разными фильмами на выставках и в специализированных залах (рис. 5.12).
Фактически разработка кинетоскопа задержала вхождение Эдисона в мир кино. Он даже отверг идею Диксона создать проектор для публичных показов. Он не хотел сводить на нет коммерческий успех кинетоскопов. Его отказ имел два глобальных последствия. Во-первых, его компания опоздала с созданием полноценной киносистемы. Другие команды к 1895-му — году появления проектора — уже разработали устройства для публичной демонстрации кино, и в дальнейшем братья Люмьер из Франции составят особенно серьезную конкуренцию в гонке за титул изобретателей кинематографа. Во-вторых, Эдисон лишился Диксона именно из-за этого своего решения, поскольку существовали компании-конкуренты и проекторами
Деловые партнеры Эдисона быстро поняли, что кинетограф
Важно отметить, что не указанный в блок-схеме Диксон почти единолично отвечал за часть «киносистемы Эдисона», ставшей настоящим брендом. Именно он разработал носитель, очень похожий на кинопленку, использовавшуюся до недавнего прошлого, — с двусторонней перфорацией (четыре отверстия на кадр) и шириной около 35 миллиметров. Он проделал чрезвычайно сложную работу, а его изобретение стало фундаментальным событием в истории кино, хотя теперь постепенно поблекло в беспленочном Цифровом Свете. Диксону принадлежала одна из ключевых ролей в битве за разработку рулонной целлулоидной пленки и проектора.
Рис. 5.12
Возникающий на блок-схеме гордиев узел будет гарантированно разрублен, если осознать, что Диксон приложил руку ко всем разработкам американцев, кроме витаскопа Дженкинса — Армата. Менее очевидно, что он также косвенно участвовал во многих французских разработках: братья Люмьер создавали свою систему как прямой ответ на кинетоскоп Эдисона. Формат 35-миллиметровой перфорированной пленки, усовершенствованный Диксоном, приняли за основу Gaumont и Pathé. А британец Роберт Пол построил и продал Pathé копию кинетоскопа. Впрочем, на них мы подробнее остановимся в разделе, посвященном французам.
Диксон разрабатывал проекторы с двумя другими группами, не относящимися к лаборатории Эдисона. Этим он занимался еще в то время, когда официально работал на Эдисона. Историки так и не определились, противоречит ли его поступок коммерческой этике. Диксон, видимо, не считал, что нарушает какие-либо нормы, хотя Эдисон расценивал его деятельность как предательство. В 1926 году, в возрасте 65 лет, Диксон писал Эдисону: «Правда выйдет наружу. Это напоминает мне о том, что старый слух о моей неверности вам всплывает время от времени и всегда будет препятствовать прогрессу, если вы не опровергнете его».
Эдисон сделал на письме пометку: «Он был изменником. Думаю, нам лучше не отвечать» — и приказал секретарю убрать его в архив.
Вне рамок работы у Эдисона Диксон сначала сотрудничал с отцом и сыновьями Латамами, а также с бывшим сотрудником Эдисона Эженом Лаустом, который участвовал в создании кинетоскопа. Отношения Диксона и Латамов, вероятно, ограничивались консультациями. В любом случае, он никогда не заявлял о них публично. Лауст помогал в создании проектора «эйдолоскоп» — по крайней мере, так считают некоторые историки. Это один из спорных моментов в истории кинематографа. Тем не менее его первый публичный показ состоялся в апреле 1895 года (под исходным названием «паноптикон»). Первые коммерческие показы начались в мае, что делает его вторым проектором в мире, который осуществлял публичные показы (лишь слегка уступив синематографу братьев Люмьер с первой демонстрацией в марте), и первым проектором, при помощи которого проводили коммерческие сеансы.
1895-й действительно был годом чудес в истории кино. В мае Латамы провели коммерческую демонстрацию эйдолоскопа, в октябре Дженкинс и Армат презентовали фантаскоп, что стало вторым коммерческим сеансом в истории кинематографа. Рафф и Гэммон, основные концессионеры Эдисона, переименовали фантаскоп в витаскоп Эдисона. В декабре французы Люмьеры со своим синематографом стали четвертыми, кто провел коммерческий киносеанс (третьим был Макс Складановски из Германии с аппаратом под названием «биоскоп» — показ состоялся в ноябре). Таким образом, в 1895 году действительно произошел прорыв и появилось полноценное кино в том виде, в каком мы его знаем. Гонка началась.
В этот год Диксон ушел от Эдисона. До самой смерти Диксон так и не простил Эдисону, что тот отказал в общественном признании его заслуг. Лишь в возрасте 71 года Диксон констатировал: «Я вижу во многих газетах и журналах, что мне наконец, после смерти Эдисона и Истмана, стали отдавать должное за мои новаторские труды во время работы у Эдисона по созданию первого фильма и современного кинематографа».
Диксон официально покинул лаборатории Эдисона в 1895 году, чтобы присоединиться к KMCD Syndicate, другой независимой команде. Название складывалось из инициалов участников: К — Элиас Купман, М — главный бизнесмен группы Гарри Марвин, C — Герман Каслер, который стал главным конструктором и инженером вместе с Диксоном, естественно, обозначенным буквой «D». Они познакомились друг с другом во время ежегодных визитов на один и тот же курорт на севере штата Нью-Йорк, а затем вместе разработали и начали продавать один из модных в те времена технических гаджетов — детективную фотокамеру, которая выглядела как карманные часы на цепочке. Компания, которую организовали друзья, оказала огромное влияние на киноиндустрию, но не оставила заметного следа в истории шпионского оборудования.
В составе команды и, несомненно, при активном участии Диксона Каслер разработал кинокамеру, получившую название «мутограф». Затем они приспособили ее механизм к кинопроектору, который нарекли «биографом». Компанию тоже назвали Biograph. Диксон знал, как обойти патенты Эдисона, и стал для него самым серьезным конкурентом в Америке.
Французы
Правая часть блок-схемы истории кино посвящена другой команде — французам. Даже беглый взгляд позволяет увидеть плотную сеть взаимосвязей между основными игроками. История их изобретений не менее сложна, запутанна и опасна, чем у американцев. Начнем сверху, с Этьена-Жюля Маре. Для французов он занимает то же место вдохновителя и изобретателя докинематографа, что и Эдвард Мейбридж для американцев. На самом деле Марей и Мейбридж оказывали сильное взаимное влияние друг на друга в годы, предшествовавшие чудесному 1895-му, году появления кинопроектора.
Марей знал, что все четыре копыта лошади могут одновременно находиться в воздухе. Он знал это еще до того, как увидел знаменитые фотографии Мейбриджа и сам научился останавливать мгновение — быть хронофотографом. Хронофотография в том виде, в каком ее практиковали Марей и Мейбридж, существовала до появления настоящих киносистем, а значит, относилась к докинематографу.
Об отрывающихся от земли копытах Марей узнал вовсе не по фотографиям. Примерно в 1873 году он провел реальные физиологические эксперименты с помощью приборов, закрепленных на копытах живых лошадей. Результаты он изложил в статье, опубликованной в
Мейбридж, Марей и Стэнфорд знали друг о друге. Мейбридж сделал первую фотографию скачущей лошади с четырьмя копытами над землей в Калифорнии, примерно в 1872 или 1873 году, но она не сохранилась. Вероятно, снимок вышел не особо удачным, раз Стэнфорд снова нанял его, чтобы сделать такую же фотографию (вероятно, на этот раз более успешно), после прочтения статьи Марея в
Один из распространенных мифов о кино гласит, что Эдисон, увидев, как Марей использует фотоленту, отказался от записи кадров на цилиндры и решил последовать его примеру. Однако Эдисон знал о фотоленте еще до визита во Францию в 1889 году. Возможно, Диксон даже продемонстрировал ему экспериментальный кинетограф с лентой до поездки в Европу. Тем не менее именно после возвращения из триумфального тура Эдисон сделал еще один грубый эскиз для очередной предварительной заявки в патентное ведомство. Он изобразил пленку с отверстиями по обоим краям. Опять же именно Диксон кропотливо воплотил эту простую идею в самый распространенный формат кино XX века.
Рис. 5.13
В 1890 году Марей запатентовал хронофотографическую пленочную камеру. Она могла через короткие промежутки делать снимки на неперфорированную целлулоидную пленку. Позже в том же году он продемонстрировал в Академии наук пленку с фотографиями скачущей лошади! Возможно, в разработке участвовал его преданный помощник Демени. Теперь мы познакомимся с командой французских изобретателей и узнаем в том числе и о Демени.
Кинематографическая индустрия, как уже к тому времени ощутили Демени, Латамы, Армат и Дженкинс, не могла возникнуть без некоторого количества предательств, сомнительных компромиссов и ножей в спину.
Всю славу создателей кинематографа обычно получают Люмьеры, что во многом вполне заслуженно. Но во Франции были и другие изобретатели и бизнесмены. Многие из них не только работали вместе, но и что-то заимствовали друг у друга на разных этапах своей карьеры. Этьен-Жюль Марей был наставником Жоржа Демени. Демени сотрудничал с Леоном Гомоном. Анри Жоли позаимствовал идеи у Демени, а затем подал в суд на Гомона. Жоли был партнером Шарля Пате, который позже выгнал его. Вот их истории.
Существует большая путаница по поводу концепции синематографа Люмьеров. Два брата к концу жизни рассказали так много разных версий своей истории, смешивая разные события, происходившие в разное время, делая собственные заявки на первенство и приписывая все заслуги себе, что правда оказалась абсолютно неразличима. В довершение всего, все архивы Люмьеров утеряны; у нас никогда не будет возможности, подобной той, что была у Гордона Хендрикса, который копался в архивах Вест-Ориндж, чтобы восстановить правду об изобретении кинетоскопа Эдисона.
Как мило, что их фамилия по-французски означает
Вынесенная в эпиграф цитата из Маннони частично опровергает историю о взаимной братской любви. Однако доподлинно известно, что братья публично продемонстрировали элегантное устройство, объединившее камеру и проектор. Синематограф мог воспроизводить и записывать фильмы, то есть снимать и проецировать. Кроме того, их детище работало еще и как устройство печати кинокопий. Это действительно была полноценная киномашина в одном ящике. Братья, особенно Луи, постепенно совершенствовали устройство в тесном сотрудничестве с инженером Жюлем Карпантье.
Синематограф на первый взгляд кажется очень простым устройством, но, если прочесть многочисленные письма, которыми обменивались Луи и Карпантье, обнаружится изобретательная выверенность этой простоты. День за днем Луи описывает небольшие проблемы и крошечные усовершенствования, а Карпантье находит решения и предлагает свои варианты. Их перфекционизм просто потрясает. Люмьеры не хотели демонстрировать устройство за деньги, пока оно не достигнет, по их мнению, абсолютного совершенства. Они терпеливо ждали выпуска 200 экземпляров их прибора, прежде чем официально представить его публике 28 декабря 1895 года в Париже — четвертый коммерческий кинопоказ в мире и второй в Европе.
Когда мы смотрим на даты выступлений конкурентов, стремление претендовать на первенство кажется почти неуместным. Более важным кажется энтузиазм, возникший в 1895 году, когда каждый месяц по обе стороны Атлантики анонсировались и демонстрировались новые кинопроекторы. Мы можем играть с очередностью прихода к финишу, просто используя или не используя прилагательное «коммерческий». Первый и второй коммерческие показы, то есть платные публичные киносеансы, прошли в Соединенных Штатах: первый провели Латамы в мае, а второй — Армат и Дженкинс в октябре. Третий и четвертый состоялись в Европе: их организовали Складановски в Германии в ноябре, Люмьеры во Франции в декабре.
Но уберите слово «коммерческий» — и Люмьеры станут первыми, кто публично провел кинопоказ. Они продемонстрировали свою машину, еще не совсем доведенную до совершенства, 22 марта 1895 года в Париже нескольким сотням человек. С учетом этого заведомо публичного, но некоммерческого мероприятия Латамы занимают второе место в гонке, представив свой эйдолоскоп прессе всего через месяц, 21 апреля. Также Люмьеры занимают третье место, поскольку провели еще один публичный показ в Париже в июле, собрав около 150 человек. Чтобы оценить масштаб, стоит отметить, что на первом платном публичном киносеансе в декабре присутствовали только 33 зрителя.
Нет никаких сомнений, что Люмьеры задумали свой универсальный прибор как полноценную киносистему. Но то же самое сделал и Леон-Гийом Були, только немного раньше. В 1893 году он запатентовал комбинированную систему, состоящую из камеры и проектора, и назвал ее синематографом. Но срок действия его патента истек, поскольку он либо забыл, либо не смог оплатить ежегодную пошлину. В результате Люмьеры свободно воспользовались названием, а возможно, даже и некоторыми конструкторскими идеями Були. Неясно, какую именно роль сыграл таинственный Були (если вообще сыграл) в создании синематографа Люмьеров. В общепринятой истории кино его имя обычно не упоминается.
К сожалению, развивающаяся индустрия отвергла элегантную идею Люмьеров, объединившую камеру и проектор. Не прижился и их формат кинопленки. Их соотечественники Леон Гомон и братья Шарль и Эмиль Пате решили судьбу их изобретения, внедрив систему Диксона, основанную на 35-миллиметровой кинопленке, незапатентованную систему Эдисона. Тем не менее Люмьеры успешно конкурировали на американском рынке. Они были знаковыми фигурами в эпоху зарождения кинематографа и до сих пор остаются таковыми в воображении французов.
Мы видим имя Жоржа Демени на нескольких важных узлах блок-схемы истории кино. Тем не менее о нем, как и о У. К. Л. Диксоне, мало кто знает. Однако он тем или иным образом связан почти со всеми игроками французской команды — Маре, Люмьерами, Гомоном, Жоржем де Бедтсом и Анри Жоли. Французский историк, куратор отдела кинематографии Французской синематеки Лоран Маннони вернул Демени из темноты исторического забвения. То же самое американский историк кино Пол Шпер сделал с Диксоном. История Демени полна разочарований, поражений и бесчестного обмана.
Этьен-Жюль Марей был работодателем, учителем и фактически фигурой отца для Демени на протяжении их десятилетнего сотрудничества. Их отношения начались примерно в 1880 году, а к 1882-му стали настолько доверительными, что Марей поручил своему ученику управлять физиологической лабораторией, когда сам уехал на отдых в Италию.
Но со временем стремление Демени сделать из хронофотографии коммерческое предприятие стало противоречить научным интересам Марея, связанным с исследованиями в области физиологии, — очередное эхо битвы башни из слоновой кости и зловонной лаборатории, аналогичное расколу среди изобретателей компьютеров. Марей начиная с 1889 года предупреждал Демени, что не желает подобного развития событий, но Демени настаивал на своем, и к 1893-му отношения между ними окончательно разладились. В одном из писем Демени упоминает о «старческом и хаотическом характере управления» Марея. Вскоре Марей потребовал его отставки. Демени уволили — «поразили молнией Юпитера», как он сам выразился. За этим первым ударом последовало дальнейшее ухудшение отношений с Мареем.
Как упоминалось ранее, Демени, предположительно, помогал Марею с разработкой хронофотографического пленочного фотоаппарата, который Марей запатентовал в 1890 году. Устройство получилось довольно несовершенным. По-другому и не могло выйти — без перфорации, обеспечивающей постоянную частоту кадров. Демени использовал полученный опыт для создания собственной хронофотографии. Он не просто скопировал изобретение Марея. В частности, новая разработка использовала «пальцевый» механизм, авторство которого принадлежало Демени. Он запатентовал пальцевый механизм прерывистого движения в 1893 году в Англии, в 1894-м во Франции и в 1895 году в Соединенных Штатах. Суть изобретения заключалась в кулачковом механизме, решившем сложную проблему согласования непрерывного движения кинопленки и ее прерывистого экспонирования. Пленка плавно покидает подающую катушку проектора, направляясь к проекционному объективу и лампе подсветки. Приемная катушка так же плавно наматывает пленку после проецирования. Но в момент проецирования пленка удерживается неподвижно механизмом прерывистого движения. В противном случае она бы постоянно дергалась при выходе с исходной катушки или накручивании на приемную. Пальцевый механизм помогал избежать таких рывков, устраняя провисания в контролируемом ритмическом режиме.
Впоследствии Марей обвинял Демени в краже изобретения. Претензии кажутся несколько натянутыми. Сам Марей признавал, что, как принято в науке, публично обнародовал конструкцию своей камеры — пальцевого механизма в ней не было. Ошибка Демени заключалась в нарушении общепринятой практики научного приоритета. Безусловно, даже с точки зрения человеческих отношений Демени поступил неправильно, не пригласив Марея в бизнес, частично основанный на совместных разработках, хотя Марей и позиционировал себя как исключительно ученого. Демени лишь усугубил свою ошибку, оскорбляя и обвиняя бывшего наставника и покровителя. Марей, по его словам, вел себя как «ничего не соображающий и озлобленный больной старикашка».
В 1895 году Демени подписал контракт с Леоном Гомоном, разрешив использовать свою доработанную хронофотографическую камеру (без проектора). Первым делом Гомон изменил название устройства на «биограф». В 1896 году в контракт внесли дополнение, чтобы учесть запланированное Демени усовершенствование хронофотографа/биографа — возможность работать и как камера, и как проектор, то есть устройство становилось полноценной киносистемой. Демени наконец добился нужного результата в 1896 году. Затем в 1897-м он модифицировал биограф для использования 35-миллиметровой пленки «формата Эдисона», чтобы сделать устройство максимально конкурентоспособным. Но к тому времени Демени настиг второй удар, на этот раз исходивший от его коммерческого партнера Гомона.
Все началось с «дела Жоли». Шарль Пате купил копию кинетоскопа Эдисона, изготовленную англичанином Робертом Полом, и ему требовались фильмы для организации показов. Формально Пол ничего не нарушал, поскольку Эдисону не удалось запатентовать кинетоскоп в Европе. Однако Пате не мог обратиться в компанию Эдисона, чтобы купить пленки для, по сути, пиратской копии их устройства. Поэтому в 1895 году Пате заключил с французским изобретателем Анри Жоли договор на создание кинокамеры, чтобы снимать кино для пиратского кинетоскопа. Жоли был подходящей кандидатурой, потому что хорошо знал Марея и Демени, а также располагал сведениями об их приборе. Для решения поставленной задачи Жоли разработал свой синематограф — и превратил его в реверсивный проектор. В получившемся аппарате использовался пальцевый механизм, напрямую скопированный у Демени, из-за чего дальнейшие события выглядят особенно отвратительными.
Жоли имел наглость подать в суд на Гомона, партнера Демени. Адвокат истца успешно доказал, что Жоли усовершенствовал механизм Демени. Более того, Жоли удалось запретить Гомону производить машины Демени. Нелепый аргумент, убедивший судью, по-видимому, основывался на том, что механизм Демени был частью запатентованного Жоли усовершенствования, патент Жоли распространялся и на все устройство. Звучит абсурдно, но Гомон, не желая увязнуть в судебных дрязгах, попросту выгнал Демени! Неудивительно, что Демени до конца жизни страдал из-за отсутствия должного признания и даже умер оболганным. Его едва ли утешило, что Жоли на службе у братьев Пате постигла та же участь.
Жоли заметил, что Шарль Пате использует его синематограф только как кинокамеру. Пате, как и Эдисон, увяз в менталитете кинетоскопа и не использовал проекционные возможности устройства. Поэтому Жоли начал искать партнера, который оценил бы коммерческий потенциал кинопроекции. Например, он обсуждал возможности сотрудничества с Жоржем де Бедтсом, одним из множества партнеров Демени. Пате, по понятным причинам, насторожился, однако его реакция оказалась слишком резкой и необоснованной. Он просто выгнал Жоли вместе с женой из предоставленных им помещений, не позволив даже забрать камеру. В 1896 году как раз начался бум кинопроекции. Пате, как и Эдисон, с опозданием понял, что попытки зарабатывать на приборах для индивидуального просмотра ведут в тупик. Он быстро раздобыл реверсивный проектор и занялся кинобизнесом, став в итоге основателем одной из самых успешных киностудий. Мы не знаем, какому проектору на самом деле Пате обязан своим успехом. Возможно, это был синематограф Жоли. В любом случае Пате выкинул Жоли из бизнеса, не выплатив компенсации и не позволив забрать собственные разработки, как только сбылись его прогнозы о прибыльности проекторов. Жоли пытался начать бизнес заново с другим партнером, но снова потерпел неудачу.
Третий удар Демени получил от Люмьеров, которые яростно отрицали, что он повлиял на конструкцию их синематографа. Вот тут сказочная история братьев Люмьер начинает разрушаться. Чертежи Демени, обнаруженные в последние десятилетия, изображают механизм прерывистого движения, в котором используется пара когтей, приводимых в движение эксцентриковым кулачком, — описание синематографа 1895 года. Луи Люмьер видел их, когда встречался с Демени в декабре 1894-го, хотя, по общепринятому мнению, он ознакомился с эскизами предыдущей версии, изображавшими гораздо более грубый механизм.
На блок-схеме Демени также упомянут на стороне американцев, и некоторые историки считают, что здесь ему следует уделить гораздо больше внимания. Дженкинс и Армат в 1895 году использовали механизм прерывистого движения в устройстве, которое впоследствии превратилось в витаскоп Эдисона. Патентное ведомство США считает, что оно заимствовано у Демени. Команда Диксона, возможно, также воспользовалась им для «биографа», но историческое жюри до сих пор не рассудило, так ли это на самом деле. Механизм Демени не составлял коммерческой тайны и неоднократно описывался в популярной фотолитературе того времени.
В истории Демени достаточно разночтений и неясности, поэтому назвать его столь же гениальным, как Диксон, не получится. Тем не менее о его вкладе нельзя забывать. Он слишком активно участовал в забеге обеих команд, знал слишком многих игроков и несет ответственность за некоторые фундаментальные усовершенствования первых киномашин — причем, возможно, большую, чем нам известно.
Трест Эдисона и создание Голливуда
К 1907 году компания Эдисона владела в США большинством патентов на кинокамеры и использовала их в непрекращающихся судебных тяжбах. Наконец измученные судами конкуренты Эдисона обратились к нему с предложением провести переговоры. В результате мучительного торга в декабре 1908 года родилась Motion Picture Patents Company, M. P. P. C., которую иногда называют трестом Эдисона. Около 10 компаний объединили свои патенты и совместно жестко выступили против конкурентов. В объединение вошли американский филиал французской компании Pathé и компания Eastman Kodak, крупнейший в то время поставщик пленки. Даже Biograph Диксона, серьезный конкурент Эдисона, присоединился к ним. Именно патенты на проекторы Biograph, с которыми Эдисон не мог бороться, сделали фонд таким эффективным. Если описание напоминает вам сговор монополистов, то лишь потому, что так оно и есть.
Утверждения, будто трест Эдисона породил Голливуд, слишком преувеличены. Хотя доля истины, возможно, в них и есть. Калифорния находилась достаточно далеко от штаб-квартиры Эдисона в Нью-Джерси. Тресту, несомненно, было нелегко отслеживать использование патентов на таком расстоянии. Но у Западного побережья нашлось и немало более важных преимуществ: обилие солнечного света, дешевая рабочая сила и доступная недвижимость. Поэтому туда устремились многие независимые кинопродюсеры. Вскоре после создания в 1912 году в Голливуд переехала Universal Studios, а Paramount Pictures была основана там изначально. Обе компании до сих пор располагаются в Голливуде. Эти две американские студии, а также французские Gaumont и Pathé — четыре из пяти старейших сохранившихся киностудий в мире (пятая — датская компания Nordisk Film).
Удаленность Голливуда не смогла защитить Universal. Трест Эдисона не оставил ее в покое даже в Калифорнии. Однако в 1917 году Верховный суд США вынес решение не в пользу треста, сославшись на неправильное использование патентов. И наконец в 1918 году трест Эдисона окончательно упразднили в соответствии с Антимонопольным актом Шермана за незаконное ограничение конкуренции.
Расширенное описание нашей блок-схемы младенческих лет кинематографа подошло к концу. Теперь мы сосредоточимся на особом ответвлении кино — анимации или мультипликации, которая, по моему мнению, ведет к Великой цифровой конвергенции. На самом деле через Цифровой Свет проходит много путей, но тот, который я знаю лучше всего, лежит через мультипликацию.
Мы должны отделить половину Цифрового Света,
Как только мы поймем, как геометрическая модель внутри компьютера становится состоящим из пикселей кадром в потоке таких же кадров, создающих образы нереального мира, мы сумеем разобраться, как работают игры, виртуальная реальность (VR), дополненная реальность (AR) и в целом любые пользовательские интерфейсы для взаимодействия с приложениями и интернетом. Все они объясняются через те же основные принципы, которые мы используем в трехмерной цифровой анимации персонажей. В частности, все они базируются на представлении о невидимой модели внутри компьютера, которая визуально отображается. Освоив и регистрацию пикселей, и их создание, мы познаем весь Цифровой Свет.
Теперь мы обратимся к той части Цифрового Света, которая касается создания пикселей и, в частности, цифровых фильмов. Давайте вернемся в мир кино и начнем с краткой истории классической двумерной (рисованной) мультипликации и принципов ее работы. Так мы овладеем необходимым для анимации языком. Затем, в следующих главах, мы применим потрясающую мощь компьютерного Усиления, чтобы овладеть Цифровым Светом.
Анимационные фильмы: оторванные от времени
Анимированный рисунок показывает нам в движении то, что по своей природе инертно, и, по сути, мы получаем удовольствие именно от этой магии.
Таким образом, камера кинематографа, этот механический Джордж Вашингтон, наконец-то оказалась лжецом.
Анимационные фильмы существуют столько же, сколько и сам кинематограф, ну или по крайней мере с того самого волшебного 1895 года. Но что же такое анимационный фильм?
Дать точное определение довольно сложно. Классическое кино заимствует кадры из реального мира. Декорации могут быть построены в студии, костюмы — полностью придуманы, освещение — сделано искусственно, персонажи — сыграны актерами, но все это — части реального мира. Менее очевидным кажется, что рисованные мультфильмы тоже заимствуют кадры из реального мира. В мультфильме «Белоснежка и семь гномов» Диснея (1937) каждый кадр — это фотография рисунка, изображающего нереальный или вымышленный мир. Однако сами рисунки являются физическими объектами в реальном мире. Так что отличие анимационных фильмов заключается вовсе не в противопоставлении реального и вымышленного.
Также их не отличает противопоставление создания и фиксации пикселей. Только небольшая категория кинофильмов предназначена для фиксации самого реального мира — мы их называем документальным кино. Большинство фильмов снимаются о вымышленных событиях. Для них (не важно, имеем ли мы дело с анимацией или нет) каждый кадр искусственно создается перед его фиксацией кинокамерой.
Отличие также не сводится к противопоставлению трех измерений и плоских картинок, как можно предположить, исходя из термина «рисованные мультфильмы». Некоторые так называемые покадровые (stop-motion) мультфильмы, снятые в технике кукольной анимации, берут каждый кадр из реального трехмерного мира. Возьмем, к примеру, танцующих скелетов из классического фильма Рэя Гаррихаузена «Ясон и аргонавты» (1963). Или любую из серий «Барашка Шона», современного (выходящего с 2007 года по настоящее время) мультсериала, который я люблю смотреть со своими внуками. Некоторые из самых ранних фильмов, совмещавших мультипликацию и живых актеров, снимались в технике покадровой анимации или по крайней мере прерывистого движения — например, «Замок с привидениями» Жоржа Мельеса (1896) или «Отель с привидениями» Джеймса Стюарта Блэктона (1907). А одними из первых неанимационных фильмов были фильмы, в которых художник рисовал двухмерный мультфильм, например «Фантасмагория» Эмиля Коля (1908) и «Маленький Немо» Уинзора Маккея (1911). Эти так называемые
Эти фильмы показывают, что анимационные фрагменты или
Так что анимационные фильмы отличает не мультипликация, противостоящая фотографическому реализму, что стало особенно очевидным в новом мире Цифрового Света. Кадры компьютерной анимации иногда не уступают в плане реалистичности фотографиям, сделанным в реальном мире.
Но если ничего из вышеперечисленного не отличает анимационные фильмы, то в чем тогда их особенность? В использовании времени. Анимационные фильмы определяются нереальным временем, а не нереальным пространством. Анимационные фильмы не привязаны к реальному времени. Все остальные фильмы мы называем «живым кино», по-английски
Критерий может показаться ошибочным. Известно, что готовый фильм — это последовательность отрывков, которые режиссер или монтажер свободно меняет местами, сокращает, склеивает или переупорядочивает во времени. Конечно, свободная игра со временем противоречит утверждению, что кино ему подчинено. Но помните, что каждый кадр — это подобный движению секундной стрелки отсчет, выборка из непрерывного визуального потока. Это живое действие или действие в реальном времени.
Раннее кино было просто зрелищем — эй, посмотри на это, а теперь посмотри на это: чихающий человек, боксерский поединок, соблазнительная танцовщица, Папа Римский. Именно такие фильмы снимал Диксон в начале 1900-х годов. Однако все изменилось с открытием возможностей
То же самое происходит и с тысячелетиями, как в фильме «2001: Космическая одиссея» (1968), со знаменитым превращением костяной дубины в межзвездный корабль (рис. 5.14). Обезьяна подбрасывает кость вверх. Она медленно кувыркается, пока камера следует за ней все выше и выше, и наконец становится спутником Земли примерно такой же формы вблизи Космической станции V, величественно вращающейся промежуточной остановки для людей по пути на Луну. Режиссерский монтаж Стэнли Кубрика укладывает всю историю человечества в одно мгновение.
Сила монтажа создает магию повествования и эмоции. И получающееся в результате программное обеспечение — это и есть та форма искусства, которую мы называем «кино». Образно говоря, бесконечное количество возможных программ «запускается» на «компьютере» нашего мозга.
Анимационные фильмы доводят возможность монтажа до физического предела — до работы с каждым кадром. Время перестает быть ограничением. В анимации нет визуального потока, из которого нужно делать выборку. Как правило, следующий кадр — это примерно то же самое, что и текущий кадр, но как бы перенесенный на одну двадцать четвертую секунды в будущее, как если бы он был отсчетом из визуального потока в реальном времени. Но это не обязательно. Все происходит в фиктивном времени, которое создано мультипликатором и может иметь мало отношения к реальному времени, или вообще не иметь к нему никакого отношения, или, наоборот, точно моделировать течение реального времени.
Рис. 5.14
Так что мир анимационного кино — мир смелых. Он бывает абстрактным до той степени, куда готов продвинуться художник. Допустима любая форма и в любом порядке. Доведенная до высшего предела, абстрактная анимация — чистый механизм создания эмоций из произвольных визуальных образов, так же как музыка — создание искусства из произвольных звуков. Поэтому анимация — это потенциально одна из великих форм искусства, ожидающая своего Моцарта, Шопена и Стравинского, хотя за недолгое время ее существования некоторые художники уже пытались сделать это на практике. Яркие примеры такой анимации, чистой визуальной музыки, — «Игра света: Опус I» Вальтера Руттмана (1927) и «Движущаяся живопись № 1» Оскара Фишингера (1947).
Коль не был дилетантом; напротив, он был одержимым и посвятил остаток своей жизни продвижению мультипликации (или анимационного кино) как искусства и как отдельной отрасли кинематографа. Он внес наибольший вклад в превращение экспериментов своих предшественников в области трюкового кино в уникальное искусство XX века.
Как и игровое кино, пережившее эпоху движущихся картинок и примитивного зрелища, анимационные фильмы тоже прошли через ранние фазы своего эволюционного развития. Сначала это были
На смену трюковым фильмам пришли
Эмиль Коль для французов сыграл ту же роль, что и Уинзор Маккей для американцев, поскольку считается одним из первых мультипликаторов. Но по характеру и творческому наследию эти двое совсем не похожи друг на друга. Историк анимации Дональд Крафтон описывает Коля как замкнутого интеллектуала, а Маккея — как общительного весельчака и яркого шоумена. Неудивительно, что Коля, создавшего более трех сотен фильмов, мало кто знает, а вот Маккей всего с дюжиной фильмов за плечами гораздо известнее. Более того, Коль участвовал в группе художников Les Arts incohérents, сосредоточившейся на безумии как на эстетической проблеме — не самая популярная тема. Тем не менее его «Фантасмагорию» (1908), снятую для студии Gaumont, можно считать первым анимационным мультфильмом в мире, и Крафтон награждает его званием первого мультипликатора. Но самый главный титул создателя первого анимированного персонажа он оставляет за Маккеем.
Всего за несколько мгновений Маккей убеждает зрителя, что он оживил это милое и реальное, осязаемое животное — триумфальный момент для аниматора как дарителя жизни.
Волшебная душа анимации кроется в
Поворотным моментом в истории анимационного кино стало создание первых по-настоящему анимированных персонажей — одушевленных, а не просто движущихся. Можно с уверенностью сказать, что это произошло где-то в первые годы существования кинематографа. Крафтон в эпиграфе предполагает, что это произошло в 1914 году — в мультфильме Маккея про динозавриху Герти. С этого момента персонажи стали отделены от их экранного творца. Теперь можно было довериться публике, способной понять, что анимированные персонажи живут сами по себе. Никаких неуклюжих объяснений более не требовалось. Явно ненужный и слишком назидательный ведущий мог покинуть кадр.
Конечно, не было очевидно, что зрители поймут, но хотелось верить, что одухотворяющая анимация сработает. Мы ведь даже не знаем, что она собой представляет. Мы не имеем ни малейшего представления, как мультипликаторы оживляют персонажей. Но и они сами тоже не знают. Точно так же мы не знаем, как актеры убеждают нас, что на экране они не те, кто есть в реальной жизни. На самом деле эти две вещи неразрывно связаны. Мастерство мультипликатора — той же природы, что и у актера. Актер убеждает нас, что его тело и разум принадлежат совершенно другому человеку, — он перевоплощается. Мультипликатор убеждает нас, что безжизненная стопка рисунков — или миллионы полигонов в случае Цифрового Света — одушевлены и обладают сознанием. Pixar берет на работу мультипликаторов, которые умеют хорошо перевоплощаться.
В 1950-х годах, будучи ребенком, я восхищался тем, как Уолт Дисней объяснял технологию мультипликации в своем еженедельном телевизионном шоу «Диснейленд». Он излагал технологию покадровой рисованной мультипликации, которую мы подробно рассмотрим в следующем разделе. Ее называли
В первые дни кинематографа, на заре XX века, Эмиль Коль размещал непрозрачные фигурки мультипликационных персонажей, собранные из бумажных фрагментов, поверх рисованного фона — в технике, называемой
В еще одном методе из ранних дней, который называют
Серьезной причиной для разработки конкурирующих технологий стала патентная защита анимации на целлулоиде. Джон Рэндолф Брэй поставил анимацию на прочную деловую основу и превратил в коммерческое предприятие, способное удовлетворять ненасытный спрос на продукцию киноиндустрии. Он понимал силу патентной защиты и запатентовал большую часть того, что мы сейчас называем анимацией на целлулоиде, в 1913 году. Но ему не удалось запатентовать ключевую идею прозрачного целлулоида. Его основным материалом оставалась бумага.
Патентными лакунами воспользовался сотрудник его студии Эрл Херд, подавший заявку на патент в 1914 году, чем окончательно зафиксировал весь технологический процесс покадровой мультипликации, каким мы его сейчас знаем. Вместо бесконечных препирательств в судах Брэй и Херд достигли соглашения о совместном использовании этих идей в рамках технологии Брэя — Херда. Брэй всегда считал эти технологии своей заслугой, хотя решающим фактором стал патент Херда. Затем они начали преследовать тех, кто занимался мультипликацией, не купив у них лицензию. Таким образом, Брэй и Херд сыграли для мультипликации ту же роль, что трест Эдисона — для игрового кино с живыми актерами.
Окуну яблоко в отвар,
Пусть Смертный Сон пропитает его.
Поскольку анимация на целлулоиде привела к Цифровому Свету, мы обсудим ее более подробно. С ее помощью Аб Айверкс и Уолт Дисней основали компанию, которая сделала мультипликационных персонажей всемирно известными. Именно на основе этой технологии создана «Белоснежка» (1937), первый успешный полнометражный мультипликационный фильм — возможно, именно оттуда Алан Тьюринг почерпнул идею умереть от отравленного яблока.
Эта технология кажется настолько очевидной, когда вам детально расскажут о ее устройстве, что, как я подозреваю, многие из нас и не задумываются о возможности существования никаких других. Анимация на целлулоиде использует покадровую фотосъемку для получения последовательности изображений. Оператор кладет на специальную подставку для камеры — мультстанок — лист с фоновой сценой, которую художник нарисовал на непрозрачном материале в качестве первого или самого нижнего слоя. Затем сверху накладывается лист прозрачного целлулоида с нарисованным персонажем — персонажный целлулоид. Два листа совмещаются с идеальной точностью при помощи металлических штифтов — составной части мультстанка. Штифтопробойником вдоль верхней части каждого листа проделываются отверстия, которые надеваются на эти штифты. Затем оператор кладет еще один лист с другим нарисованным на нем героем поверх первого. И так далее. Когда все листы с нужными персонажами переднего плана расположены над фоном и плотно прижаты к нему, оператор фотографирует получившуюся стопку. Камера фиксирует составное изображение, сформированное из стопки листов. Получается один кадр фильма. Оператор повторяет трудоемкий процесс — снизу вверх — для каждого кадра фильма, потому что каждый персонаж обычно немного перемещается между кадрами. Для полнометражного фильма эту процедуру приходится проделывать примерно 130 000 раз.
Для создания каждого отдельного листа мультипликатор сначала карандашом на бумаге рисует персонажа, за которого он отвечает в создаваемом мультфильме. На каждом последующем рисунке положение персонажа немного меняется. Каждый лист бумаги имеет установленный размер и перфорирован в верхней части штифтопробойником. Затем с рисунком совмещается — так же при помощи штифтов — чистый лист целлулоида того же размера.
Каждый отрисованный лист контуровщик передает
На практике есть ограничение не более четырех или пяти целлулоидных листов в стопке. Не существует полностью прозрачных листов целлулоида. Каждый дополнительный слой приводит к дополнительной потере света даже через прозрачные места. Заливщики должны учитывать это и немного менять цвет краски на каждом слое, чтобы приспособиться к постепенному нарастанию непрозрачности через стопку предположительно прозрачных целлулоидных листов.
Нетрудно предположить, что целлулоидная анимация для полнометражного мультфильма с 130 000 кадров — это логистический кошмар. Предположим, что на кадр приходится четыре листа целлулоида плюс фон. Соответственно, для 90-минутного полнометражного фильма необходимо произвести закупку, распределить по исполнителям и проконтролировать готовность более 650 000 объектов. И каждый из них требуется тщательно проверить на ошибки и в конечном итоге поместить на свое месте — в правильный кадр и на нужный слой. Анимационные студии прошлого века использовали сложные рукописные системы учета для отслеживания логистики — тоскливую бухгалтерию очаровательных оживших персонажей.
В исторической перспективе мы с облегчением констатируем, что Цифровой Свет решил обе проблемы: и накопление непрозрачности в стопке целлулоидных листов, и утомительную логистику. В цифровой анимации прозрачность всегда идеальна. Нет ограничений по количеству слоев. Нарастание непрозрачности — это проблема только аналоговой покадровой мультипликации на целлулоиде. Но проблема логистики — неотъемлемая часть любой анимации. К счастью, компьютеры отлично помогают справиться с этой неблагодарной, но исключительно важной задачей.
Мультипликаторы должны нарисовать и собрать 24 кадра для каждой секунды кинопроекции, но во времена рисованной мультипликации на самом деле часто «снимали по 2», то есть создавали всего 12 кадров для каждой секунды, но фотографировали их дважды, чтобы получить нужные 24. От этой практики отходили только для сцен с быстрым движением. «Съемка по 2» слегка упрощала логистику и вдвое сокращала производственные затраты, но делала анимацию более прерывистой.
Ранние мультипликаторы разработали набор приемов, помогающих компенсировать возникающую в результате низкую частоту выборок во времени и фактическую статичность каждого второго кадра. Поучительно — и забавно — наблюдать за столь замечательными трюками. Главные из них —
Рассмотрим прыгающий мяч — чаще всего именно с такой анимации начинают новички. Когда реальный мяч отскакивает от поверхности, высота параболических кривых, по которым он движется, постепенно уменьшается. В момент удара реальный мяч немного деформируется. Чем он мягче, тем сильнее деформация. На рисунке 5.15 кружок показывает, как выглядит выборка в каждый момент времени для последовательности кадров. Обратите внимание, что отскок происходит в момент отсчета, именно во время съемки очередного кадра. Поскольку мультипликаторы могут выбирать время выборки — они не привязаны ко времени, — они всегда выбирают именно этот момент.
Как вы уже знаете, каждый кадр проецируется дважды, чтобы избежать мерцания. Соответственно, даже в идеальном случае — при «съемке по 1», а не «по 2» — каждое положение прыгающего мяча проецируется на сетчатку дважды. Но когда мультипликаторы «снимают по 2», каждый кадр повторяется дважды. В результате при такой анимации каждый кадр проецируется на сетчатку четыре раза! Посмотрите на кадр, в который попал мяч в момент удара. Сетчатка видит его четыре раза. И все же мозг воспринимает его как единичный момент удара и отскока. Как это работает? Теорема выборки совсем не помогает справиться с подобной ситуацией.
Более того, момент отскока — это резкий край визуального потока. Если говорить о частоте, то у этого края очень высокие частоты, что требует выборки с гораздо более высокой скоростью, чем 24 раза в секунду, и, конечно же, намного выше, чем 12 кадров в секунду при «съемке по 2». В соответствии с теоремой отсчетов, правильное решение сводится к избавлению от высоких частот и сглаживанию резкой смены направления. Но мультипликаторы занимаются вовсе не этим. Им
На рисунке 5.16 показана одна страница (воссозданная мной по памяти) из мастер-класса по рисованию прыгающего мяча от мастеров мультипликации Фрэнка Томаса и Олли Джонстона, двух из чрезвычайно талантливой «девятки диснеевских стариков» — выдающихся аниматоров, составлявших ядро студии Уолта Диснея и ставших залогом успеха компании. Мои рисунки плохо передают их очаровательные карандашные наброски, а особенно наиболее эффектные из них.
Фрэнк и Олли — как они просили их называть — указывают в подписи к рисунку, что более близкое расстояние вверху — это результат эксперимента. Собственно, именно этого требует физика, если выборка производится через равные промежутки времени, как показано на предыдущей иллюстрации (рис. 5.15), выполненной в строгом соответствии с теоремой отсчетов.
Они искажали реальность, чтобы «создать видимость отскока». Обратите внимание на нижнюю половину рисунка 5.16. Мяч удлиняется (растягивается) к точке соприкосновения, сплющивается (сжимается) в момент контакта с ней и постепенно ослабляет растяжение после отскока. Это иллюстрирует сжатие и растяжение, а также ожидание (упреждение) события (растягивание в сторону отскока до того, как он произойдет) и преувеличение отскока и последующего движения. По словам Фрэнка и Олли, эти приемы «придавали действию больший динамизм». Подобные трюки позволяли улучшать субъективную, воспринимаемую зрителем «реальность».
На самом деле Фрэнк и Олли улучшали ее на каждом этапе. Сравните верхний эскиз на рисунке 5.16 — отскок без сжатия и растяжения — с рисунком 5.15. Обе картинки предназначены для демонстрации прыгающего мяча в реальном мире. Но Фрэнк и Олли, отринувшие физические узы реального мира, не скованные гравитацией и ее параболами, а также свободные от теоремы отсчетов, нарисовали такой отскок, который выглядит эффектнее и убедительнее, чем физически правильный. Затем они усовершенствовали улучшенный эскиз при помощи сжатия и растяжения. Обратите внимание, что их отсчеты расположены не совсем в правильных местах, а мяч отклоняется от истинных парабол. Деформация в момент удара (еще более диковинная на их фактическом рисунке) имеет мало общего с реальной. Это больше похоже на эластичный пакет, наполненный водой, чем на резиновый мяч.
Рисунок 5.15
Рис. 5.16
Фрэнк и Олли утверждали, что с помощью чистой интуиции обнаружили, как преодолеть недостатки в раскадровке фаз движения прыгающего мяча. Почему эти замечательные трюки так хорошо работают? Есть подозрение, что все дело в процессе выборки. Поскольку мы на самом деле не знаем, как мозг реконструирует анимацию из отдельных изображений (особенно учетверенных копий одного и того же кадра), остается лишь догадываться, почему это работает. Похоже, опытные мультипликаторы наполняют отсчеты и кадры подсказками для человеческого мозга. Удлиненные мячи до и после отскока вытягиваются в направлении движения. Это такой же намек мозгу, как и размытие движения в стандартном кадре игрового фильма.
Преувеличенная деформация мяча в момент удара отправляет в мозг поток драматизированной информации. Мультипликаторы поддерживают воспринимаемый объем мяча и сохраняют некоторое представление о физической реальности. Но они чрезмерно расплющивают мяч по вертикали и растягивают по горизонтали, иногда почти до состояния блина. Когда такая последовательность быстро воспроизводится на экране, движение прыгающего мяча выглядит плавным, а сам он кажется забавным и упругим, «более динамичным». У мяча есть вес, под воздействием которого он деформируется. Мультипликаторы контролируют наши ощущения, преувеличивая сжатие и растяжение. Феномен видимого движения не совсем отражает то, что происходит в реальности. Кажущаяся деформация больше похожа на события реального мира.
Моя самая запоминающаяся встреча с упреждением, преувеличением, сжатием и растяжением произошла, когда я осваивал трехмерную анимацию на компьютерах. Дело было на Лонг-Айленде в середине 1970-х, когда компьютеры еще оставались довольно примитивными. Я смоделировал свою левую руку как упрощенный скелет, состоящий из маленьких цилиндров вместо костей и маленьких сфер вместо суставов. Я даже сделал 8 маленьких запястных косточек — 8 маленьких сфер. Модель работала на удивление хорошо, если не присматриваться слишком внимательно.
Я сделал копию левой руки и зеркально отразил ее, получив правую руку. Копирование и зеркальное отображение — очень простые операции для компьютера. Итак, у меня есть две руки, но что мне теперь с ними сделать? Какую анимацию? Я внимательно наблюдал за своими руками, хлопая в ладоши. Сделайте это сами, и вы заметите, что расстояние между ладонями составляет всего пару дюймов или около того. Пальцы одной руки слегка сгибаются вокруг указательного пальца или мизинца другой руки, когда ладони сближаются. Большой палец одной руки слегка огибает большой палец или всю ладонь другой. Движения ритмичны: ладони врозь, ладони вместе. Такую анимацию легко реализовать даже с помощью простых инструментов того времени.
Но это движение выглядело скучно! Оно слишком стерильно. Мне пришло в голову что-то изменить за счет сжатия и растяжения вместе с упреждением и преувеличением. Я рассчитывал с их помощью улучшить воспринимаемую «реальность». И они должны были работать с новой трехмерной анимацией так же, как работали со старой двумерной покадровой анимацией на целлулоиде. Ведь в обоих случаях в результате получаются двумерные кадры.
Поэтому я согнул руки назад в запястьях — согнул слишком сильно (рис. 5.17). Я преувеличил движение. Я предвосхитил сближение рук, сначала разведя их, — я отвел их назад, чтобы подчеркнуть движение вперед. Так работает упреждение. Затем я преувеличил скорость движения ладоней. Когда они столкнулись и внезапно остановились, пальцы продолжают двигаться. Пальцы заходят за ладонь — невероятно далеко, слишком далеко, — а потом возвращаются в привычное положение. Они даже набухали на концах при растяжении, а затем сжимались до исходного размера. Я сделал анимацию для двух наборов из четырех пальцев и отдельно для обоих больших пальцев. Много растяжения, гораздо меньше сжатия.
Воспроизведение получившейся анимации восхитило меня! Пара больших, толстых, мягких ладоней хлопали, отчего казались живыми и приятными взгляду. Результат наполнил меня уважением к мастерам мультипликации.
Рисовать вручную каждый кадр анимационного фильма — кропотливая работа. Не проще ли снять живых актеров, а затем обвести их, чтобы получился мультфильм? Этот трюк называется ротоскопированием. Его несколько раз переизобретали заново. Эдвард Мейбридж поручил художнику воспроизвести каждый кадр знаменитой скачущей лошади, обведя силуэт тушью. Поэтому мы предлагаем считать его отцом ротоскопирования, а не настоящего (живого) кинематографа.
Лоран Маннони из Французской синематеки показал мне два взаимосвязанных короткометражных фильма времен зарождения кинематографа. Один состоял из фотокадров, на которых Жорж Мельес, по-видимому, показывал фокус. Второй, снятый в Германии в 1897 году, использовал раскрашенные вручную кадры из первого — каждый из них представлял собой цветной рисунок по соответствующей фотографии.
Американский патент на ротоскоп, принадлежащий Максу Флейшеру, датируется 1917 годом. Он начал использовать этот процесс, чтобы анимировать своего знаменитого клоуна Ко-Ко в сериале «Из чернильницы» (
Рис. 5.17
Дэйв Флейшер сыграл определенную роль в возникновении Цифрового Света, хотя и не узнал об этом. Дэйв и Макс основали Fleischer Studios, известную многими знаменитыми мультфильмами, в том числе серией о моряке Попае. Спустя долгое время после смерти Макса молодой аниматор Джон Джентилелла работал над эпизодом «Попай, пакующий шпинат» (1944), который продюсировал Дэйв. Затем под псевдонимом Джонни Гент он руководил мультипликаторами, которые работали над полнометражным мультфильмом «Табби Туба» (1975), сделанным в технике старомодной целлулоидной анимации в кампусе Нью-Йоркского технологического института (NYIT), принадлежащего Александру Шуре.
Шуре нанял Эда Катмулла и меня (и еще несколько человек), чтобы мы разработали для Джонни технологию использования компьютеров для создания анимации. Эд занимался контурами переднего плана, а я — их цветовой заливкой и рисованием фона. Мы продвигались недостаточно быстро, чтобы помочь с работой над «Табби Тубой», но мы и другие сотрудники Лаборатории компьютерной графики NYIT предложили несколько оригинальных идей, которые значительно позже — через много лет и после существенных усовершенствований — превратились в систему компьютерной покадровой анимации CAPS (Computer Animation Production System) в студии Disney.
Мы с Эдом (и еще несколько человек) начали работать со студией Lucasfilm примерно в 1980 году. Тогда компания Disney обратилась к нам с просьбой оцифровать их процесс анимации. Я вел переговоры с Disney о заключении контракта на разработку CAPS больше года. Когда мы с Эдом некоторое время спустя, в 1986 году, основали Pixar, мы забрали CAPS с собой и завершили работу над ней, к обоюдному удовлетворению обеих компаний. CAPS использовалась, пока компания Disney не купила Pixar в 2006 году. Именно Джонни Гент и его команда из NYIT в 1970-х годах научили нас тонкостям анимации на целлулоиде при съемках полнометражных мультфильмов, что легло в основу наших отношений с Disney и достигло кульминации примерно 30 лет спустя, когда компания Disney купила Pixar.
Вы можете заметить, что, по мере того как Аб и Уолт нащупывали свой путь в анимационном бизнесе, они могли выжить, только обладая высшей степенью наивности в отношении перспектив проката их кино и поиска денег на него. Их постоянно обирали, непрерывно обманывали, но ничто не могло их остановить.
Уолт Дисней взрослел и превращался в харизматичного лидера и провидца, чья сила убеждения не могла не действовать на Уббе.
Пришло время рассказать историю самой влиятельной компании в мире мультипликации — компании Disney. Не будем замалчивать даже самые неприятные эпизоды. Уолтер Элиас Дисней родился 5 декабря 1901 года в Чикаго. После службы в армии он переехал в Канзас-Сити, штат Миссури. Уббе Эрт Айвверкс родился 24 марта 1901 года в Канзас-Сити, а в 1924 году изменил написание своего имени на Аб Айверкс. Рассказывая о нем, как и о многих других, я буду использовать его псевдоним, потому что он взял его, когда делал свою величайшую работу. Диснея и Айверкса наняла одна и та же коммерческая компания в Канзас-Сити, занимающаяся иллюстрациями для газет, и вскоре они подружились.
Примерно через год обоих уволили, и они вместе создали компанию Iwwerks-Disney Commercial Artists. Они предполагали назвать ее просто Disney-Iwwerks, но пришли к выводу, что такое наименование больше подойдет фирме по производству очков. Впрочем, вскоре компания потерпела крах и уже в 1920 году объявила себя банкротом. Затем двое друзей устроились в рекламную компанию Kansas City Film. Именно тогда они открыли для себя мир анимации и безумно влюбились в него.
Они тщательно копировали из книг Мейбриджа знаменитые растровые матрицы фотографий, изображающих фазы движения людей и животных, и делали флипбуки из отдельных кадров. Ремеслом анимации они овладевали по знаменитой книге «Анимированные мультфильмы» (1920) Эдвина Джорджа Лутца. Они освоили анимацию на целлулоиде, научились рисовать тушью и красками, получили опыт работы с ротоскопом. Они изучали работы Херда, Маккея и Флейшеров. И, конечно же, они решили попробовать свои силы в мультипликационном кино. Благодаря интересу Аба к технике они разработали и построили собственное оборудование на основе систем первопроходцев, и сделали это хорошо. Их не заботили проблемы с патентами, потому что они находились вне поля зрения крупных игроков, в далеком и глухом Канзас-Сити[31].
Уолт быстро зарекомендовал себя в их дуэте как переговорщик, продавец и организатор. Например, он уговорил своего босса из Kansas City Film одолжить покадровую камеру, чтобы использовать ее в нерабочее время. Уолт сделал мультстанок под нее в гараже своей семьи. Затем он вместе с Абом и своим братом Роем приступили к съемкам коротких анимационных фильмов в свободное время.
Идея молниеносных зарисовок вдохновила их на одну из ранних работ. Они сфотографировали руку Уолта, а затем быстро водили ею над рисунком. Рука, казалось, рисовала. Из таких кусочков они собрали демонстрационный киноролик, чтобы поддержать переговоры Уолта по продаже серии короткометражных фильмов. Менеджер сети театров Фрэнка Ньюмана в Канзас-Сити купил идею сериала, поэтому они назвали эти короткие ролики «Смех-О-граммами Ньюмана» (Newman Laugh-O-grams). Один из фильмов рекламировал женские чулки и запомнился в основном красивой моделью Люсиль Фэй Лесюр, позже взявшей псевдоним Билли Кассин, а впоследствии ставшей известной под именем Джоан Кроуфорд. Другой ролик высмеивал выбоины на городских мостовых.
Из этого описания — да и из самого названия «Смех-О-грамма» — очевидно, что Уолт, Аб и Рой стремились заниматься развлечениями, а не рекламой. Но их босс в Kansas City Film не поддержал предложение расширить сферу деятельности компании. Если вы хотите развлекаться, создайте собственную компанию, сказал он. Уолт так и сделал.
Идея настолько захватила его, что в 1922 году он покинул Kansas City Film и основал Laugh-O-gram Films. Аб остался на прежнем месте. Ему требовался стабильный доход, чтобы поддерживать мать. Уолт быстро решил проблему, заключив дистрибьюторский договор для новой компании. Казалось, Абу гарантирована финансовая безопасность, поэтому он решился бросить рекламу и присоединиться к Уолту. Но он совершил ошибку. Вторая компания тоже обанкротилась. Аб вернулся в Kansas City Film, а Уолт переехал в Калифорнию, где теперь жил его брат Рой. Там Уолт и Рой основали компанию Disney Brothers Cartoon Studio, третью по счету компанию Уолта. До того как Laugh-O-gram Films разорилась, они с Абом успели снять фильм «Страна чудес Алисы». Уолт использовал его как презентационный ролик новой студии — и ему удалось заключить еще одну сделку. Но после выпуска семи короткометражек из серии «Алиса» дистрибьютор Чарльз Минц отправил Уолту гневное письмо с требованием улучшить качество мультипликации. Пришлось срочно решать эту проблему. Поэтому в 1924 году Уолт написал Абу письмо, умоляя его присоединиться к ним в Калифорнии. Аб ответил согласием. Качество фильмов студии Диснеев заметно улучшилось. Уолт перестал сам заниматься рисованием. Его основной работой отныне и навсегда станет продюсирование. Аб стал самым высокооплачиваемым мультипликатором студии Диснеев, а в 1924 году официально взял себе псевдоним Аб Айверкс. Студия братьев Диснеев выпустила десятки фильмов об Алисе.
Братья Диснеи придумали для своего следующего мультсериала нового персонажа — Удачливого Кролика Освальда. Как обычно, анимированного героя разработал Аб. Но потом случилось нечто очень неприятное. Их дистрибьютор Чарльз Минц зарегистрировал все права на Кролика Освальда и тайно переманил к себе практически весь персонал студии Диснеев, кроме преданного Уолту Аба Айверкса.
Именно в тот ужасный период родился Микки Маус. Уолт попросил Аба создать нового главного героя, который заменит Освальда. Аб придумал и нарисовал персонажа, который прославит Диснея во всем мире.
Они втайне работали над «Сумасшедшим самолетом» (1928), первым фильмом с Микки Маусом в главной роли. Аб выступил в качестве сорежиссера Уолта и главного мультипликатора. Затем они создали «Пароходик Вилли» (1928), свой первый звуковой фильм, где уже Аб стал режиссером и мультипликатором (на рис. 5.18 — макет текста заставки). Оба фильма имели успех и признаны классикой мультипликации. Затем Аб в качестве главного мультипликатора и Уолт в качестве режиссера приступили к работе над «Пляской скелетов» (1929) — первым из 75 мультфильмов в серии «Забавные симфонии». Из первых четырех выпусков Аб снял четыре, а Уолт — три. Уолт как руководитель студии также занимался их продюсированием.
Казалось, все идет замечательно — но, увы, нет.
Уолт начал вмешиваться в работу Аба по синхронизации анимации, в его выбор моментов отсчетов — в основной секрет впечатлений от анимации. Уолт менял их, не спрашивая своего главного аниматора. Уолт жестко эксплуатировал Аба, в то же время лишая его славы. Компания все больше превращалась в компанию Уолта Диснея; в итоге его имя и стало ее названием.
Возможно, каплей, переполнившей чашу, стал случай на вечеринке: мальчик попросил Уолта нарисовать Микки Мауса и поставить на нем автограф. Уолт повернулся к Абу и сказал: «Нарисуй мне Микки, а я подпишу». Аб огрызнулся: «Сам рисуй своего Микки!» Шел 1929 год. Они работали вместе и близко дружили более 10 лет. Аб принял решение уйти. Уолт из друга превратился в тирана. Продажи для него стали важнее творчества.
Возможно, времена после биржевого краха 1929-го не располагали к новым начинаниям, но в конце года Аб все же решился. Бизнесмен Пэт Пауэрс, конкурент Диснея, профинансировал создание новой компании. Пауэрс шокировал Уолта сообщением о решении Аба и предложил Диснею не обрывать связи с Айверксом в случае, если сделка состоится. «Я не хочу иметь с ним дела, — с горечью ответил Уолт. — Если он так думает, я никогда не смогу с ним работать».
В феврале 1930 года Аб основал студию Ub Iwerks Studio. На ней на протяжении следующих десяти лет сосредоточилась вся жизнь Аба. Студия дебютировала серией мультфильмов с новым персонажем, Лягушонком Флипом. Но детище Айверкса так никогда и не достигло коммерческого успеха, хотя и выпустило десятки мультфильмов. К 1936 году все спонсоры отказали Абу в финансовой поддержке, и ему пришлось сдаться. Затем он работал по найму на разные студии, но к 1940 году устал от производства и захотел сосредоточиться на искусстве. Реализовать свое желание он мог только в одной студии. Аб воссоединился с Уолтом, но на совершенно иных условиях.
К сожалению, Walt Disney Company вычеркнула Аба из своей истории. По-видимому, Уолт и Рой считали, что он предал их, когда они вместе с Белоснежкой творили историю анимации. Но, вернувшись к Диснею, Аб уверенно восстановил свои позиции, по крайней мере в технических вопросах, если не в сердцах Уолта и Роя.
Рис. 5.18
К тому времени, когда мы с Эдом Катмуллом начали совершать наши ежегодные тайные паломничества в студию Disney в середине 1970-х годов в поисках финансирования наших проектов с компьютерной анимацией, Уолт и Аб уже умерли (в 1966-м и 1971-м соответственно). Но безупречная репутация Аба сохранилась. А его сын Дон Айверкс продолжил традиции своего отца. Сотрудники технического департамента уверяли нас, что Аб поддержал бы предложенную нами идею оцифровать процесс покадровой анимации. Племянник Уолта (и его точная копия) Рой Эдвард Дисней, сын Роя Оливера Диснея и шкипер яхты Pyewacket, наконец, примерно десять лет спустя, заинтересовался нашими разработками и стал сторонником создания проекта CAPS. А еще через два десятилетия он расчистит путь для покупки студии Pixar компанией Disney.
Я придавал Феликсу индивидуальность, используя множество выражений лица… Он был домашним животным. Он мог воздействовать на детей… Он мог исполнить множество желаний. Оглядываясь назад, мы видим, как слегка приоткрылась дверь, ведущая в новую область изобразительного искусства.
Для меня мышь отвратительна.
В истории Пэта Салливана и Отто Мессмера слышатся отголоски истории Уолта и Аба. В результате их совместной работы появился персонаж мультсериала Кот Феликс, до сих пор обожаемый поклонниками анимации. Мессмер рисовал анимацию (рис. 5.20). Салливан, движущая сила студии, занимался продюсированием, разбогател и присвоил себе все заслуги.
Феликс занимает особое место между абстрактной анимацией и мультяшными персонажами, сочетая в себе, так сказать, реализм с большой дозой сюрреализма. Его хвост мог превратиться в вопросительный или восклицательный знак. Его уши могли щелкать, как ножницы. Феликс решал мультяшные проблемы самыми абсурдными способами. Например, чтобы попасть на возвышенность, он отрывал собственный хвост, превращал его в ступенчатую линию и взбегал по получившейся «лестнице».
Дональд Крафтон поместил Феликса на обложку своей замечательной всеохватывающей книге о ранней анимации «До Микки: анимационный кинематограф в 1898–1928 годах» и посвятил ему всю последнюю главу: «Это был типичный мультфильм 1920-х годов». Он был черно-белым и немым, но его очарование не ослабевает и поныне.
К 1926 году — до появления Микки — Феликс по популярности не уступал Чарли Чаплину. Куклы Феликса замечательно продавались — это первый пример сувенирной продукции в кинематографе. Но отсутствие звука в конце концов привело к полному краху. Салливан в течение многих лет отказывался озвучивать свои фильмы, и лишь оглушительный успех звукового «Пароходика Вилли» Диснея и Айверкса в 1928 году заставил его передумать. Салливан остановил свой выбор на менее удачной системе записи звука, поэтому к 1930 году его студия практически перестала существовать.
Рис. 5.20
Тем не менее в 1920-х годах Феликс сделал Салливана миллионером. Он и его жена Марджори получили невероятное богатство в сказочном Нью-Йорке эпохи джаза. Они с головой бросились в разгульную жизнь, много пили и устраивали вечеринки, в то время как Мессмер управлял студией и зарабатывал для них деньги. Но в 1932 году Марджори погибла, выпав из окна пятого этажа их квартиры, и Пэт так и не вышел из глубокой алкогольной депрессии.
Все мультфильмы о Феликсе выходили с именем Салливана, а не Мессмера в заглавных кадрах, но Уолт, конечно же, знал, кто выполнял основную работу. Он несколько раз посещал Мессмера в студии Салливана, когда приезжал в Нью-Йорк после успеха «Пароходика Вилли» в 1928 году. Уолт уже начал мыслить масштабнее — он заинтересовался полнометражными мультфильмами и нуждался в талантах. «Он просил и умолял, — рассказывал Мессмер, который не хотел уезжать из Нью-Йорка. — Но мне казалось, что Феликс будет продолжаться вечно. Мы были на пике своего успеха». Однако вскоре студия Салливана потерпела крах, и игровое поле осталось за Уолтом, но он так и не подписал контракт с Мессмером.
Возвращение к битве башен с лабораториями
Я на самом деле не смог толком объяснить, как работают фильмы, особенно анимационные. Точно так же мы не знаем, каким образом актеры и аниматоры делают то, что они делают, — здесь почти наверняка задействован человеческий мозг.
В своей книге я стремлюсь показать, что теорема отсчетов, великая идея Котельникова, дает нам ключ к пониманию Цифрового Света. Поскольку кинопленка, как нам кажется, делает выборку из визуального потока с частотой 24 кадра в секунду, теорема Котельникова, несомненно, должна объяснять принципы работы кино. Однако мы выяснили, что все устроено иначе. Вытекающая из теоремы отсчетов прекрасная идеальная киносистема никогда не использовалась.
Фактически существующая система представляет собой своеобразный процесс отсчетов и выборки, но проецирует каждый кадр дважды, а кадры имеют конечное время экспозиции и содержат подсказки для мозга, такие как размытие движения. В идеальной системе кадры не имеют времени экспозиции — они мгновенны, поэтому в них нельзя разместить подсказки с размытием движения. Но они передают любое движение, скорость которого не превышает ограничение удвоенной частоты выборки. Теорема отсчетов гарантирует это. По мере приближения к Цифровому Свету мы будем стремиться к идеальной системе. Существует ли в современных реальных системах разбрасывание и сложение отсчетов до того, как изображение через зрачок спроецируется на сетчатку глаза? Или мы продолжаем полагаться на то, что «это делает мозг»?
Анимационные фильмы еще дальше выходят за рамки теоремы отсчетов, особенно те, которые «сняты по 2». В таком случае каждый кадр проецируется на сетчатку четыре раза! Еще раз посмотрите на прыгающий мяч. Момент касания земли повторяется снова и снова, снова и снова. Тем не менее наш мозг понимает, чтó нужно увидеть. Он не воспринимает четырехкратное касание. Он скорее ощущает, чем видит один долгий мощный удар. Несомненно, тут используются и трюки из арсенала мастеров анимации: сжатие и растяжение, упреждение и преувеличение.
Сравнение идеального и реального наводит на еще одну сквозную мысль моей книги — противостояние башни из слоновой кости и зловонной лаборатории. И то и другое имеет принципиальное значение. Действительно, это снова противостояние башни из слоновой кости и зловонной лаборатории, снова старый спор о степени творческого вклада одних и других. Реальные киномашины создавались в зловонной лаборатории. Мы можем подняться в башню из слоновой кости, чтобы предложить красивую математическую идею, которая объяснит, почему эти устройства работают. Но нам теперь очевидно, что изобретатели кинематографа начинали не с теории. Теорема выборки не объясняет принцип работы их машин, но она показывает нам, куда двигаться дальше. Такие взаимоотношения действия и мышления гораздо ближе к реальному устройству мира, чем обычно признают теоретики или инженеры.
История также живо напоминает нам о другом технологическом секрете кино, который мы понимаем еще меньше. И Салливан, и Дисней добились успеха в бизнесе, потому что нанимали людей с редким художественным талантом, способных оживлять изображения. Этот метод работает и в цифровом мире. Ключом к непревзойденному успеху студии Pixar в самом начале ее истории стал мой лучший сотрудник — талантливый аниматор Джон Лассетер, прошедший обучение в компании Disney.
Фактор Мура к 2020 году достиг 100 миллиардов X и быстро приближается к 1 триллиону X. Потрясающий, сравнимый со взрывом сверхновой рост вычислительной мощности вдохновил немало заявлений об искусственном интеллекте и машинном обучении, но едва ли мы сейчас приблизились к пониманию того, как аниматор или актер создают героя, по сравнению с 1920-ми и 1930-ми годами. Если верить телевизионной рекламе, все автомобили теперь не менее разумны, чем мы, но ни один из них пока не вдохнул жизнь в персонажа.
Я не говорю, что у технологии есть жесткий предел — что машины
Восход и сияние Цифрового Света
6. Формы грядущего[32]
Форма сплайна
Сплайн-аппроксимация заключает в себе восхитительный парадокс Классической симфонии Прокофьева [sic!]: кажется, что она могла быть написана несколько столетий назад, но, конечно, этого не могло быть.
Чем хорош Сан-Франциско — так это тем, что тут нет проблем с доступом к прекрасной музыке. Тем не менее я был поражен, когда в лабораторию компьютерной графики Lucasfilm однажды утром в 1982 году вошел Рави Шанкар, великий индийский музыкант-ситарист. Я в одиночестве осваивал новый графический редактор, созданный одним из наших штатных гениев, Томом Портером. Я засиделся глубоко за полночь, изучая последнюю добавленную им функцию — рисование сплайнов. Рави привел в лабораторию Кларк Хиггинс, делавший отличные спецэффекты для рок-группы Grateful Dead и для нас[33].
«Ты, конечно, знаешь Рави Шанкара, Элви?»
Я растаял.
«Конечно знаю».
Впервые я увидел его в «Монтерей-Поп» (1968), знаковом фильме 1960-х. Я знал, что он выступал на фестивале в Вудстоке в 1969 году, еще одном ключевом событии той эпохи. Я не был с ним знаком, но хорошо его знал.
Рави — красивый улыбающийся мужчина невысокого роста в безупречно белых индийских одеждах. Больше всего меня удивил исходивший от него неуловимый и удивительный аромат: некая чувственная аура, которая окутывала меня, усиливая его присутствие, когда он заглядывал через мое плечо в монитор.
По чистой случайности на экране компьютера был маленький цветок с красными и синими лепестками и белой точкой в середине. Его нарисовал заходивший накануне художник. Когда Рави вошел, комната осветилась, словно в ней появился настоящий цветок.
«Сплайн, — объяснил я, — это изящная кривая, проходящая через несколько точек. Наш компьютер регистрирует только некоторые из них на всей траектории».
Размашистым жестом я провел стилусом по большому планшету. Больше я ничего не говорил, а просто показывал Рави, как это работает.
Я сделал произвольное движение снизу вверх. В середине немного отклонился вниз, а затем вновь устремился вверх, закончив еще выше.
Затем вступила в действие программа Тома. Во-первых, она создала сплайн, проходящий через разреженные точки, зарегистрированные планшетом. Мы, конечно, не видели сам сплайн — это чистая геометрия с нулевой шириной, хранившаяся где-то внутри компьютера. Но затем после небольшой задержки программа превратила его в нечто, похожее на мазок краски на цветном дисплее. Невидимый сплайн стал основой видимого мазка. Задержка между моим жестом и появившимся изображением была настолько короткой, что, если подключить воображение, казалось, будто я, а не компьютер, нарисовал его прямо на экране. Цвет был выбран случайно — как назло, коричневый.
Программа имитировала мазок тонкой мягкой кистью. Он начинался с минимальной ширины в нижней части дисплея, затем постепенно расширялся по мере подъема и плавно изгибался, пока наконец снова не сужался до нуля в самом верху… прямо у цветка! Идеальный стебель! Как будто я так и задумывал — чего я, конечно, не делал. Все трое находившихся в комнате знали, что это не я. У нас перехватило дыхание. В этот момент Рави Шанкар, мой музыкальный кумир, плавающий вместе со мной в своем собственном небесном аромате и удивленный не меньше меня, коснулся моего плеча и прошептал: «Эээээээлллллвииии!»
Стая жирных уток, стадо китов
В это же время поднялась стая уток и тоже потянулась на север, вслед за своими более шумными родичами.
Сплайн из демонстрации, которую я устроил для Рави Шанкара, представлял собой элемент геометрии, полученный с применением лекала — одного из инструментов чертежника.
В детстве, задолго до появления персональных компьютеров, отец учил меня рисованию и черчению с помощью инструментов. Мы использовали точный немецкий циркуль для рисования окружностей, Т-образный угольник для прямых углов и линий, чертежные перья и тушь, которую в Америке называют индийскими чернилами. У отца был еще один довольно загадочный инструмент — французское лекало (рис. 6.1), напоминавшее перевернутые сани Санты. Оно предназначалось для того, чтобы сгладить последствия дрожи в руках при рисовании плавных кривых необычной формы. Чертежник сдвигает лекало в разные положения, рисуя кривую по частям. Хорошо, если удается найти все нужные шаблоны, но иногда это сделать не получается.
Серьезным чертежникам нужны более надежные инструменты. Дизайнеры роскошных яхт не довольствуются лекалами, на которых иногда отсутствуют необходимые им изгибы. Например, чтобы изобразить корпус гоночной яхты, они используют тонкую гибкую металлическую полосу, удерживаемую на месте тяжелыми грузами, как показано на рисунке 6.2. Полоса проходит через точки, зафиксированные грузами, и образует плавную кривую, по которой легко провести нужную линию. Чертежный инструмент, состоящий из полосы и грузов, называется
Идея программного сплайна, который я демонстрировал Рави Шанкару, непосредственно вдохновлена физическим инструментом дизайнеров яхт. Грузы из-за специфической формы часто называют утками (или китами). Вы даже можете купить целую стаю таких грузов, раскрашенных как кряква, крохаль, арлекин и так далее. На них расположены крючки, через которые проходит физический сплайн. Геометрический сплайн состоит из стаи виртуальных уток и не имеет физического воплощения. Утки в данном случае — это просто точки, через которые проходит линия. В демонстрации для Рави Шанкара утки были отдельными точками, появившимися на планшете, когда я делал росчерк.
Рис. 6.1
Рис. 6.2
Точка зрения стоит 80 баллов IQ.
Сплайн отвечает на вопрос, что соединяет отдельные точки, например те, которые я нарисовал на графическом планшете при демонстрации Рави Шанкару. Это плавная, изящно изогнутая геометрическая кривая, проходящая через точки. Это догадка, что находится между ними, — при условии, что там находится нечто интересное и даже красивое. В противном случае соединение точек становится тривиальной задачей: просто проведите между ними отрезки прямых линий. Зигзагообразный результат не слишком приятен глазу.
Чтобы понять сплайны, мы — хотите верьте, хотите нет — снова обращаемся к теореме Котельникова. Но теперь нам придется взглянуть на нее с несколько иной точки зрения.
В главе о теореме отсчетов мы познакомились с сэром Эдмундом Тейлором Уиттекером, но наша встреча оказалась столь мимолетной, что его имя, возможно, вам даже не запомнилось. Уиттекер считается одним из величайших английских математиков. Он учился в Кембридже в Тринити-колледже, в колледже Исаака Ньютона, где начал преподавать с 1896 года. Он был избран членом Королевского общества в 1905-м. На следующем этапе своей блестящей математической карьеры Уиттекер возглавил математический факультет Эдинбургского университета.
Но почему я считаю первооткрывателем теоремы отсчетов Котельникова, а не Уиттекера? На то есть две причины. Во-первых, он не доказал эту теорему с той точки зрения, которую мы используем в Цифровом Свете для отображения пикселей. Во-вторых, даже если принять его точку зрения, он не полностью доказал теорему в том виде, в котором она используется в настоящее время.
Подход Уиттекера заключался в
Теорию интерполяции… в ее самом элементарном аспекте можно описать как науку о «чтении между строк математической таблицы».
Наверное, большинству читателей таблицы данных не кажутся чем-то красивым и изящным, но они удобны. Допустим, мы каждый час измеряем и записываем температуру в определенном месте кампуса Калифорнийского университета в Беркли. Тогда как же нам предположить, какая температура будет там через 15 минут после начала любого часа, скажем в четверть четвертого пополудни? Теория интерполяции Уиттекера позволяет сделать обоснованную догадку.
В отличие от него, Котельников никогда не видел своей задачей создание плавных кривых. С его точки зрения, цель заключалась в
Уиттекер придерживался противоположной точки зрения. Он начал с дискретных точек — отсчетов данных. Он стремился найти гладкую кривую, которая бы их соединила, и именно поэтому не пришел к обоснованию более сильной версии теоремы отсчетов, которую доказал Котельников (и — повторно — Клод Шеннон).
Как мы уже говорили, теорема Котельникова о выборке в простейшей форме состоит из двух частей. Первая часть сообщает, как получить дискретные измерения чего-то гладкого, описываемого как сумма волн Фурье — наиболее гладкого представления естественного мира. В частности, она утверждает, что эти измерения нужно сделать на (не менее чем) удвоенной частоте самой быстрой из суммируемых волн. Вторая часть описывает использование идеального разбрасывателя, чтобы «разбросать» полученные отсчеты и сложить их, воссоздав исходную гладкость. Другими словами, вторая часть объясняет, как интерполировать образцы, чтобы получить из них исходную гладкость. Котельников начинает с гладкости, делает дискретные измерения, а затем восстанавливает исходную гладкость: от гладкого к дискретному и обратно к гладкому.
Интерполяционная теорема Уиттекера предлагает нам расширять каждую заданную точку с помощью расширителя — такого же, как идеальный разбрасыватель Котельникова. Затем результаты суммируются, чтобы получить интерполяцию, плавную кривую между точками данных. Такая кривая представляет собой сумму волн Фурье до самой высокой частоты, соответствующей используемому расширителю. Вспомните, что идеальный разбрасыватель колеблется так же часто, как и волна самой высокой частоты. Уиттекер начинает с дискретных данных, интерполирует гладкость между ними, затем находит нужные данные на кривой между исходными данными: от дискретного к гладкому и обратно к дискретному.
Несмотря на разные точки зрения, математически результаты Уиттекера и Котельникова эквивалентны. Просто один из них пошел от обратного. Так почему бы не отдать лавры за теорему отсчетов Уиттекеру? Причина заключается в том, что он не доказал более сложную форму теоремы Котельникова о дискретизации, так называемую
Тем не менее вполне уместно в этой главе провозгласить Уиттекера изобретателем интерполяции. Так мы достигнем прекрасного баланса между интерполяционной точкой зрения Уиттекера при создании гладких объектов для компьютерной графики и дискретной точкой зрения Котельникова при их пиксельном отображении. Совершенно неочевидно, но одна и та же основная идея, рассмотренная с двух разных точек зрения, фигурирует в обеих областях Цифрового Света: идея Уиттекера — в создании, а идея Котельникова — в отображении.
На рисунке 6.3 изображены точки, полученные на планшете во время моей демонстрации технологии Рави Шанкару. Маленькая стрелка показывает направление движения стилуса. Планшет записал мой жест в виде значений координат через равные временные интервалы, так что, как вы можете заметить, я сначала рисовал быстро, затем замедлялся на поворотах и заканчивал снова быстро. Изображение справа — это то, что нам не нужно, соединение точек прямыми линиями. Это интерполяция тех же данных, но не очень приятная на вид — жесткая зигзагообразная «кривая». В старые недобрые времена люди думали, что компьютер на большее не способен. Они считали компьютеры грубыми и угловатыми — одним словом, механическими, — пока закон Мура не доказал обратное. В компьютерной графике линейная интерполяция — прямые линии между точками — не приветствуется.
Рис. 6.3
Мы научились делать намного лучше. Расположение каждой точки можно сопоставить с расстоянием до нее по вертикали от нижнего края планшета. Рисунок 6.4 демонстрирует график вертикального положения каждой точки. Это просто точки слева, расположенные по горизонтали через равные промежутки времени.
Мы сделали вертикальные позиции точек похожими на отсчеты вроде тех, что показаны в предыдущей главе. Это не выборка из окружающей действительности, но ничто не мешает нам вести себя, как будто так оно и есть. Давайте создадим фиктивную «реальность» с помощью теоремы выборки. Обратите внимание, мы говорим
Затем мы повторяем тот же трюк для горизонтальных позиций. В результате получается гладкая кривая, которая проходит через «выбранные» горизонтальные позиции. Точки на кривой соответствуют желаемым горизонтальным положениям, поскольку они плавно меняются во времени.
Рис. 6.4
С помощью этих двух кривых мы можем построить нужную нам двумерную пространственную кривую — сплайн — в любой конкретный момент: мы берем ее вертикальное положение на первой кривой и ее горизонтальное положение в тот же момент на второй кривой. Если действовать методично по мере течения времени, то мы прочерчиваем нужную нам кривую в том же направлении и порядке, что и исходное движение стилуса. То есть мы построили пару гладких кривых для вертикального и горизонтального положений стилуса, которые проходят через, или интерполируют, точки на планшете, которые я демонстрировал Рави Шанкару. Это сложный способ сказать, что мы создали плавную кривую через точки.
Давайте повторим наши рассуждения снова. Мы предполагаем, что через заданные точки планшета проходит гладкая кривая — траектория исходного движения. Если вы задумаетесь над реализацией этой версии, вы поймете, что вертикальные изменения вдоль траектории должны происходить плавно, как и горизонтальные. Итак, мы используем технику реконструкции — согласно теореме отсчетов, — чтобы построить плавно изменяющуюся кривую вертикальных положений и другую кривую плавно изменяющихся горизонтальных положений. Обе должны пройти через вертикальное и горизонтальное положение точек нашей выборки в двумерном пространстве. В любой другой момент мы можем просто брать положение по вертикали и по горизонтали на двух построенных кривых, чтобы получить координаты точки, которая должна лежать на этом месте в определенный момент. На рисунке 6.6 показано, как выглядит итоговый сплайн по сравнению с определившими его точками-«утками». То, что вводит человек, показано слева, а то, что выводит компьютер, — справа. Получившаяся кривая гладкая, а не зигзагообразная. Это сплайн, одна из самых красивых идей Цифрового Света. И вообще,
Рис. 6.5
Рис. 6.6
Посмотрите еще раз на изображение (рис. 6.7) разбрасывателя, применявшегося как Котельниковым, так и Уиттекером. Это теоретически правильный разбрасыватель.
Но мы не сможем использовать его для наших сплайновых конструкций, потому что он бесконечен. Его волны уменьшаются, но не прекращаются. Ранее мы использовали в качестве альтернативы практичный конечный разбрасыватель, изображенный на рисунке 6.7 внизу, рассматривая его как «хорошее приближение» к идеальному. Однако все это мы проделывали в контексте реконструкции — в вотчине Котельникова. Здесь, где контекст подразумевает создание, нам не нужно использовать идеальный и бесконечный расширитель. Мы можем довольствоваться более простой и конечной версией. И замечание о приближении значения не имеет. Мы точно строим новую кривую, а не приблизительно реконструируем прежнюю.
Сплайн, получающийся при помощи простого разбрасывателя, открывали заново несколько раз. В компьютерной графике его называют сплайном Катмулла — Рома — в честь двух студентов, изучавших компьютерную графику и открывших его заново: Эда Катмулла, который вместе со мной основал Pixar, и Рафаэля Рома.
Поскольку и Катмулл, и Ром пришли к своему сплайну, отталкиваясь от построения гладких кривых через интерполяцию Уиттекера, им бы не пришло в голову искать в нем реконструкцию по отсчетам Котельникова, а их разбрасыватель лишь приближался к идеальному. И они даже не подумали бы о частотах Фурье в сгенерированных сплайнах.
Рис. 6.7
Два разных подхода — к созиданию и к отображению — основаны на разных точках зрения, поэтому я отдаю должное Уиттекеру за создание, а Котельникову — за реконструкцию. Важное практическое следствие заключается в том, что один разбрасыватель может использоваться в обоих контекстах. И в том и в другом случае достаточно одной компьютерной программы. Возможность применения одной и той же идеи как в пространстве Созидания, так и в пространстве Отображения — удивительно красивая взаимосвязь.
Определение компьютерной графики
Демонстрация сплайна Рави Шанкару — это пример
В ту ночь с Рави Шанкаром программа Тома Портера создала невидимый сплайн как основу мазка кисти. В его основе лежала геометрия. Хотя она входит в определение компьютерной графики, модель не рассматривается исключительно как геометрическая. У модели росчерка также есть цвет, мягкие полупрозрачные края и ширина, изменяющаяся во времени. Программа визуализировала модель росчерка в пикселях, которые затем отображались на полноцветном дисплее в графической лаборатории Lucasfilm. Это пример двумерной компьютерной графики, потому что модель основана на двумерной геометрии.
Изображение того же сплайна в этой главе — более простая визуализация. У его модели точно такая же геометрическая траектория, как и росчерк, который я показал Рави Шанкару. Но другие компоненты модели отличаются. Это черная линия постоянной ширины на белом фоне. Обе картинки — примеры компьютерной графики. Отдельный геометрический объект из пространства Творчества можно воплотить множеством способов в пространстве Отображения — все зависит от негеометрических компонентов модели.
С другой стороны, без геометрии нет и компьютерной графики. Adobe Illustrator преобразует двумерные геометрические модели в пиксели. Это программа для компьютерной графики. Adobe Photoshop изменяет пиксели, взятые из реального мира, или создает их с нуля. Это не программа для компьютерной графики. Это программа обработки изображений из другого ответвления Цифрового Света. Точно так же на своих ранних компьютерах Apple предлагала программу для компьютерной графики MacDraw и программу для попиксельной графики или обработки изображений MacPaint. (См. комментарии на сайте для обсуждения обобщенного понятия «геометрия».)
Компьютерная графика предполагает геометрию на входе и пиксели на выходе. При обработке изображений получаются пиксели и на входе, и на выходе. И то и другое используется для создания изображений. На заре компьютерной эры, когда память стоила очень дорого, обработка изображений сводилась только к фотосъемке, но теперь, в новом тысячелетии, благодаря закону Мура стало возможным создавать изображения непосредственно из пикселей.
Пары продуктов Adobe и Apple отражают старое разделение Цифрового Света, вызванное окольным путем развития через векторную графику, о котором я упоминал в четвертой главе. В самом начале компьютерной эры программы, основанные на геометрии, разрабатывались для векторных дисплеев, а программы, основанные на пикселях, — для растровых. Сейчас понять такое различие достаточно сложно, потому что со времен Великой цифровой конвергенции оба варианта отображаются в пикселях. Компьютерную графику от обработки изображений отличает содержание ее основанного на геометрии пространства Творчества. Но обе ветви теперь используют одно и то же пространство Отображения.
Существует множество примеров двумерной компьютерной графики. Даже интерфейс Microsoft Windows, который я сейчас использую, — это компьютерная графика. Окна на экране в пространстве Отображения — это прямоугольные модели стопок бумаг на рабочем столе в пространстве Творчества программы. То же самое и с интерфейсом Microsoft Word. Его модель через последовательность прямоугольников представляет страницы документа, а каждая буква на странице в конечном счете определяется геометрической моделью. Дизайн веб-страницы и веб-браузер, который использует такую модель страницы для отображения, — тоже подходящий пример. Геометрия на входе, пиксели на выходе.
Основная цель моей книги — показать, как на компьютере создается фильм, подобный тем, что выпускает студия Pixar. Каждый его кадр моделируется с помощью трехмерной геометрии внутри компьютера, а затем преобразуется в двумерные пиксели для полноцветного отображения. Именно это мы подразумеваем под трехмерной компьютерной графикой, которой посвящена эта книга. Видеоигры создаются таким же образом. И VR тоже — с двумя отображениями каждого кадра (по одному для правого и левого глаза) для создания стереоэффекта.
Сплайн — это кривая, а не поверхность, но теперь мы сосредоточим внимание на моделировании поверхностей. Следующие формы, которые мы рассмотрим, служат этой цели. Первая из них проста и хорошо известна.
Форма треугольника
Что такое треугольник? Я сверился с учебником элементарной геометрии, который бережно храню со времен окончания средней школы в Кловисе, штат Нью-Мексико, — книгой, определившей мое будущее. Она начинается на странице 7 с точек и прямых линий. Эти две идеи действительно нельзя определить через другие — мы просто «знаем», что они собой представляют, — но мы начинаем «понимать» их, лишь подумав, чего им не хватает или чем они не являются: у точки нет ни ширины, ни высоты, ни толщины. Это просто местоположение. Прямая линия не имеет ни ширины, ни толщины и продолжается бесконечно в обоих направлениях одного измерения. Она задается двумя точками. Отрезок прямой — это конечный участок линии, заданный двумя точками, расположенными на ней (для самого отрезка они будут конечными точками). Ломаная линия состоит из отрезков, конец каждого из которых, кроме последнего, соединен с началом другого. Таким образом, у ломаной линии есть две конечные точки.
Удивительно, но в учебнике до 57-й страницы нет ни одного упоминания скромного треугольника. Многоугольник — это замкнутая ломаная линия, говорится там. Конечная точка последнего отрезка соединяется с началом первого отрезка — таким образом, никаких конечных точек. Ну и, наконец, треугольник — это многоугольник, у которого всего три стороны. Все эти геометрические фигуры невидимы — в силу нулевой толщины линий, — но в учебнике сказано, что точка представлена точкой на картинке. Весь этот урок геометрии показан на рисунке 6.8. Здесь вы видите визуализации пяти невидимых геометрических объектов, о которых я только что упомянул. Перед вами конкретные изображения простых абстрактных геометрических моделей.
Преимущество столь длинного пути учебника к треугольнику в том, что так вводится важный термин.
Благодаря этому трюку мы можем сосредоточиться только на моделях, состоящих из треугольников. Однако не каждую модель получится изготовить из треугольников. Геометрическая модель кривой, которую я показывал Рави Шанкару, — это просто сплайн, а не многоугольник. Текст на первой цифровой картинке «Первый Свет» и игровые поля ранних видеоигр в главе «Восход Цифрового Света» также основывались на простых моделях, несводимых к треугольникам. Они, за немногими исключениями, представляли собой просто отрезки прямой линии.
Но вспомните анимационные фильмы Pixar (от «Истории игрушек» до «Суперсемейки 2»), «Гадкий я» студии Illumination и все другие анимационные фильмы с трехмерными персонажами, похожие на те, что делает Pixar. Все персонажи состоят из поверхностей, а поверхности можно моделировать только из треугольников.
Если мы научимся работать с одним треугольником, то Усиление — великая суперспособность компьютеров — позаботится обо всех остальных (обычно речь идет о миллионах треугольников). Центральная идея этой и следующей глав заключается в том, что если вы разберетесь, как один треугольник попадает из памяти компьютера на экран дисплея, то с помощью концепции Усиления легко поймете, как на экране оказывается все изображение. Именно компьютер, неустанно вычисляющий одно и то же снова и снова, миллионы и даже миллиарды раз, с высокой скоростью, делает возможной компьютерную графику. Это трудно сделать — а для человека без посторонней помощи и вовсе невозможно, — но легко понять.
Рис. 6.8
Рис. 6.9
На протяжении десятилетий компьютерные художники демонстрировали свои достижения, создавая изображения одного объекта… Чайника. На самом деле
На рисунке 6.11 показано, как смоделировать сложный объект — чайник — на компьютере при помощи геометрии. Та же идея используется для моделирования формы каждого персонажа в фильмах, созданных по тому же принципу, что и фильмы студии Pixar. Перед вами две разные модели чайника Ньюэлла, которые — по понятным причинам — называются
На самом деле такие картинки — не то, что находится внутри компьютера. Внутри компьютера нет картинок, даже похожих на геометрию. Изображения — это визуализации геометрических моделей внутри компьютера при помощи пикселей, которые отображаются на дисплее, а в данном случае — на печатной странице, которую вы сейчас читаете.
Что такое «геометрическая модель внутри компьютера»? Вспомним, что внутри компьютера есть только узоры из информации. Хотя биты не обязательны, как мы обсуждали, в наши дни узоры информации всегда хранятся именно в них. Таким образом, модель — определенный узор из высоких и низких напряжений в элементах интегральной микросхемы, расположенной где-то в недрах компьютера.
В предыдущих главах я также отмечал, что биты не обязательно представляют числа, но в геометрических моделях для компьютерной графики они именно так и делают. Каждый отрезок линии, образующий треугольник, то есть каждая из его сторон, представлен числами, обозначающими положение двух его концов. Другими словами, в памяти компьютера хранятся координаты каждой вершины (точки, где сходятся стороны), ее расположение по горизонтали, вертикали и глубине. Таким образом, модель, состоящая из треугольников, внутри компьютера — это просто набор битов, которые представляют числа, обозначающие положение вершин треугольников в трехмерном пространстве. Модель — это, по сути, список чисел, обычно очень длинный. В списке для чайника их будет около 26 000; для Базза Лайтера потребуются миллионы. Усиление — единственный способ, благодаря которому мы справляемся с такими объемами.
Рис. 6.10
Для геометрической модели обычно хранится еще один вид информации. Его можно считать структурой модели: эта точка соединена с той, этот треугольник имеет общее ребро с тем, эта ручка чайника соединена с корпусом или бедренная кость персонажа соединена с берцовой. Такие фрагменты информации — тоже числа, это адреса в памяти компьютера. Например, за тремя координатами точки следует еще одно число. Оно сообщает программе, куда обратиться в массиве памяти, чтобы найти другую точку, связанную с этой.
Компьютер, конечно же, не понимает, что означают эти данные. Он даже не подозревает, что паттерны из высокого и низкого напряжения на самом деле — геометрическая модель. Чтобы разобраться в них, нужна программа. Именно программа «знает», что биты представляют собой числа, а хранящиеся в памяти числа представляют собой треугольники. Или что число — это адрес, по которому находится примыкающий элемент. Длинный список бессмысленных шагов — программа, хранящаяся внутри компьютера, — придает смысл длинному списку чисел — модели, хранящейся внутри компьютера, — и в результате появляется картинка на дисплее. На самом деле именно человек, написавший программу, знает смысл ее самой и данных, которыми она оперирует.
Вам не обязательно видеть модель в процессе ее создания. В первые дни компьютерной графики программисты делали модели, не видя их. Мартин Ньюэлл не видел модель своего чайника, когда программировал ее на компьютере. Но современные программы компьютерной графики позволяют нам видеть модель, по мере того как мы ее проектируем. Как мы скоро узнаем, день, когда
Как список чисел превращается в чайник или в Базза Лайтера? Если вы знаете, как один треугольник проходит путь от битов до отображенных пикселей, то компьютерная суперспособность Усиление справится со всем остальным — с той частью тяжелой работы, которую ни один человек, независимо от того, насколько он опытен, умен или сведущ в компьютерах, не сделает. Компьютеры очень хорошо справляются с монотонным выполнением множества бессмысленных инструкций. Итак, наша цель — вывести на экран один треугольник. Если мы поймем, как это делается, мы поймем всё.
Модель, состоящая из треугольников, трехмерна, но ее изображение, то есть геометрическая модель, представленная в пикселях пространства Отображения, имеет только два измерения. Два каркасных чайника, изображенные на рисунке 6.11, кажутся трехмерными, потому что они визуализированы в перспективе, в результате чего треугольники несколько сплющились. Но они всё еще остаются треугольниками. Именно эти двумерные треугольники мы сейчас будем учиться рисовать.
Это легко сделать на старомодном векторном дисплее. Программа просто дает указание дисплею провести отрезок — сторону треугольника — от одной из его конечных точек до другой. А затем программа повторяет инструкцию для двух других сторон. Вот и всё. Перед нами на дисплее изображение треугольника. Из короткого списка чисел, хранящихся в памяти в виде битов, мы получили изображение треугольника на дисплее. Используя чудо Усиления, мы заставляем компьютер очень быстро повторять этот простой процесс десятки тысяч раз, чтобы получить геометрическую модель целого чайника в виде каркасного изображения на векторном дисплее.
Хотя в отображении треугольников таким образом концептуально нет ничего сложного, компьютерная графика потратила годы, чтобы сделать этот процесс эффективным. Например, пустая трата драгоценного времени — рисовать сторону треугольника более одного раза, если она общая с другим треугольником. Мы упустили из виду несколько других вопросов, важных для компьютерной графики, но это технические подробности (см. комментарии на сайте). Вам не нужно знать о них, чтобы интуитивно понять, насколько просто преобразовать треугольник из числовых значений, хранящихся в ячейках памяти компьютера, в изображение на экране дисплея. Или в сетку из треугольников, изображающую чайник.
Рис. 6.11
На векторном дисплее легко нарисовать отрезок линии, а значит, и треугольник. Но современные дисплеи не векторные. Они растровые — с изображениями, которые формируются из отображенных пикселей. Как же провести отрезок прямой линии под произвольным углом на устройстве, элементы отображения на котором расположены строго в рядах и столбцах? Этот же вопрос можно задать иначе: как вы визуализируете линейный сегмент на растровом дисплее?
Первым алгоритмом рендеринга в компьютерной графике, получившим имя человека, был
Вот отрезок линии (рис. 6.12, диагональ), визуализированный с помощью алгоритма Брезенхэма в виде черных отображенных пикселей на белом фоне. Маленькие точки — это местоположения пикселей. Отображенные пиксели (большие точки) размещаются поблизости или на самом отрезке. Алгоритм Брезенхэма наиболее эффективен на простых растровых дисплеях, отображающих только черный или белый цвет.
Конечно, диагональный отрезок, который вы здесь видите, — на самом деле рендеринг в отображенные пиксели на современном дисплее (или печатной странице) невидимого в противном случае отрезка. А отображенные, или «разбросанные», пиксели (большие точки) брезенхэмовского приближения отрезка на самом деле не являются увеличенными изображениями пикселей. Пиксели — это не идеальные маленькие квадратики и не замечательные черные кружки.
Алгоритм Брезенхэма и ему подобные сделали раннюю компьютерную графику. Вы увидите эти предательские ступеньки, если, прищурив глаза, посмотрите на рисунок 6.12, не обращая внимания на диагональный отрезок. Столь непрезентабельный вид, который многие люди в то время считали нормой для компьютерных изображений, — опять-таки следствие ошибочного мнения, будто компьютеры должны быть грубыми и «механическими». Как мы видели в главе «Восход Цифрового Света», прошло еще 10 лет, прежде чем Дик Шауп показал, что ступенчатость не свойственна компьютерам. В 1973 году он продемонстрировал прямые линии, которые прекрасно воспроизводились с помощью разбросанных пикселей (рис. 4.26). Но эти пиксели имели гораздо больше двух значений — на два порядка.
В алгоритме Брезенхэма меня в первую очередь привлекла не его эффективность, а фамилия Брезенхэм. Она пишется точно так же, как писал свою фамилию Дик Брезенхэм, мой одноклассник из Кловиса, штат Нью-Мексико. Конечно же, Джек Брезенхэм, изобретатель алгоритма, вряд ли жил в Кловисе. Я проверил и обнаружил, что на самом деле он работал на IBM в Англии, что устранило любые сомнения. Точнее, я так думал. Но когда вышло первое издание важного учебника по компьютерной графике, миссис Брезенхэм из Кловиса позвонила миссис Смит из Кловиса и сказала: «Там есть глава, которую написал мой сын, и есть глава, которую написал ваш». Она преувеличивала нашу значимость, как это свойственно мамам, но суть дела заключалась в следующем: Джек — это брат Дика из моего родного города. Когда я наконец встретился с Джеком, то узнал, что он закончил школу в Кловисе незадолго до того, как я стал достаточно взрослым, чтобы познакомиться с ним.
Рис. 6.12
Блок-схема ранней компьютерной графики (продолжение)
Теперь рассмотрим эти события в историческом контексте. Здесь я использую блок-схему, аналогичную той, которую использовал в предыдущих двух главах, чтобы описать сложную историю, в которой участвовало множество соперников. Блок-схема истории компьютеров из главы «Восход Цифрового Света» охватывает конец 1940-х и начало 1950-х годов. Мы можем считать этот временной отрезок первой стадией периода до закона Мура, то есть первой стадией Эпохи 1. Рисунок 6.13 продолжает диаграмму на рисунке 4.6 с конца 1950-х и на протяжении большей части 1960-х годов, во вторую стадию Эпохи 1. Ячейка с надписью «Whirlwind» повторяется, чтобы показать, где соединяются две диаграммы.
Надпись «Закон Мура 1965 года» появляется в нижней средней части блок-схемы, указывая на судьбоносное событие, положившее начало Эпохе 2. Мы оставим ее исследование для следующей главы, за исключением одного тщательно обозначенного события, включенного сюда для удобства. Хотя оно произошло после 1965 года, закону Мура еще не подчинялось. Отдельные персоналии обозначены окружностями, группы — эллипсами, компьютеры и специализированные аппаратные устройства — прямоугольниками, программы, книги и концепции (все «мягкие» идеи) — параллелограммами.
Все, что я сказал о блок-схемах в предыдущих главах, применимо и здесь: это не исчерпывающее представление. Многие люди и события, не указанные тут, упомянуты в тексте или в комментариях на сайте, но, конечно, далеко не все. А текст этой главы можно рассматривать как длинную расшифровку подписей к блок-схеме. Как и прежде, сложность диаграммы демонстрирует, что история высоких технологий редко сводится (а то и вовсе не сводится) к одному лидеру.
Важное отличие: объекты против изображений
Компьютерная графика, по определению, — это создание видимых изображений из невидимых геометрических моделей, хранящихся в памяти компьютера. Есть два основных способа дальнейшего использования этих моделей, что разделяет компьютерную графику на два очень непохожих друг на друга направления.
В первом случае модели представляют объекты, предназначенные для существования в реальном мире, — это
Второй случай — это
Конструкторскую графику (САПР) от иллюстративной отличает важное условие. Если попытаться описать его одним словом, это будет
Поскольку объекты реального мира должны выдерживать реальные нагрузки, они часто подвергаются серьезному тестированию еще на этапе компьютерной модели. Например, мост, сделанный из стальных ферм, сначала тестируется с помощью компьютерного моделирования нагрузки, прежде чем настоящие фермы будут выкованы, сварены и собраны в реальную конструкцию. Точная компьютерная модель моста поставляет исходные данные для моделирования ожидаемой нагрузки на мост от воздействия транспорта или ветра. Или две части космического корабля, которые должны прочно скрепляться друг с другом, проверяются в форме компьютерной модели, чтобы убедиться, достаточно ли надежно они будут соединены после фактического воплощения в металле.
Но в остальных случаях важнее изображения на выходе, отсюда и иллюстративная компьютерная графика. Точные размеры и физическая реализуемость не имеют значения. От картинок требуется лишь выглядеть убедительно. Студия Pixar отправляет модель шерифа Вуди из «Истории игрушек» на производственное предприятие, которое превращает ее в точную сборочную модель при помощи САПР и делает реальные пластмассовые игрушки, но главная цель оригинальной модели состоит в создании мультфильма «История игрушек».
Голливуд славится своими фальшивыми фасадами. Вспомните типичную главную улицу городка на Диком Западе из ковбойского вестерна. Все дома сделаны из фанеры, а за фасадами нет ничего, кроме подпорок. Все фильмы, созданные компьютером, — это такие же фальшивые фасады. Под видимыми поверхностями Вуди ничего нет. Он — это только поверхность. Внутри нечего тестировать на нагрузки. Кого волнует, получится ли его изготовить? Персонажи в первую очередь должны выглядеть хорошо.
Вспомните тексты, о которых я рассказывал в главе «Восход Цифрового Света»: надпись Первого Света C. R. T. STORE и одну из первых анимаций HELLO MR. MURROW. Никакие объекты в реальном мире не соответствовали этим изображениям. Или две ранние игры из той же главы — шашки и крестики-нолики. В реальном мире, опять же, никогда не существовало соответствующей реальной игровой доски и фигур. Математических кривых, которые отображались на Whirlwind, также нет в реальном мире. Во всех перечисленных примерах ранней графики нет никаких форм реального мира, кроме отображаемых пикселей на дисплее компьютера и их невидимых моделей (очень простых). Таким образом, все изображения из главы «Восход Цифрового Света» — это образцы иллюстративной, а не конструкторской (САПР) компьютерной графики. Тем не менее далее мы увидим, что почти все первые разработчики иллюстративной графики, как правило, были выходцами из конструкторской.
Конструкторская и иллюстративная графика тесно связаны между собой, а их истории тесно переплетены. Неудивительно, что их часто смешивают и путают. С этого момента под словами «
Я уже упоминал, что многого не обозначил на блок-схемах из предыдущих глав, чтобы обозначить только те пути, которые ведут к Цифровому Свету. Очередная блок-схема (рис. 6.13) концентрируется лишь на тех, кто работал над частью Цифрового Света, связанной с компьютерной графикой. Особое внимание я уделяю составляющим компьютерной графики, которые особенно важны для создания цифровых фильмов, — о них речь пойдет в следующей главе. К счастью, в ней все же удалось отразить многие основные события из истории ранней компьютерной графики.
Окружающая среда
Компьютерная графика возникла в особой среде. Она разделяет ее с двумя другими изобретениями — персональным компьютером и интернетом. Это потрясающая история — история национального технологического расцвета.
Правительство США отреагировало на угрозу, исходившую от нацистской Германии, вложением огромных сумм государственных денег в несколько центров исследований и разработок — в капиталистическом обществе так обычно не поступают. Ощущалась неизбежность войны. На кону стояло слишком много, а шансы выигрывать повышались у того, кто быстрее. Эти средства не вызывали рыночной конкуренции — ни запросов коммерческих предложений, ни технических заданий с изложением деталей, ни конкурентных торгов. Деньги просто раздали. Массачусетский технологический институт выступил одним из главных бенефициаров аттракциона невиданной щедрости, ставшей тем подарком, который укрепил его положение как ведущего технологического университета в мире.
Рис. 6.13
Благодаря государственному финансированию, полученному в 1940 году, Массачусетский технологический институт создал две лаборатории. Радиационная лаборатория сосредоточилась на радарных технологиях, которые обещали переломить ход войны против немцев. Эти исследования имели первостепенное значение. Лаборатория сервомеханизмов сосредоточилась на управлении сложными системами (сервомеханизмом, или сервоприводом, обычно называют двигатель, который использует обратную связь для точного управления). Обе лаборатории несколько раз меняли названия, что затрудняет отслеживание их истории. Это можно в какой-то мере упростить, составив таблицу из двух колонок (в шапке таблицы обозначены подгруппы, а не переименования):
Компьютер Whirlwind сначала разрабатывался в Лаборатории сервоприводов, затем перешел в Лабораторию цифровых компьютеров в 1951-м и в том же году был включен в проект «Линкольн» (из колонки Радиационной лаборатории). Таким образом, компьютерная графика происходит в основном из Радиационной лаборатории, но не полностью. Работы над системой автоматизированного проектирования (САПР) начались в Массачусетском технологическом институте в 1959 году как часть исследований Лаборатории электронных систем. Заманчиво заявить, что компьютерное проектирование вышло из Лаборатории сервомеханизмов. Но, как вскоре мы узнаем, истории компьютерной графики и автоматизированного проектирования в Массачусетском технологическом институте переплетены гораздо более тесно.
Сразу после войны Ванневар Буш, профессор и администратор Массачусетского технологического института, опубликовал в журнале
Рассмотрим будущее устройство для индивидуального использования, которое представляет собой своего рода механизированный личный каталог документов и библиотеку. Ему нужно имя, и я дам его наугад, думаю, вполне подойдет «мемекс». Мемекс — это устройство, в котором человек хранит все свои книги, записи и сообщения и которое механизировано таким образом, что с ним можно обращаться с чрезвычайной скоростью и гибкостью. Это мощное персональное дополнение к человеческой памяти.
В своем знаменитом прогнозе о «мемекс-памяти» он во многом ошибся. В абзаце, который предшествует только что процитированному, он говорит, что мемекс будет размером с письменный стол. Да и само название не прижилось. Но некоторые другие предсказания попали точно в яблочко — прозорливым видением будущего через 75 лет, то есть сейчас: «Появятся совершенно новые формы энциклопедий, пронизанные готовой сетью ассоциативных троп». И еще: «Возникнет новая профессия первопроходцев, тех, кто находит удовольствие в работе по прокладыванию этих полезных троп через огромные массивы общедоступной информации». В некотором роде именно это я и делаю своей книгой.
Буш (он не имеет никакого отношения к семье будущих президентов США) сыграл важную роль в реализации Манхэттенского проекта и создании Национального научного фонда. Он стал первым научным советником президента США Франклина Д. Рузвельта. Возможно, самым известным его студентом в Массачусетском технологическом институте был Клод Шеннон. Еще у него учился Фредерик Терман, который позже, в Стэнфорде, сдавал университетские земли в аренду высокотехнологичным фирмам для создания того, что сейчас известно как Кремниевая долина.
«Тринити» — испытание атомной бомбы на полигоне в Нью-Мексико в 1945 году, за которым вскоре прошли бомбардировки Хиросимы и Нагасаки, — ознаменовало конец Второй мировой войны. За ней последовала холодная война с Россией. Масла в огонь подлил американский физик Клаус Фукс, участник Манхэттенского проекта, присутствовавший на испытании и передавший ядерные секреты Советам. По иронии судьбы, работая с суперпатриотом Джоном фон Нейманом над американской водородной бомбой, Фукс также снабжал Советы секретной информацией о ней. Советы взорвали свою первую атомную бомбу «Джо-1» в 1949 году и свою первую водородную бомбу «Джо-4» в 1953-м (это, конечно, американские прозвища советских бомб, отсылающие к имени Иосифа Сталина).
Затем последовал еще один шок. В 1957 году самодовольных американцев ошеломил запуск советского космического аппарата «Спутник». Потрясение было очень сильным, хотя, как мы видели в предыдущей главе, автор теоремы отсчетов Владимир Котельников ясно и недвусмысленно предупредил нас об этом. США в ответ создали Управление перспективных исследовательских проектов (Advanced Research Projects Agency, ARPA) при Министерстве обороны в 1957 году и Национальное управление по аэронавтике и исследованию космического пространства (National Aeronautics and Space Administration, NASA) в 1958-м. ARPA финансировало большую часть того, что стало основным направлением компьютерной графики. Люди, повлиявшие на ее будущее, работали администраторами как в ARPA, так и в NASA. Первым из них был Джозеф Карл Робнетт «Лик» Ликлайдер.
В 1960 году Лик Ликлайдер опубликовал статью «Симбиоз человека и машины» в научном журнале
Кажется разумным представить себе через 10 или 15 лет «мыслительный центр», который будет включать в себя функции современных библиотек вместе с ожидаемыми достижениями в области хранения и поиска информации и симбиотическими функциями, предложенными ранее в этой статье. Картина легко разворачивается в сеть таких центров, соединенных друг с другом широкополосными линиями связи, а с отдельными пользователями — посредством выделенной проводной связи. В такой системе скорость компьютеров была бы сбалансирована, а стоимость гигантской памяти и сложных программ делилась бы на количество пользователей.
До появления закона Мура и интернета прогнозы часто оказывались неверными. Некоторые, например, считали, что будущее — за компьютерами с разделением времени. Вместо того чтобы к большому компьютеру получал доступ один пользователь за раз, по-видимому, предполагалось, что на нем будут работать несколько пользователей одновременно. Однако одновременность была только кажущейся, потому что компьютеры уже стали достаточно быстрыми. На самом деле каждый из десяти пользователей получал бы доступ к вычислительным ресурсам компьютера, скажем, на десятую долю секунды. Они как бы «делили время» большой машины.
Ни Ликлайдер, ни какой-либо другой провидец даже не представляли, что закон Мура сделает обратное и позволит любому компьютеру исполнять сразу несколько программ, запущенных одним пользователем. То есть самому пользователю будет казаться, будто все его приложения и программы работают одновременно (а с несколькими центральными процессорами на одной микросхеме в современных компьютерах это действительно так). Провидцы также не предугадали и уменьшения компьютеров в размерах, из-за чего отпадет необходимость совместно использовать один мощный компьютер. Не удалось предвидеть и то, что связаны между собой по всему миру будут все пользователи, а не только вычислительные центры. Но тогда, до 1965 года, закона Мура еще не существовало.
Дуглас Энгельбарт опубликовал третью статью, которая вместе с меморандумом Буша о мемексе и работой Ликлайдера о симбиозе сформировала интеллектуальную основу переплетения историй, которые мы рассматриваем. Статья «Усиление человеческого интеллекта: концептуальные рамки» опубликована Стэнфордским исследовательским институтом в 1962 году. Энгельбарт тоже пытался, до формулирования закона Мура и начала Эпохи 2, понять, как нам, людям, лучше обращаться с новыми динозаврами среди нас:
Это первоначальный краткий отчет о проекте, использующем новый систематический подход к повышению интеллектуальной эффективности отдельного человека. Подробная концептуальная структура исследует природу системы, состоящей из индивида и инструментов, концепций и методов, которые сопоставляют его основные способности с его проблемами. Одним из инструментов, который показывает самые большие перспективы, является компьютер, когда его можно использовать для прямой онлайн-помощи, интегрированной с новыми концепциями и методами.
Энгельбарт довольно педантично описал, как человеку разумно взаимодействовать с машиной. Однако гораздо важнее, чем написанное, оказалось
Дальше мы вернемся к самому началу и сосредоточимся на тех регионах этой «окружающей среды», которые особенно повлияли на компьютерную графику.
Эпоха цифровых динозавров
Психоделика, поцелуй мою задницу: мы дети атомной бомбы.
Цифровой Свет забрезжил между американской атомной бомбой 1945 года и советской водородной бомбой 1949-го, между концом Второй мировой и началом холодной войны. Вспомните, в главе «Восход Цифрового Света» я описывал, что в 1940-х годах создавать изображения, растрачивая драгоценные вычислительные мощности компьютеров, считалось легкомысленным и предосудительным занятием. Им предписывалось делать серьезные расчеты для атомной или водородной бомбы. Тем не менее первая цифровая картинка «Первый Свет» появилась в 1947 году на экране манчестерского Baby. Две первые задокументированные интерактивные видеоигры созданы в 1951 и 1952 годах в Манчестерском и Кембриджском университетах. А первые задокументированные компьютерные анимации появились в Массачусетском технологическом институте в 1951 году на Whirlwind, который финансировали Военно-воздушные силы. В ранней графике геометрические модели появлялись на экране в виде отображенных пикселей, а некоторые компьютеры могли интерактивно изменять изображения. Whirlwind находится в верхней части блок-схемы, потому что он связывает раннюю историю с описанным здесь следующим этапом, который подпитывался противостоянием с Советским Союзом и финансировался военными. Однако даже при таких условиях не обошлось без повсеместного создания легкомысленных картинок.
Холодная война породила самых ужасающих электронных динозавров 1950-х — или, скорее, динозавров, созданных для самой ужасной миссии — участия в ядерной войне. Самым большим и страшным среди них оказался Sage, непосредственный преемник Whirlwind. Военно-воздушные силы работали с MIT и IBM над реализацией проекта SAGE (Semi Automatic Ground Environment — система полуавтоматической координации действий самолетов-перехватчиков путем программирования их автопилотов по радио находящимися на земле компьютерами). По размеру и стоимости он сравним разве что с Манхэттенским проектом или с запуском «Аполлона». Начиная с 1958 года построено более 20 вычислительных центров высотой в четыре этажа, без окон и с двумя компьютерами Sage в каждом. Каждый компьютер стоил 238 миллионов долларов (около 2 миллиардов по сегодняшнему курсу), занимал площадь в полгектара и весил более 100 тонн. Каждый из них оснащен желтым графическим дисплеем со «световой пушкой» для интерактивного взаимодействия.
Некоторые артефакты SAGE используются до сих пор — например, графические станции. Военный на рисунке 6.14 (справа), глядя в зияющую пасть зверя, кажется, готов выстрелить в него — или что-то cпаять. Чтобы представить, как они выглядят, вообразите зал, заполненный десятками военнослужащих: все они сидят перед мерцающими дисплеями станций отображения оперативной обстановки, расставленных рядами.
Рис. 6.14
Обычно рабочая станция Sage показывает расположение самолетов и ракет на фоне условных контуров границ США (рис. 6.15). Различные «неопознанные летающие объекты», приближающиеся к ним, обозначаются пунктирной линией. Но в
Рис. 6.15
Готовы вы или нет, но компьютеры приходят к людям. Это хорошая новость, может быть, лучшая со времен психоделиков… Эта тенденция обязана своим появлением странному набору обстоятельств: юношескому пылу и стойкому отвращению к истеблишменту у фриков, занимающихся компьютерными науками; невероятно передовым исследовательским программам, заказ на которые исходит с самого верха военного министерства; …и непреодолимому полуночному феномену, известному как Spacewar.
Благодаря компьютерной революции в конце 1950-х — начале 1960-х годов появился новый вид контркультуры. Его представители называли себя хакерами. Тогда новый термин вызывал глубокое уважение — на него еще не пала тень сегодняшнего осуждения за манипулирование выборами, кражу личных данных и создание программ-вымогателей. Хакеры Массачусетского технологического института влюбились в TX-0, внука Whirlwind. Они назвали его Tixo. Это был первый компьютер, который полностью принадлежал им при условии, что они сами разберутся в нем (и они разобрались) и будут ухаживать за ним в самое темное время суток (и они ухаживали). Tixo был детенышем динозавра, поэтому все еще занимал целую комнату, но первые хакеры получили возможность с ним возиться. А еще он был оснащен графическим дисплеем и световым пером.
О тех настоящих хакерах теперь слагают легенды. Их культ быстро распространился на Западное побережье. Стюарт Бранд первым начал говорить о них. В конце 1960-х он получил широкую известность как издатель «Каталога всей Земли» — библии товаров для поколения хиппи. Следующей его затеей в 1972 году стала статья для декабрьского номера журнала
По крайней мере один из первых хакеров Массачусетского технологического института к тому времени перебрался в Xerox PARC, расположенный неподалеку от Сан-Франциско, столицы хиппи. Руководителей корпорации Xerox из штата Нью-Йорк, носивших застегнутые на все пуговицы строгие костюмы-тройки, возмутил репортаж в рок-н-ролльном журнале об их исследовательском центре. Да еще и «компьютерные бродяги»! Люди, которые выглядели и вели себя подобным образом — как, например, я в те годы, — не воспринимались как потенциальные создатели серьезных бизнес-идей. Возможно, именно из-за этой непреодолимой культурной пропасти компании Xerox не удалось извлечь выгоду из персонального компьютера. А ведь его концепция в том виде, который мы знаем сейчас (мышь, интерфейс на базе окон, лазерный принтер, сеть и все такое), возникла в Xerox PARC в начале 1970-х. Ее создали те самые бродяги.
В 1984 году журналист Стивен Леви опубликовал книгу «Хакеры», ставшую своеобразным памятником их славным деяниям. В ней излагается длинная и удивительная история банды талантливых и влиятельных интриганов. Я упоминаю о них здесь, потому что они создавали изображения на компьютерах немного раньше, чем другие люди из Массачусетского технологического института сделали нечто примечательное в области компьютерной графики на TX-2, потомке TX-0 (модели TX-1 не существовало).
В главе «Восход Цифрового Света» мы узнали, что Том Стокхэм, эксперт по цифровому звуку, научил целое поколение специалистов по компьютерной графике в Университете штата Юта, как сглаживать изображения — убирать «зубчатость». Заняться цифровым звуком Стокхэма вдохновили хакеры, создававшие музыку на TX-0, когда он работал преподавателем в Массачусетском технологическом институте.
Но самым запоминающимся достижением хакеров стала двумерная интерактивная игра под названием
Для наших целей нам достаточно знать, что
Рис. 6.16
Что мы подразумеваем под реальным временем и под интерактивностью?
Термин «реальное время» имеет несколько значений, и все они связаны с человеческим восприятием течения времени. Одно из наиболее популярных подразумевает синхронизацию в реальном времени, как в видеоиграх. Другое — режим реального времени по запросу, как в «интерактивном» дизайне компьютерных моделей. Эти удобные термины помогают нам разделить необъятность Цифрового Света.
В видеоиграх тикают воображаемые часы, а значит, постоянно должна создаваться — «рендериться» — новая картинка для отображения. Естественные «часы» для видео — это частота 30 кадров в секунду, которая выбрана, поскольку она приблизительно соответствует человеческому ощущению времени, текущему столь же плавно и в том же темпе, что и в реальном мире. Таким образом, в видеоиграх новая картинка должна отображаться каждую тридцатую долю секунды.
Видеоигры — ярчайший пример графики с синхронизацией в реальном времени из современного мира. Но на заре компьютерной эры ее в основном использовали на авиатренажерах, каждый из которых стоил миллионы долларов. Летчики-истребители отрабатывали навыки на авиасимуляторах, а астронавты — на симуляторах космических кораблей. Они делают это и сегодня. Виртуальная реальность (VR) — новейший представитель систем с синхронизацией в реальном времени, визуализирующих изображение на двух дисплеях внутри специальных очков для объемного или так называемого 3D-эффекта.
Основной пример графики в реальном времени без синхронизации или по запросу — это интерактивная разработка внутренних компьютерных моделей. Или, проще говоря, «изображения, которые меняются достаточно быстро, чтобы убедить пользователей, что это происходит „мгновенно“, пока они взаимодействуют с компьютером».
Другой пример — интерфейс почти каждого компьютерного приложения. Я просто нажал на значок «Сохранить» в Word. Значок «мгновенно» подсвечивался при наведении на него курсора, а когда я щелкал мышью для сохранения файла, «мгновенно» появлялся вращающийся значок в виде песочных часов — «процесс идет».
И с синхронизацией, и без нее компромисс для реального времени подразумевает либо низкое качество изображения, либо высокую цену продукта. В случае с синхронизацией в видеоиграх по-прежнему (по состоянию на 2020 год) встречаются визуальные артефакты, возникающие из-за недостаточного времени на вычисление полностью отрисованного изображения при сохранении низкой потребительской цены.
В противном случае качество изображения, используемого при интерактивном отображении моделей, обычно ниже, чем при окончательном рендеринге объектов или сцен, разработанных таким образом. Дизайнеры обычно видят изображение объекта или персонажа, который они создают — скажем, чайника, — в виде модели из проволочной сетки, а в не виде цветного объемного чайника с текстурами и тенями.
Общепринятая история компьютерной графики
Компьютерная графика — моя профессия, но я смутно представлял себе ее историю. Версия, которую я знал, сводилась примерно к следующему: Айвен Сазерленд написал Sketchpad, первую программу интерактивной компьютерной графики, как утверждается, в Массачусетском технологическом институте в 1962 году. Затем, в 1968-м, он начал работать в Университете штата Юта в Солт-Лейк-Сити и стал отцом-основателем династии пионеров компьютерной графики. На самом деле в столь кратком изложении почти всё — правда. Например, Эд Катмулл учился у Сазерленда, и многие из наших коллег, работавших на протяжении нескольких лет в Нью-Йоркском технологическом институте, Lucasfilm и Pixar, получили образование в штате Юта. И первое графическое оборудование, которое мы использовали, произвела компания Evans & Sutherland, основанная Дэвидом Эвансом и Айвеном Сазерлендом в Солт-Лейк-Сити также в 1968-м.
Но вышеизложенная история расходится с фактами, которые мы обнаружили в главе «Восход Цифрового Света»: простые цифровые изображения, интерактивные игры и анимация появились еще на первых компьютерах в конце 1940-х — начале 1950-х годов. Уже на компьютере Whirlwind был световой пистолет, позволявший взаимодействовать с его дисплеем. Я уже рассказывал в этой главе, как офицеры интерактивно взаимодействовали с графикой на дисплее серийно выпускаемого компьютера Sage в конце 1950-х годов. И графическая игра
Как и в случае с другими сложными технологиями, в общепринятой истории компьютерной графики опущена значительная часть фактов и чрезмерно преувеличена роль одного человека. Устоявшаяся версия обходит вниманием двух знаменитых отцов-основателей этой сферы — Стивена Кунса и Пьера Безье, которые старше Сазерленда на одно поколение. Тем не менее специалисты компьютерной графики хорошо знают их имена. На протяжении нескольких десятилетий высшей наградой в области компьютерной графики остается премия Кунса. А кривые Безье десятилетиями используются в популярных приложениях Adobe Illustrator и Adobe Photoshop. Но в общую картину истории они почему-то не попали.
Общепринятая история на самом деле не соответствует даже той цепи событий, в которых я участвовал лично. Первым пионером компьютерной графики, с которым мне удалось познакомиться и даже поработать вместе, был Герберт Фримен, который не учился в Университете Юты. Он родился с именем Герберт Фридман в Германии и сумел бежать от нацистов с помощью Альберта Эйнштейна. Его родителям, пытавшимся получить разрешение на въезд в Соединенные Штаты для всей семьи, отказали якобы из-за туберкулеза у Герберта. На самом деле никакой болезни не было, но потребовались несколько лет и три письма от самого Эйнштейна, чтобы всей семье удалось преодолеть бюрократические препоны и благополучно перебраться в Америку в 1938 году, тем самым избежав верной смерти.
В 1949 году Хербу удалось встретиться с Эйнштейном и лично поблагодарить его за неоценимую помощь. Примерно за год до встречи с великим ученым Херб получил степень магистра электротехники в Колумбийском университете. На летнем курсе в Массачусетском технологическом институте в 1952 году он познакомился с Whirlwind и настолько увлекся компьютерами, что к следующему году разработал свой собственный — под названием Speedac — для Sperry Corporation. Получив докторскую степень в Колумбийском университете, начал работать в Лаборатории сервомеханизмов Массачусетского технологического института в 1958-м и в Лаборатории Линкольна в 1959 году. В 1960-м он поступил в Нью-Йоркский университет. Херб специализировался на компьютерной графике и в 1972 году стал соучредителем одного из первых научных журналов по Цифровому Свету с говорящим названием «Компьютерная графика и обработка изображений. Создание
Робин, мой любимый шотландец, специально приехал в Лондон из Норвича, когда я занимался историческими исследованиями для этой книги, чтобы стать моим проводником по ранней истории компьютерной графики. Этим он и пытался заниматься на протяжении всего дня в чайной Bloomsbury Hotel, хотя мы никак не могли перестать смеяться и предаваться воспоминаниям.
«Я впервые встретил вас в ноябре 1971 года», — сообщил он, когда мы пожали друг другу руки.
«И вы тот дьявол, который втянул меня в эти патентные разборки в 1990-х», — поддразнил я его.
«Конечно, это я».
(Мои коллеги и я сделали все возможное в британском суде, чтобы спасти британскую компанию — разработчика программного обеспечения — от другой британской компании — производителя оборудования. Нам не удалось доказать свою правоту, и разработчик программного обеспечения прекратил свою деятельность. Но затем та самая компания-производитель попробовала совершить такой же юридический маневр против американской компании в американском суде. На этот раз мы помогли защитить Adobe и ее флагманский продукт Photoshop от неподъемных лицензионных отчислений. Суд милостиво признал все пять патентов недействительными и отклонил все притязания сутяг.)
«И я, — добавил Робин, — впервые познакомил вас с Джеком Брезенхэмом».
Джек Брезенхэм — еще один герой из истории компьютерной графики. Он, как и я, происходил из Кловиса, штат Нью-Мексико. Мы с Робином погрузились в глубины истории.
О лучшем проводнике по ранней истории компьютерной графики нельзя и мечтать, и уж точно не найти более остроумного собеседника. Робин проработал в Университете Восточной Англии более 40 лет и до сих пор остается его почетным профессором. Он сам участник многих событий этой истории. В разное время он работал с Кунсом, Безье и Сазерлендом, а также в первых университетских центрах Массачусетского технологического института, Кембриджа и Юты. Но он рассказал мне и о менее известных эпизодах с участием таких компаний, как Citroën, Renault и General Motors.
Рассказы Робина вскоре прояснили фундаментальную историческую проблему и проблему определений. Компьютерная графика связана как с внутренними моделями объектов, так и с их изображениями. Начинается ли ее история с моделей — или все же с изображений? В зависимости от расстановки акцентов существуют разные ее версии. Истории компьютерной графики и автоматизированного проектирования, как правило, по вполне понятным причинам тесно переплетены друг с другом.
Кунс и Безье
Присвоить Кунсу и Безье звание отцов-основателей компьютерной графики проблематично, потому что ни один из них не создавал изображения, во всяком случае поначалу. Кунс создал свои фундаментальные работы в авиационной промышленности, в одной из старейших американских авиационных компаний — Chance Vought. Безье сделал то же самое в Renault, одном из старейших французских автопроизводителей. Они оба использовали геометрические модели трехмерных поверхностей внутри компьютера, но не имели дисплея для просмотра изображений. Кунс занимался созданием реальных поверхностей планера самолета, а Безье — реальных поверхностей кузова автомобиля.
Они не задумывались об изображениях как таковых. Их интересовали реальные объекты в реальном трехмерном пространстве, сделанные из реальных материалов: кузова автомобилей, крылья самолетов или их макеты. Мы снова сталкиваемся с различием между пространством Творчества и пространством Отображения. У Кунса и Безье было первое, но не было второго. Или, другими словами, для них в качестве дисплеев выступали сами объекты, а вовсе не изображения. При помощи станков с компьютерным управлением они создавали реальные вещи из настоящих материалов. Другими словами, они занимались компьютерным проектированием объектов, а не иллюстративной компьютерной графикой. Позже в этой главе мы постараемся распутать переплетение этих двух направлений. Но нет никаких сомнений в том, что Кунс и Безье претендуют на почетное место и там и там. С их историй и начнем наш рассказ.
Стивен Энсон Кунс (рис. 6.17) был не только интеллектуальным лидером. Он потрясающе интересно читал лекции, и студенты любили его. Занятия у него проходили здорово и весело.
История гласит, что примерно в 1936 году, когда Кунс изучал математику в Массачусетском технологическом институте, он работал уборщиком в Chance Vought Aircraft. Подметая пол в конструкторском бюро, Кунс случайно заметил, что его начальник запутался в математике, описывающей поверхность самолета. Поэтому он тайно разработал математическое решение, которое получило известность под названием «патч» или «лоскут Кунса». Со скромного шага интуитивного математика, формализовавшего процесс проектирования самолетов, началось восхождение будущего отца автоматизированного проектирования и компьютерной графики.
Жизнь Кунса складывалась совсем не гладко. В молодости ему пришлось бросить занятия математикой в Массачусетском технологическом институте всего через год после поступления «из-за неблагоприятных условий», поэтому он так и не получил формальной научной степени. Неблагоприятные условия, вероятно, заключались в элементарной нехватке средств. Тем не менее благодаря своим достижениям в авиационной промышленности в 1948 году он стал помощником преподавателя в Массачусетском технологическом институте. В конце концов его назначили адъюнкт-профессором. Но, к недоумению его коллег и несмотря на его огромное влияние и авторитет среди других пионеров компьютерной графики, работавших в MIT, в частности Айвена Сазерленда и Тима Джонсона (см. блок-схему), он так и не получил дальнейшего повышения. Возможно, причиной тому было отсутствие у него докторской степени. Однако впоследствии он все-таки занимал профессорские должности в университетах Сиракуз, Юты, Мичигана и Колорадо.
Рис. 6.17
Карьера Робина Форреста связана как с САПР, так и с компьютерной графикой. В тот день в Блумсбери он рассказал мне поучительную историю о компьютерном проектировании в эпоху, непосредственно предшествовавшую появлению компьютеров. Речь шла о знаменитом истребителе Spitfire, сыгравшем в 1940 году заметную роль в решающей битве за Британию против люфтваффе, военно-воздушных сил Германии. Мастер-проект Spitfire представлял собой набор поперечных сечений, физически вырезанных из листов алюминия и сложенных стопками на огромных столах где-то в секретном месте в Хэмпшире. Хотя по ним можно было воспроизвести необходимое количество самолетов, но им определенно не хватало надежной защиты в памяти компьютера, потому что компьютеров еще не существовало. Один удар люфтваффе по зданию в Хэмпшире уничтожил бы все технические разработки истребителя.
Но вопрос Робина заключался в другом: какова форма крыла Spitfire между этими поперечными сечениями? Это не было определено, а потому составляло серьезную проблему. Требовалась гладкая поверхность, интерполирующая последовательные сечения, но таковой еще не существовало.
Его слова напоминают нам о сплайне из истории моей встречи с Рави Шанкаром. Авиаконструкторам требовалось применить тот же принцип к двумерным поверхностям. Они нуждались в гладкой функции, которая интерполировала бы последовательные кривые, такие как поперечные сечения Spitfire. Решение дает
Понятие патча в конструирование самолетов ввел Стивен Кунс. Именно он предложил это слово. Он не проектировал Spitfire, но работал в авиационной промышленности и стремился решить назревающую проблему. Лоскут Кунса — это участок, описанный выше, но с двумя парами противоположных краев. Пример лоскута Кунса, показанный на рисунке 6.18, напоминает изогнутый, но не смятый лист папиросной бумаги. Каждая кромка гладко изгибается, а плавная волнистая поверхность соединяет или интерполирует кривые противоположных краев в обоих направлениях.
Согласно общему определению Кунса, участок может иметь края
Чтобы создать в компьютерной графике сложную поверхность, такую как чайник, персонаж или самолет, мы проектируем набор патчей-лоскутов, которые аккуратно соединены друг с другом по краям и покрывают нужную поверхность — как стеганое одеяло, — включая даже самые труднодоступные места. Затем мы разделяем каждый лоскуток на четырехсторонние «заплатки», по каждому краю с равным шагом, как показано на рисунке. Деление продолжается до тех пор, пока фрагменты не станут достаточно маленькими, чтобы каждый из них можно было считать плоским многоугольником. Для нашей цели каждый из них затем делится диагональю на два треугольника, как я показывал раньше. Итак, мы снова имеем дело только с треугольником.
Рис. 6.18
С использованием суперспособности Усиления отобразить модель, состоящую из тысяч тругольников, так же легко, как и отобразить один треугольник. Но нет никакого способа свести к минимуму сложность построения исходной модели. Моделирование — это своего рода скульптурная лепка, и не существует простого способа научиться ей. Такая задача под силу только профессиональным моделистам.
Самая престижная награда в области компьютерной графики носит имя изобретателя патча Стивена Кунса. Премия Стивена Энсона Кунса вручается на Siggraph, крупнейшей и самой важной ежегодной конференции по компьютерной графике. Ее название — это аббревиатура Специальной группы по компьютерной графике и интерактивным технологиям (Special Interest Group on Computer Graphics and Interactive Techniques), входящей в состав более крупной профессиональной организации в области компьютерных наук, которая называется Ассоциация вычислительной техники (ACM). Siggraph — это конференция, которая вот уже на протяжении десятилетий ежегодно собирает десятки тысяч участников.
И наградой, и конференцией мы частично обязаны другому пионеру компьютерной графики, спасенному от нацистов, — Бертраму Херцогу (1929–2008). Херцогу помогла программа эвакуации еврейских детей Kindertransport. Благодаря ей он благополучно попал в приемную семью в Англии. Оттуда он эмигрировал в Соединенные Штаты в 1946 году и получил докторскую степень в 1961-м в Мичиганском университете. Пару лет спустя он встретился и подружился с Кунсом, который и сделал его адептом компьютерной графики. Берт сыграл важную роль в основании Siggraph в 1969 году. И по его инициативе высшую награду конференции назвали премией Кунса — в честь его друга.
Его описывают как весельчака и вольнодумца, рассудительного нонконформиста. В своей среде он просто «гений».
С тех пор во мне неизбежно видели опасного сумасшедшего, которому разрешили слишком долго находиться на свободе.
Пьера Этьена Безье, по общему мнению чрезвычайно остроумного человека, считают отцом компьютерной графики и автоматизированного проектирования со стороны французов, но сам он практиковал только ту часть, которая имеет отношение к САПР. Как и Кунс, Безье разработал математику моделирования поверхностей еще до того, как появилась возможность получать их изображения. Он (рис. 6.19 — Безье в кривых Безье) придумал сходную идею патча для дизайна кузова автомобиля.
Безье был фанатичным автомобилистом. Получив инженерное образование, он устроился на работу в Renault в возрасте 23 лет и трудился там всю жизнь. Как и Кунс, он начинал с низов, с должности инструментальщика в 1933 году. Затем он стал конструктором инструментального отдела в 1934-м, а в 1945-м возглавил Инструментальное конструкторское бюро. В 1948-м его назначили директором по технологии производства, а в 1957-м — директором по производственному оборудованию.
Его карьерный рост кажется последовательным, но я столкнулся с загадочным пробелом. В онлайн-истории Renault говорится: «Пьер Безье, инженер Renault, будучи военнопленным в Германии, усовершенствовал принцип работы автоматической механообработки, впервые представленный перед войной в General Motors». Я ничего не нашел об этом загадочном периоде в его жизни почти до сдачи этой книги в печать. В полном отчаянии, практически в последнюю минуту я разместил пост на французской странице в Facebook, благодаря чему познакомился с человеком, который помог разгадать тайну: Безье, начиная с 1940-го, находился в плену в немецком Offiziersläger (лагере для военнопленных офицеров) — вероятно, Oflag XI-A в Остероде-ам-Харц[34].
Рис. 6.19
Рис. 6.20
Безье отвечал за производство большей части механических деталей для знаменитого 4CV — первого европейского автомобиля (рис. 6.20), проданного в количестве более миллиона экземпляров.
Но все это произошло до появления компьютерного проектирования. Он начал свои исследования в области САПР в 1960 году, сосредоточившись на интерактивном дизайне кривых и поверхностей, а также на трехмерной обработке пластилиновых моделей и шаблонов. К 1968 году он усовершенствовал свою систему, названную Unisurf, и запустил ее в работу на Renault. Она, вероятно, уже использовалась при производстве Renault 10. Безье располагал машинами для рисования, но они предназначались для производства кузовов автомобилей — именно автомобили были для него своего рода конечными дисплеями.
Робин Форрест посетил Безье в 1969 году. «У него была система, которая могла вырезáть полноразмерные автомобильные панели, и это нас очень впечатлило». Форрест рассказал, как Безье убедил своих дизайнеров использовать систему автоматизированного проектирования:
Безье был вице-президентом по технологии производства в Renault и мог приказать своим сотрудникам: «Прекратите использовать пластилиновые модели, теперь вы все будете использовать мой метод». Но он сказал нам, что решил поступить иначе. Построив машину, с помощью которой можно было изготавливать модели кузовных панелей, он как будто просто оставил ее. У него работали один или два звездных дизайнера, которые в принципе проявили любопытство, но сомневались в ее необходимости. Он научил их ею пользоваться. Некоторые из них даже согласились поработать с ней. Он сказал: «Однажды утром я пришел на работу, а на полу перед моей дверью стояла красивая деревянная скульптура [см. рис. 6.21], и именно тогда я понял, что выиграл битву. Потому что так можно творить искусство». Это и есть путь внедрения новых технологий. Вы не заставляете людей. Вы позволяете им найти в этом что-то интересное для себя и делать разные вещи, а затем они делают что-то, а вы думаете: «Как, черт возьми, они сделали это с помощью моей системы? Я не знаю!» В этом и есть прелесть такой работы.
В конце жизни Безье занялся серьезными академическими исследованиями. Через пару лет после выхода на пенсию в 1975 году он получил докторскую степень по математике в Парижском университете. Он умер в 1999-м, немного не дожив до начала нового тысячелетия и пережив Кунса на 20 лет.
Рис. 6.21
Siggraph — ежегодная конференция по компьютерной графике — в 1985 году присудила ему вторую в истории премию Кунса (первой в 1983-м отмечен один из прямых интеллектуальных наследников Кунса Айвен Сазерленд). Премии Безье в иллюстративной компьютерной графике нет, но существует премия Безье в области автоматизированного проектирования (вручается Ассоциацией твердотельного моделирования).
Поэтому в моей голове зашевелилась идея математически обработать формы кузова автомобиля… Это было либо абсолютным легкомыслием, чтобы не назвать сумасшествием, либо же феноменальной выходкой. Это чистая правда, что во французском слове carrosserie, которое означает «кузов автомобиля», есть rosserie (rosserie переводится как «гадость»)!
Поль де Фаже де Кастельжо был еще одним французским отцом-основателем (рис. 6.22). Как и Безье, он также работал в автомобильной промышленности и обладал самоуничижительным чувством юмора. В 1958 году в Citroën он создал математические системы для проектирования автомобилей, которые очень напоминали чуть более позднюю разработку Безье для Renault. В отличие от Безье, о нем часто забывают, хотя сам Безье отдавал ему приоритет. К несчастью для де Кастельжо, Citroën не разрешал ему публиковать результаты своих трудов вплоть до 1974 года. К тому времени кривые, созданные де Кастельжо и Безье независимо друг от друга, уже получили имя последнего, да так ими и остались — снова сработал закон Стиглера. По иронии судьбы, в 2012 году де Кастельжо стал лауреатом премии Безье в области автоматизированного проектирования.
И Безье, и де Кастельжо рассматривали компьютер как способ повысить эффективность производства автомобилей. Они разработали, по-видимому, независимо друг от друга математику другого способа представления поверхностей — лоскут, или
Здесь важна не математика Безье (или де Кастельжо), а интуиция. Вспомните демонстрацию для Рави Шанкара и то, как горизонтальные и вертикальные координаты точек, полученных с планшета, соединились с помощью разбрасывателя, имеющего два отрицательных «лепестка», для получения сплайна. Он назывался разбрасывателем Катмулла — Рома (с. 328, рис. 6.7, внизу). Если вместо него мы воспользуемся разбрасывателем без отрицательных лепестков (рис. 6.23), то получим более гладкий сплайн. Специалисты в области компьютерной графики называют его (довольно простовато для такой красивой кривой) B-сплайном — где B означает «основа» (basis), но в остальном это название совершенно неинформативно.
Рис. 6.22
На рисунке 6.24 показаны два сплайна. Оба основаны на одних и тех же точках, полученных с планшета во время демонстрации для Рави Шанкара. Хотя вам, вероятно, придется напрячься, чтобы заметить различия, кривая справа более изящна, чем левая. Дело в том, что она проходит рядом с точками, а не через них. Следовательно, перед нами аппроксимирующий сплайн, а не интерполирующий.
Безье и/или де Кастельжо подарил(и) нам кривую, в которой есть и то и другое, хотя он(и) так не думал(и). На рисунке 6.25 показаны две кривые Безье — одна, соединяющая крайнюю левую точку со средней, и вторая, соединяющая среднюю точку с крайней правой. В Adobe Illustrator и Photoshop есть специальный инструмент (перо) для создания плавных кривых из таких сегментов Безье. Дизайнер начинает, скажем, с крайней левой точки и рисует линию, показанную здесь пунктиром, — задает кривой нужный наклон в этой точке. Мы называем ее касательной линией. Дизайнеры контролируют угол наклона, вращая касательную (пунктирную) линию и используя заданную точку в качестве центра поворота. Они контролируют жесткость кривой, удлиняя или укорачивая касательную линию, перемещая точку вне кривой внутрь или наружу.
Левая кривая на рисунке 6.25 создана в результате поворота двух касательных линий — одной для крайней левой точки и одной для средней — и масштабирования их длины. Правая кривая создана аналогичным образом.
Рис. 6.23
Во всех случаях наклон пунктирной касательной совпадает с наклоном кривой, проходящей через их общую точку. Кривые Безье обычно соединяются вместе для большей изящности следующим образом: касательная для первой точки второй кривой — это просто продолжение касательной для последней точки первой кривой. Она такой же длины и наклонена под тем же углом, но в противоположном направлении.
Рис. 6.24
Рис. 6.25
Безье описал бы этот процесс как интерполяцию крайней левой, средней и крайней правой точек с использованием четырех касательных линий. Но математически это эквивалентно указанию семи точек на рисунке. Четыре точки отклонения от кривой определяют длину и угол четырех касательных линий. Кривая, образованная плавным соединением двух кривых Безье, обычно просто описывается как последовательность кривых Безье. Ее можно было бы назвать сплайном Безье, и я полагаю, что так и должно быть. Тогда мы могли бы сказать, что сплайн Безье на рисунке интерполирует три из семи точек и аппроксимирует остальные четыре — немного и того и другого.
Скорее всего, даже буквы шрифта, которыми набран этот текст, созданы с помощью кривых Безье. А на рисунке 6.26 показано их забавное использование — слово «Безье», созданное с помощью кривых Безье. Короткие прямые линии показывают наклон в тех точках, где кривые соединяются (кстати, все они горизонтальные или вертикальные).
Рис. 6.26
Патч Безье — это патч, каждое ребро которого определяется кривой Безье (или де Кастельжо). Это еще один инструмент для моделирования сложных поверхностей. На рисунке 6.27 чайная чашка и блюдце Мартина Ньюэлла — не такие известные, как его чайник, — смоделированы с помощью 26 патчей Безье. Слева направо патчи разделяются на всё более мелкие «заплатки», чтобы продемонстрировать, как в компьютерной графике достигается плавная кривизна. Паутина точек, не расположенных на поверхности чашки или блюдца, представляет собой точки на концах аппроксимирующих отрезков. В отличие от лоскутов Кунса, которые интерполируют, патчи Безье (частично) аппроксимируют.
Робин Форрест перевел одну из книг Безье и получил от него копию французского издания с посвящением: «Робину Форресту, которому я обязан больше, чем он, возможно, думает». Робин говорил: «Я так и не разгадал эту загадку». Возможно, дело в том, что Робин показал Безье и всему миру связь между математикой, первоначально использованной Безье, и изощренным математическим аппаратом, предложенным Сергеем Натановичем Бернштейном, еще одним великим русским. Бернштейн был экспертом в нескольких областях, но здесь ключевое значение имеет теория аппроксимации. Для нее он сыграл такую же роль, как и Эдмунд Уиттекер для теории интерполяции.
Рис. 6.27
Забытая история компьютерной графики: триумвират
Из главы «Восход Цифрового Света» мы узнали, что первые его ростки появились в 1947 году и расцвели в начале 1950-х. Точно так же развивалась и компьютерная графика — область Цифрового Света, которая преобразует внутренние геометрические модели в видимые изображения. Первое десятилетие компьютерной графики, как и более ранние работы Кунса и Безье в области САПР, редко удостаивается упоминаний. Обычно ее историю начинают со Sketchpad. Отчасти в этой книге я ставлю перед собо задачу сформулировать, что сделало Sketchpad таким важным.
Айвен Эдвард Сазерленд впервые продемонстрировал Sketchpad в 1962 году в Массачусетском технологическом институте, полностью завершил разработку в январе 1963-го и тогда же опубликовал результаты в своей докторской диссертации. Это была программа для двумерного геометрического проектирования, обеспечивающая взаимодействие с пользователем. Ее очень высоко оценили в те годы, ценят до сих пор и будут ценить впредь. Но настоящее великолепие компьютерной графики — это трехмерные сцены и объекты, воплощенные в двумерной перспективе.
Сокурсник Сазерленда по аспирантуре Тимоти Эдвард «Тим» Джонсон доработал Sketchpad для операций с трехмерным пространством и перспективой. Он назвал программу Sketchpad III и обнародовал ее в своей магистерской диссертации в мае 1963 года. «III» обозначало три измерения, а не третью версию (соответственно, Sketchpad II не существует). Почему Sketchpad III не обрела такой же известности, как первая версия? Можно предположить, что переход от двух измерений к трем не воспринимался таким уж большим прорывом и казался довольно банальным шагом. Однако в результате открывались огромные, нетривиальные и далеко не очевидные возможности. Sketchpad III включала в себя решение для отображения перспективы, которое Джонсону предложил еще один аспирант — Лоуренс Гилман «Ларри» Робертс. Робертс защитил докторскую диссертацию в июне 1963 года. Таким образом, 1963-й стал годом триумвирата компьютерной графики в Лаборатории Линкольна Массачусетского технологического института: Айвен Сазерленд, Тим Джонсон и Ларри Робертс (рис. 6.29). И двое, Сазерленд и Джонсон, были учениками Стивена Кунса.
На рисунке 6.28 показаны значки, схематически изображающие три соответствующих достижения: квадрат для Sketchpad Сазерленда, куб для Sketchpad III Джонсона и куб в перспективе для вклада Робертса в Sketchpad III.
Триумвират делал свои разработки на компьютере TX-2, сыне Tixo и правнуке Whirlwind. Первые компьютеры конца 1940-х — 1950-х годов имели в основном растровые дисплеи. Затем на несколько десятилетий вошли в обиход векторные, которые отвлекли специалистов в области компьютерной графики, — тот самый каллиграфический обходной путь, о котором я упоминал в главе 4. Великая цифровая конвергенция вернула нас к растровым дисплеям, которые до сих пор остаются мировым стандартом.
Дисплей TX-2 представлял собой некую помесь растрового и векторного. Доступ к нему был произвольным, но он отображал только точки из фиксированного массива. В диссертации Айвена Сазерленда 1963 года он описывается как массив точек 1024 на 1024, что предполагает растровое отображение. Но точки можно было включать в случайном порядке, а не строку за строкой. Они через некоторое время гасли, если их не обновляли, из-за выгорания люминофора на экране электронно-лучевой трубки.
Рис. 6.28
Рис. 6.29
В главе «Восход Цифрового Света» мы говорили о двух типах каллиграфического отображения. В наиболее «каллиграфическом», соответствующем обычному письму типе непрерывная световая линия рисуется по мере движения луча. В другом типе такая линия возникает из отдельных световых пятен, не превращаясь в сплошной штрих. Рисунок 6.30 (слева, повторяющий иллюстрацию из главы «Восход Цифрового Света») каллиграфический. Он пунктирный, но пятна не ограничены точными координатами сетки.
Рисунок 6.30 (справа) выглядит как растровое изображение, но с существенным отличием: точки отображаются в векторном, а не в растровом порядке. Таким образом, этот дисплей отличается от любого из предыдущих. Световые пятна на нем — это не отображенные пиксели. Они лишь приближенно отображают каллиграфический штрих на фиксированной сетке. Дисплей TX-2 относится именно к такому типу. Вот что на самом деле происходило в TX-2: отрезки отображаемой линии рисовались последовательно, по порядку. Каждый из них преобразовывался в точки с помощью алгоритма рендеринга, подобного алгоритму Брезенхэма, и точки в нужных позициях последовательно включались электронной схемой дисплея.
Рис. 6.30
Должно быть, иногда возникали нежелательные эффекты, потому что значительную часть усилий Сазерленд потратил на предотвращение мигания экрана. Несколько отрезков линии отображались без мигания, но с большим количеством дисплей уже не справлялся и начинал мерцать. Сазерленд применил метод, при котором отображалась только каждая восьмая точка, а затем с каждым следующим проходом луча по очереди отображались остальные семь, но в результате линии выглядели так, словно «состояли из ползающих точек». Получилась некая форма чересстрочной развертки для векторного, а не растрового отображения. Сазерленд также использовал прием со стохастическим (случайным) выбором отображаемых точек, из-за чего экран «мерцал», а не ползал.
Неудивительно, что основанная Сазерлендом и Дэвидом Эвансом компания Evans & Sutherland первым делом взялась за разработку графической системы с настоящим векторным дисплеем, отрисовывающим линии, а не точки — и определенно не точки, ограниченные растровой сеткой. Она называлась LDS-1, что расшифровывается как «Система рисования линий» (Line Display System), а не «Святые последних дней» (Last Day Saints), как полагали некоторые, учитывая, что Эванс был набожным мормоном, а E&S располагалась в Солт-Лейк-Сити. LDS-1 впервые поступил в продажу в 1969 году. Следующей его версией, выпущенной компанией, стала популярная графическая система Picture System. Лаборатория компьютерной графики в Нью-Йоркском технологическом институте, в которую входила группа, впоследствии ставшая Pixar, начала работу в 1974 году на аппаратуре E&S, а именно на Picture System[35].
Центральная Догма компьютерной графики
Сегодня компьютерную графику (независимо от того, где она используется — в фильмах, играх, виртуальной реальности и так далее) нужно воспринимать как вымышленный мир, который моделируется в памяти компьютера. Это модель, а не картинка. Это стандартная трехмерная геометрия в стиле Евклида и других древних греков. Она невидима. Она из мира двумерных изображений. Поэтому, чтобы сделать изображение, воображаемая камера помещается в воображаемый мир. Камера виртуальна. Ее корпус, объективы, штатив и прочие элементы не моделируются. Нас волнует только, где расположена виртуальная камера, куда она направлена и где у модели верх. У виртуальной камеры, как и у настоящей, есть видоискатель. Он помещает в рамку прямоугольный кадр воображаемого мира, на который направлена камера. Специалисты в области компьютерной графики называют видоискатель перспективным окном просмотра (для краткости — просто окном просмотра, видовым экраном или портом просмотра,
Та часть нереального мира, которую виртуальная камера захватывает в свое окно просмотра, сводится к двум измерениям — точно так же, как реальная камера превращает реальный мир в двумерное изображение в своем видоискателе. Важно учесть еще один нюанс: окно просмотра видит нереальный мир в
Я называю это Центральной Догмой компьютерной графики, потому что совсем не обязательно все должно быть именно так. В конце концов, компьютер — это самый гибкий инструмент, когда-либо созданный человечеством. Геометрия не обязательно должна быть евклидовой, хотя именно ее постулирует Центральная Догма. Можно прибегнуть к геометрии Лобачевского — без параллельных прямых, — которой занимался старина Котельников (подробнее смотрите в главе 2). Самое главное, что видимой перспективе не обязательно быть линейной, но Центральная Догма требует именно этого. Проще говоря, Центральная Догма представляет нереальный мир точно так же, как мы, люди, воспринимаем мир реальный. И этот вид на виртуальный мир, находящийся внутри компьютера, в перспективе виртуальной камеры наконец преобразуется в пиксели, чтобы мы могли его увидеть.
Искусство Маурица Корнелиса Эшера показывает, насколько странной бывает перспектива. На рисунке 6.31, который вдохновлен его гравюрами и выполнен от руки без помощи компьютера, прямые балки, очевидно, должны изгибаться, чтобы образованная ими решетка сходилась в перспективе по направлению к двум точкам на бесконечности. Эти две точки находятся на линиях, перпендикулярных друг другу в трехмерном пространстве, но они появляются на одной линии в двумерном рисунке. В рисунках с перспективой такое бывает нередко. Но по замыслу рисунка расходящиеся балки из нижней точки должны казаться расположенными с постоянными интервалами, если смотреть на верхнюю точку. Чтобы соблюсти это жесткое условие, прямые балки, выходящие из нижней точки, должны изгибаться вверх, а столбы, идущие из верхней точки, — изгибаться внутрь. Это нечеловеческая перспектива. В нашем мире прямые линии не изгибаются, и Центральная Догма этого не допускает. Этот рисунок, противоречащий Центральной Догме, на протяжении 38 лет украшал обложку ежегодного выпуска журнала
Ранние истоки компьютерной графики, восходящие к системам автоматизированного проектирования, к концепциям Кунса, Безье и де Кастельжо, внесли свой вклад в Центральную Догму. В САПР жизненно необходимо, чтобы спроектированные объекты могли существовать в реальном мире. Центральная Догма в компьютерной графике соблюдается почти всегда, но при этом она совсем не обязательна. С самого начала компьютерные художники нарушали ее. В каком-то смысле так и проявляется призвание художников — использовать среду Цифрового Света, не обращая внимания на искусственные ограничения, и показывать остальным результаты своих изысканий. Но даже неукоснительное соблюдение Центральной Догмы подразумевает творческий подход. Возьмите любой полнометражный анимационный фильм Pixar, DreamWorks, Blue Sky и других компаний. Внутри Центральной Догмы так много пространства Творчества, что многие художники никогда даже не задумываются о выходе за его пределы.
Подведем итог: Джонсон и Робертс из Массачусетского технологического института в 1963 году познакомили нас с Центральной Догмой (хотя они ее так не называли) в том виде,
Рис. 6.31
Анимация естественна для компьютерной графики и может быть значительно улучшена благодаря ей… Возможности «художественной машины» (компьютерная графика — это официальное название) лучше всего можно описать как получение изображения любого количества связанных точек в пространстве из любого желаемого положения просмотра.
Более чем за год до даты публикации итогов работы триумвирата (в марте 1963 года) Уильям Феттер (1928–2002) из авиационной компании Boeing, работавший в Уичито, штат Канзас, подал патентную заявку на трехмерное перспективное изображение, выполненное на компьютере. Заявка датирована ноябрем 1961-го и сделана совместно с его коллегой Уолтером Бернхартом, который занимался математикой. Патент содержал рисунок самолета (рис. 6.32) — возможно, первую из когда-либо опубликованных компьютерных моделей, выполненных в перспективе.
Как видно из эпиграфа, к февралю 1962 года Феттер уже сформулировал Центральную Догму компьютерной графики. По его словам, «компьютерная графика — это получение изображения любого количества связанных точек в пространстве [модели] из любого желаемого положения просмотра». Он подразумевал перспективу, что соответствует нашему определению Центральной Догмы. Справедливости ради следует признать, что Феттер и Бернхарт из Boeing практиковали ее первыми. Но мир получил Центральную Догму не от них. Всеобщим достоянием она стала в форме, предложенной Тимом Джонсоном и Ларри Робертсом в 1963 году, о чем я подробно рассказываю в онлайн-комментариях на сайте.
Упоминание «компьютерной графики» в эпиграфе — одно из первых использований этого важного термина. В той же статье Феттер писал: «
Для нас особенно интересно следующее утверждение Феттера: «[Я] создал первый анимационный фильм с изображением в перспективе (вид из кабины в морской авиации) в 1960-м». Но в независимо полученном списке его фильмов самый ранний датирован «примерно» 1962 годом («A4B — F4B Посадка на авианосец»), а самый ранний из тех, что примерно подходят под описание, датирован 1964 годом («AMSA Вид из кабины пилота»). Самые осторожные датировки отдают должное Феттеру за первый трехмерный анимационный фильм, предположительно в перспективе и, вероятно, в 1962 году.
Рис. 6.32
Из главы «Восход Цифрового Света» мы узнали, что первые известные цифровые анимации появились на Whirlwind в 1951 году. Их даже показывали по телевидению, но не записывали на кинопленку. Анимация на Whirlwind транслировалась в прямом эфире, а значит, могла создаваться в режиме реального времени. Главное различие заключалось в том, что анимация Феттера основывалась на трехмерной модели, показанной в перспективе, а модели «Вихря» были только двумерными. Даже через 10 лет после Whirlwind, в 1962 году, единственным способом увидеть движение трехмерной модели была покадровая запись на пленку, а затем ее проецирование.
Рис. 6.33
В знаменитой Bell Labs Эдвард Э. Заяц нашел еще одно решение для отображения перспективы. Он отправил его для публикации в журнале в октябре 1963-го, и оно вышло в марте следующего года. Согласно сноске в статье, к тому времени Заяц снял на 16-миллиметровую пленку фильм с изображением трехмерного движущегося объекта в перспективе. Поэтому ему иногда приписывают первый компьютерный анимационный фильм, датированный 1963 годом. Но поскольку фильм Феттера 1962-го (вероятно) уже существовал, мы присуждаем Заяцу лавры за второй анимационный фильм.
Кадры фильма Заяца вообще не отображались на экране компьютера. Они записывались прямо на кинопленку, кадр за кадром (и весьма медленно). На рисунке 6.33 показаны все кадры этого движущегося объекта, наложенные друг на друга на одном изображении.
Заяц сказал: «Формулировка основного преобразования, необходимого для создания изображения в перспективе, математически тривиальна». Это действительно так, и его решение математически эквивалентно тому, которое использовали Тим Джонсон и Ларри Робертс в том же 1963 году. Но современная компьютерная графика не выросла из решения Заяца, как и из решения Бернхарта — Феттера. Подробности, касающиеся перспективы Заяца, Бернхарта — Феттера и Робертса, приведены в комментариях на сайте.
Что именно сделал Сазерленд?
Если вы когда-нибудь сталкивались с Айвеном на совещании, вы знаете, что каждое совещание с участием Айвена — это столкновение.
Я построил ТХ-2 для тебя, Айвен.
Имя Айвена Сазерленда, как и имя Стивена Кунса, постоянно возникает в истории компьютерной графики. Мой коллега Эд Катмулл учился у Сазерленда и много лет рассказывал мне о нем. Я даже пару раз оказался в одной комнате с Сазерлендом, но так и не узнал этого человека по-настоящему. Поэтому 9 мая 2017 года в 5 часов утра я позвонил ему по скайпу в Портленд, штат Орегон, из своей квартиры в Кембридже. Он сам попросил связаться с ним в такое время, поскольку привык начинать свой рабочий день очень рано.
Мы проговорили полтора часа, а смеялись гораздо чаще, чем ожидалось. Сазерленд оказался вовсе не тем суровым человеком, которого я рассчитывал увидеть, судя по рассказам моих друзей. Да, сначала он показался очень угрюмым, но вскоре я заметил в уголках его глаз легкую, почти незаметную усмешку. Время от времени он отпускал весьма остроумные замечания. Прежде всего он напомнил, что программа Sketchpad разрабатывалась в эпоху огромных компьютеров-динозавров, занимавших целые машинные залы. Он сказал мне, что путь к Sketchpad пролегал
В то время компьютер TX-2, принадлежавший Массачусетскому технологическому институту, был, вероятно, самым мощным однопользовательским компьютером в мире. Он располагался в Лаборатории Линкольна, секретном подразделении с высоким уровнем безопасности (опять в нашей истории возникает обеспечивающий поддержку тиран, на этот раз — в лице военных). Но, как сотрудник Лаборатории Линкольна и студент Массачусетского технологического института, Сазерленд имел доступ к этому монстру. Он организовал дело так, что смог пользоваться TX-2 единолично, как своим персональным компьютером. Весь зал, набитый электроникой, работал только на него. TX-2 превратился в его личного домашного тираннозавра с графическим дисплеем и световым пером — Сазерленд манипулировал точками на дисплее с помощью пера.
Он сохранял модели отрезков линий в памяти ТХ-2 и написал программу, которая преобразовывала их из невидимых двумерных моделей в видимые двумерные изображения на растрово-векторном гибридном дисплее ТХ-2. Его программа позволяла, если он останавливал световое перо рядом с точкой на дисплее — скажем, рядом с концом отрезка, — «захватить» эту точку и переместить ее в другое место. Координаты конечной точки, хранящиеся во внутренней памяти, изменялись, и на дисплее отображалось обновленное изображение модели.
Сазерленд также впервые продемонстрировал эффект «резиновой нити». Он брал один конец отрезка и перетаскивал его в другое место. Старый отрезок исчезал, а вместо него мгновенно прорисовывался новый. Таким образом, отрезок линии изменялся по мере перемещения светового пера. Он удлинялся или укорачивался в соответствии с новым положением конечной точки, словно резиновая нить, привязанная одним концом к забитому в экран гвоздю. Тогда подобная техника и ее эффекты поражали зрителей. Сейчас она кажется очевидной, но люди видели нечто подобное впервые.
В двумерном Sketchpad Сазерленда впервые появились геометрические ограничения, а также возможность анализировать нагрузку и проводить другие физические тесты моделей. Таким образом, Сазерленд встал на главный магистральный путь разработки систем автоматизированного компьютерного проектирования.[36]
Тим Джонсон, еще один член триумвирата Массачусетского технологического института, поместил для меня Сазерленда, так сказать, в историческую перспективу. Я не затрагиваю тему инженерии (автоматизированного проектирования) в следующей истории, которая напоминает еще и о важнейшей роли Кунса в нашем повествовании:
Стив Кунс зашел однажды ночью к Сазерленду, чтобы взглянуть на реализацию графических ограничений Айвена в действии. Кунса особенно заинтересовало ограничение «постоянной длины», фиксировавшее длину отрезка. Он [Кунс] походя заметил, что нарисует мостовую ферму и покажет нагрузку на нее, просто добавив для каждого соединенного отрезка текстовые выноски, показывающие степень растяжения/сжатия, которому тот подвергался. Айвен никогда не задумывался о таком использовании. К следующей демонстрации он добавил текстовые выноски, и Стив нарисовал классические структуры, чтобы протестировать их. Этот момент подтверждает огромную силу изобретения Айвена.
Даже если не брать концепцию ограничений, хотя уровень графического отображения в Sketchpad кажется тривиальным по сегодняшним меркам, в 1962 году никто ничего подобного не видел. Или видел? Как обычно, история технологии не так проста, как изображает ее общепринятая версия. В то же самое время разрабатывалась еще одна интерактивная программа компьютерной графики и автоматизированного проектирования. САПР под названием Design Augmented by Computers (DAC-1) создана с помощью компании IBM, специально (и эксклюзивно) для дизайнеров и инженеров General Motors в Детройте. Контракт на ее разработку заключили в 1960 году, и ею занимались в подразделении IBM, расположенном в Кингстоне, штат Нью-Йорк. IBM закончила эту программу для General Motors в апреле 1963 года. С самого начала она разрабатывалась как система трехмерного проектирования. В General Motors знали о существовании Sketchpad, но считали рисование двумерных линейных сегментов недостаточным для своих целей. Им требовались трехмерные кривые.
Поначалу в General Motors не видели причин делать свою САПР общедоступной. Точнее, до тех пор, пока в 1963 году не состоялась публикация Sketchpad и Sketchpad III. Разработчики из General Motors быстро добились разрешения на обнародование DAC-1, чтобы разделить славу изобретателей САПР. DAC-1 представили общественности в 1964 году, но не многие помнят о ней или о ее создателях Эдвине Джексе, Барретте Харгривзе и других.
Вот что рассказал мне сам Барретт Харгривз, когда я готовил эту главу:
Да, можно было использовать световое перо для ввода сегментов линий. Дизайнер мог ввести два местоположения и дать команду построить прямую линию между ними. Или было несколько компьютерных графических диалогов, которые позволяли ему создавать изогнутые линии. Например, он вводил координаты существующей трехмерной поверхности и сопоставлял линию или поверхность с ней или с заданным расстоянием от исходной поверхности. В результате появлялась перфолента для управления станком с числовым программным управлением.
Система DAC-1 была очень ранней разработкой, над которой автомобильные инженеры и дизайнеры трудились вместе с компьютерными специалистами и математиками из General Motors Research. Инженеры говорили нам, что им нужно, а мы программировали систему в ответ на их запросы. Инженеры использовали DAC-1 для работы над дизайном кузовных деталей автомобиля, в основном таких, как капоты и крылья.
Вероятно, самым важным значением DAC-1 для General Motors было то, что в самом начале 1960-х он продемонстрировал инженерам и инженерному руководству эффективность использования компьютерной графики в дизайне и проектировании. Было уже множество примеров, когда компьютеры использовались для расчетов экономии топлива или управляемости автомобиля, анализа нагрузки на распределительные валы и так далее, но DAC-1 доказал, что с помощью компьютера можно значительно облегчить работу с деталями кузова и другим графически ориентированным проектированием.
По словам Харгривза, General Motors работала над программным обеспечением для DAC-1 и светового пера совместно с Массачусетским технологическим институтом. Группы из MIT и General Motors знали друг о друге. Здесь есть интригующие исторические намеки по поводу DAC-1, которые заслуживают дальнейшего изучения. В отчетах о разработке DAC-1 не хватает точных дат. Например, были ли в нем трехмерные кривые уже тогда, когда Sketchpad позволял делать только двумерные рисунки из отрезков прямых линий? Была ли в нем трехмерная интерактивная графика до появления Sketchpad III Джонсона? Сдача работ по DAC-1 в апреле 1963 года предшествовала публикации Sketchpad III в мае 1963-го, но обе эти даты — внешние по отношению к процессу разработки и не обязательно указывают на внутреннее состояние проекта. Мы знаем также, что DAC-1 не отображал трехмерные модели в перспективе.
Харгривз преподнес мне еще один сюрприз — привел доказательство существования ранней компьютерной анимации, которая разрабатывалась в General Motors, причем с демонстрацией самому Уолту Диснею, но не на DAC-1:
Уолт Дисней посетил отдел компьютерных технологий General Motors Research Laboratories где-то в начале 1960-х. Программист по имени Хью Брауз, занимавшийся компьютерной графикой, разработал автоматизированный мультик с Микки Маусом для мистера Диснея. Мистер Дисней был очарован. Мы все стояли и смотрели на него разинув рты, пока он бродил по нашему маленькому компьютерному отделу.
И снова сомнительные датировки и отсутствие деталей. И Хью Брауз, к сожалению, уже умер. Поэтому, не имея более веских доказательств обратного и используя нашу консервативную схему датирования для установления приоритета, давайте впредь будем считать, что в соревновании Sketchpad и DAC-1 Сазерленд оказался первым. Тем более что его Sketchpad получил широкую огласку, а DAC-1 — нет. Но при этом совершенно очевидно, что DAC-1 был интерактивной программой автоматизированного проектирования, созданной примерно в то же время.
Но что именно сделал первым Сазерленд, раз уж мы присудили ему первенство? Это не интерактивная компьютерная графика. Ее уже создали десятью годами ранее Кристофер Стрейчи, написавший видеоигру в шашки, и Сэнди Дуглас, создавший видеоигру в крестики-нолики. Обе программы, появившиеся в начале 1950-х, позволяли пользователю в интерактивном режиме изменять, скажем, квадрат доски с пустого на квадрат с крестиком или ноликом. Внутренняя модель доски обновлялась, а дисплей перерисовывался, чтобы отобразить новую конфигурацию доски с грубой визуализацией крестиков и ноликов.
На самом деле новаторство Сазерленда заключалось в интерактивном рендеринге изображения — с акцентом на
Программа Стрейчи работала на древнем компьютере Mark I в Манчестере, отображая предварительно визуализированные геометрические элементы — доску, черные шашки Х и белые шашки О. Mark I не обладал достаточной скоростью, чтобы интерактивно отображать даже X, перемещая его с клетки на клетку. С крестиками-ноликами Дугласа на древнем EDSAC в Кембридже дело обстояло аналогичным образом. Но примерно через 10 лет TX-2 в Массачусетском технологическом институте уже стал настолько быстрым, чтобы мгновенно (или по крайней мере достаточно быстро для человеческого восприятия) отображать несколько десятков отрезков.
В распоряжении Сазерленда был гигантский TX-2, и он первым использовал скоростные возможности этого компьютера графически. Мы уже обсуждали «резиновую нить». Еще он реализовал такие вещи, как фиксирование одной конечной точки отрезка и вращение другой конечной точки вокруг нее. Эффект состоял в повороте отрезка (с непрерывным отображением на экране), когда пользователь перемещал световое перо по поверхности дисплея. Также Сазерленд добился возможности, поворачивая ручку, вращать в реальном времени целый объект, состоящий из нескольких отрезков. Ключевое отличие его экспериментов от интерактивных игр начала 1950-х заключалось в мгновенном рендеринге отрезков (или по крайней мере рендеринг казался мгновенным). Программа Sketchpad не имела ни малейшего представления, где будут расположены новые отрезки, а поэтому не могла выполнить их предварительную визуализацию.
Итак, с помощью программы Sketchpad Сазерленд впервые добился
TX-2 был первым однопользовательским компьютером с достаточно быстрым дисплеем, и Сазерленд использовал его должным образом.
Sketchpad обладал
Я использую здесь понятие «прикосновение» довольно широко, подразумевая под ним приближение светового пера или светового пистолета к дисплею. Поскольку управление курсором мыши мы воспринимаем как прикосновение, его я тоже включаю. Точно так же я включаю сюда перемещение курсора с помощью трекбола, джойстика, пальца на тачпаде или взмахов волшебной палочки в виртуальной реальности.
На самом деле прикосновение к экрану одним или несколькими пальцами, как мы это делаем сегодня на мобильных телефонах и сенсорных панелях, кажется довольно недавней разработкой — достижением последнего десятилетия или около того. Но это не так. Проект PLATO (Programmed Logic for Automated Teaching Operations — программный алгоритм для автоматизированных операций преподавания), вдохновленный Дэном Алпертом, Доном Битцером и другими инженерами из Иллинойсского университета, позволял студентам отвечать на вопросы, прикасаясь к определенному месту экрана (эта функция появилась в версии PLATO IV, запущенной в 1972 году). Оранжевая плазменная панель, разработанная Битцером, поддерживала возможность быстрой отрисовки векторных линий. Недавно опубликованная Брайаном Диром история этого проекта «Дружелюбное оранжевое свечение» должна напомнить о месте PLATO в современной компьютерной истории.
Давным-давно я, прежде чем начинать демонстрацию, я описывал аудитории, как движение мыши на рабочем столе меняет изображение на дисплее. Я тратил около 15 минут на объяснения, что это действительно работает. Людей очень удивляло, что перемещение предмета в одном месте заставляет точно так же двигаться курсор в другом, создавая впечатление, будто вы двигаете его вверху по дисплею, а не внизу по рабочему столу. Лишь с появлением персональных компьютеров в начале 1980-х удивление поугасло. Внезапно все на личном опыте узнали, как курсор следует за мышью.
Неважно, вызваны изменения на экране движением мыши или фактическим прикносновением, — вы в любом случае ощущаете, что породила их ваша рука. Увы, вам это только кажется. В действительности происходит следующее: «прикосновение» запускает команду для работающей программы, например для Sketchpad. Программа измененяет геометрическую модель в памяти компьютера, что в свою очередь изменяет визуализацию на дисплее, к которому вы «прикоснулись».
С сегодняшней точки зрения работа с двумерной геометрией — такой, как квадрат, треугольник или круг — не кажется чем-то сложным, но Сазерленд был первым, и ему предстояло решить множество проблем. Он создал структуру данных, представляющую топологию объектов в его модели, по принципу «этот отрезок соединяется с тем и остается соединенным во время движения».
Он заставил устройство отображения отрисовывать изображения объектов, в то время как TX-2 выполнял программу Sketchpad. То есть ему нужно было думать о процессе отображения, протекающем отдельно от основного вычислительного процесса. По такому принципу работают современные дисплеи, но Сазерленд сражался с проблемой один на один.
Ему пришлось создать алгоритм рендеринга отрезков на дисплее в виде набора точек. Примерно в то же время (в 1962-м) появился знаменитый алгоритм Брезенхэма для выполнения аналогичной задачи, но Сазерленд действовал независимо и без учета эффективности, потому что TX-2 был очень быстрым.
Ему пришлось написать и программу, которая отслеживала положение светового пера относительно дисплея. Тем, кто работал после него, например Тиму Джонсону, было гораздо проще начинать, так как Сазерленд решил множество проблем. Сама по себе двумерная геометрия не кажется значительным вкладом, но Сазерленд впервые создал законченную систему интерактивной компьютерной графики (вероятно, вы помните про DAC-1).
В сферу автоматизированного проектирования он привнес такие важные понятия, как ограничения, сохранение топологии, точность, возможность компьютерного тестирования своих объектов, — но их мы не будем здесь обсуждать.
Но самое главное, Сазерленд показал нам силу ощущения интерактивного контроля над компьютером, когда мы просто «прикасаемся» к его дисплею и наблюдаем за мгновенными изменениями. Возможно, Сазерленд и не был в этом самым первым, но вряд ли кто-либо из широкой публики видел что-то подобное прежде или знал о более ранних примерах. Компьютеры Sage, например, окружала завеса секретности. А DAC-1 оставался внутренним проектом для General Motors. Массачусетский технологический институт умело подошел к маркетингу своей разработки и активно распространял демонстрационные ролики о Sketchpad. Вы можете посмотреть на YouTube, как Алан Кэй комментирует один из них, снятый в Sketchpad в 1962-м, и ощутить (даже сейчас) первоначальное волнение, которое испытывали его зрители. Одной только идеи «резиновой нити» хватило бы, чтобы удивить мир, и в то время она стала настоящим открытием.
Интерактивные возможности Sketchpad, по-видимому, привели к появлению
Последняя метафора, которая привела нас к полностью графическому пользовательскому интерфейсу, — это идея, что пользователь, прикасаясь к дисплею, может управлять чем угодно, а не только изображениями геометрических объектов. Внутренняя модель, изменяющаяся от действий пользователя, может быть, например, системой файлов или папок. Значок папки — это отображаемая версия фактической папки в памяти компьютера. Это не ее изображение, потому что там не из чего создавать изображение. Перемещение значка папки фактически перемещает папку на новое место в памяти.
Тим Джонсон в начале 1960-х годов имел несчастье выглядеть очень похожим на Айвена Сазерленда. У него была более широкая и открытая улыбка, чем у Сазерленда, но такие же волосы, очки и такое же узкое лицо. Сегодня на многих фотографиях в интернете, подписанных как «Сазерленд за пультом Sketchpad», на самом деле изображен Джонсон за пультом Sketchpad III. Когда я связался с Джонсоном в конце марта 2017 года, он с юмором отнесся к этой ситуации. Сказал мне, что уже смирился. А что еще ему оставалось делать? Я пообещал попробовать изменить ситуацию.
Sketchpad III Джонсона находился на ключевом направлении разработок систем автоматизированного компьютерного проектирования. В нем он впервые предложил, как мы уже упоминали, деление окна на четыре панели — популярный метод работы среди специалистов в области САПР: три панели показывают вид объекта сверху, спереди и сбоку без перспективы, а четвертая (окно просмотра) демонстрирует его под любым углом и в перспективе, используя решение Робертса.
Давайте разберемся с окном просмотра. Предположим, что оно заполняет весь дисплей. Нечто подобное вы видите в каждом кадре любого фильма вроде тех, что делает Pixar. Остальные три панели с видом сверху, спереди и сбоку используются только на этапе проектирования для удобства разработчиков.
На рисунке 6.34, вверху слева, Джонсон (не Сазерленд!) управляет Sketchpad III. На крупных планах каждого дисплея показаны все четыре панели, окно просмотра расположено в правой верхней панели. Тим начал с трех граней простого куба (на верхнем правом рисунке). Затем добавил с помощью светового пера треугольник в верхней части лицевой стороны F (внизу слева), который отображается на других панелях по мере его добавления. Затем он добавил (внизу справа) скошенный прямоугольник к боковой грани S и, возможно, добавляет еще один к передней грани F.
Рис. 6.34
Идея окна просмотра возникла у Джонсона: «Айвен [Сазерленд] добился однородности, указав мне в направлении Ларри Робертса. Я быстро оценил, насколько классно выглядит (и просто потрясает) его [Робертса] подход. Само перспективное окно просмотра было моим изобретением». И это (перспективное) окно просмотра имеет ключевое значение для всей компьютерной графики.
Я спросил Джонсона, внедрил ли он патчи, или лоскуты, Кунса в Sketchpad III, учитывая, что Кунс был научным руководителем его дипломной работы. «Я на скорую руку сделал на TX-2 отдельную программу для лоскутов Стива, она не была частью Sketchpad III».
Чего добился Джонсон с тех пор? После Sketchpad III он продолжил карьеру в архитектуре. На архитектурном факультете Массачусетского технологического института он применил идеи ограничений Сазерленда к архитектурным планам, что привело его к званию профессора. Затем он построил в кампусе Массачусетского технологического института экспериментальное здание Solar 5, использующее солнечную энергию без каких-либо дополнительных приспособлений при помощи строительных элементов (окон и крыши). Он закончил научную карьеру, основав успешный бизнес по изготовлению на заказ «фотореалистичных» изображений архитектурных проектов. То есть Джонсон стартовал в профессии с той ветки Цифрового Света, которая относится к системам автоматизированного проектирования, а закончил свой путь в области компьютерной графики. Но его вклад в Цифровой Свет так и не отмечен ни одной наградой.
Ларри Робертс совсем не походил на своих однокурсников по Массачусетскому технологическому институту Айвена Сазерленда и Тима Джонсона. У него были темные волосы, и он не носил очков. И он не написал свою версию Sketchpad. Более того, изначально он даже не имел никакого отношения к программам
Гораздо более впечатляющая тема, в работе над которой он участвовал, заключалась в распознавании трехмерных форм на оцифрованных фотографиях — не кроликов
Его способ отображать перспективу сегодня повсеместно используется в компьютерной графике. Это один из эзотерических разделов математики, который называется
Он предлагает нам добавить четвертую координату к каждой точке нашей геометрии. Начальная геометрия —
В старшей школе мы немного изучали объемную, или трехмерную, геометрию —
Прием Робертса добавлял четвертую — странную «однородную» координату к каждой точке внутренней модели. Назовем ее
Но Робертс и Джонсон пошли еще дальше, включив в Sketchpad III и другие идеи из стереометрии. Робертс разработал математику механизма пространственного преобразования, которая сегодня повсеместно используется в компьютерной графике. Под пространственным преобразованием мы подразумеваем перемещение и вращение объекта, а также изменение его размера. Я не буду вдаваться в подробности — упомяну только, что в нем используется четырехмерное умножение четырехмерных точек, которые Робертс ввел в своем перспективном решении, с четвертой однородной координатой. Дальнейшее объяснение уведет нас в математические дебри матричной алгебры. Важно отметить (и поблагодарить за это Робертса), что он объединил вместе в матричной форме как перспективные, так и пространственные преобразования, чем мы сегодня пользуемся повсеместно. Он создал концепцию однородных координат, или матричной алгебры, сделав тем самым настоящее открытие. Вот его описание словами самого Робертса:
Оказалось, что в то время ни в США, ни в мире не существовало технологии, объединяющей как матрицы, так и перспективную геометрию. Каким-то образом они были полностью разделены во времени и пространстве по всему миру. Поэтому я вернулся к немецким учебникам и узнал, как делается перспективная геометрия, но при этом не получил никакого представления о матрицах. Я обратился к другим учебникам и, конечно же, узнал из них о матрицах, соединил все это вместе и создал четырехмерное однородное преобразование координат, которое сегодня широко используется для перспективных преобразований. Эта глава, вероятно, наиболее известная из всех, вошедших в первоначальную публикацию, потому что она обеспечивает с помощью одного четырехмерного преобразования любое перспективное изображение объекта.
Почему нет премии Робертса? И что случилось с ним дальше? Вы, конечно, удивитесь, но он стал главной движущей силой изобретения интернета! Однако для этой истории нужен контекст.
Джозеф «Лик» Ликлайдер, как вы, надеюсь, помните, предсказал интернет в своей статье «Симбиоз человека и машины» 1960 года. Совсем не удивительно, что два года спустя ARPA уговорило Лика возглавить новый офис технологий обработки информации (Information Processing Techniques Office, IPTO). Под руководством его и других столь же сильных лидеров IPTO превратился в главную движущую силу нашей истории. В частности, его создание поспособствовало развитию интернета, персональных компьютеров и компьютерной графики.
Лик сразу же начал финансировать проекты, которые реализовывали его видение гармоничной работы человека и машины. Удивительно, но, несмотря на военный характер проекта, ему предоставили полную свободу действий, благодаря чему он достиг статуса истинного провидца. Одним из первых финансирование получил проект Дуга Энгельбарта по «расширенной» связи между человеком и машиной в Стэнфордском исследовательском институте (SRI), который расположен рядом со Стэнфордским университетом. В результате этого проекта появился первый полноценный графический пользовательский интерфейс. Как отмечалось ранее, Энгельбарт продемонстрировал его во время знаменитой «матери всех демонстраций», которую он проводил с помощью нового устройства под названием «мышь».
Роберт Тейлор из NASA, также заинтригованный идеями Энгельбарта, подключился к финансированию. Сформировался союз провидцев: Ликлайдер из ARPA, Тейлор из NASA и Энгельбарт из SRI. Они существенно повлияли на дальнейший ход истории в этом и следующих технически взрывных десятилетиях.
Ликлайдер, Энгельбарт и Тейлор знали о разработках триумвирата в Массачусетском технологическом институте с 1962 по 1964 год — Sketchpad и Sketchpad III. Они ссылались на них как на свидетельство правильности своего коллективного видения будущего взаимодействия между машиной и человеком. Неудивительно, что следующим директором IPTO ARPA в 1963 году назначили Айвена Сазерленда. Третьим директором в 1965-м стал Боб Тейлор, а четвертым — Ларри Робертс в 1966-м. Финансирование от ARPA помогло им всем повлиять не только на развитие Цифрового Света, но и на то, как сейчас выглядит весь наш современный мир.
Пока Айвен Сазерленд работал в IPTO, он продолжал финансировать Дэвида Эванса в Беркли. Когда впоследствии Эванс основал Отделение компьютерной графики в Университете Юты, он убедил Сазерленда присоединиться к нему. Сазерленд принял предложение в 1968 году; тогда же они совместно учредили компанию по производству оборудования для компьютерной графики Evans & Sutherland в Солт-Лейк-Сити. И компания, и отделение компьютерной графики (оно особенно) оказали огромное влияние на всю последующую историю Цифрового Света.
Боб Тейлор, закончив щедро раздавать фонды ARPA и покинув пост руководителя IPTO, основал в 1970 году знаменитую лабораторию Xerox PARC (Исследовательский центр в Пало-Альто). Я устроюсь туда на работу под его руководством несколько лет спустя. Именно здесь была создана компьютерная среда, объединяющая персональные компьютеры, графический пользовательский интерфейс на базе окон, мышь, лазерный принтер, растровую графику и Ethernet, — мы пользуемся е. до сих пор.
Ларри Робертс использовал свое положение руководителя IPTO для создания сети ARPAnet, впоследствии ставшей интернетом. Интернет реализован с использованием компонентов Ethernet, изобретенных в лаборатории Тейлора в Xerox PARC. Два из четырех первых узлов сети ARPAnet — это Стэнфордский исследовательский институт и Университет штата Юта.
Когда в апреле 2017 года я писал ранний вариант этой главы, Робертсу присвоили статус почетного члена Музея компьютерной истории в Калифорнии. В официальном перечне его достижений не упомянута роль одного из основателей компьютерной графики и пионера ее Центральной Догмы. Он прославился своим вкладом в создание интернета — достижением, которого вполне бы хватило для всеобщего признания. Один только IEEE присудил ему Мемориальную премию Гарри М. Гуда в 1976 году, премию У. Уоллеса Макдауэлла в 1990-м и Премию интернета в 2000-м. Он был членом Национальной инженерной академии, которая в 2001-м присудила ему премию Чарльза Старка Дрейпера. Но он ни разу не удостоился подобной чести за свой фундаментальный вклад в компьютерную графику.
Тема анимации проходит через всю мою книгу. Хотя Сазерленд известен в первую очередь своими достижениями в области систем автоматизированного проектирования, намеки на компьютерную анимацию содержатся в его диссертации 1963 года, описывающей Sketchpad. На рисунке 6.35 вы видите позаимствованную оттуда иллюстрацию с простым наброском лица девушки и тремя состояниями ее глаз. Если последовательно вывести их на экран, она подмигнет. Стоит процитировать Сазерленда, чтобы увидеть, насколько мы продвинулись:
Один из способов мультипликации — замена. Например, девушку Нефертит [так в оригинале], приведенную [выше], можно заставить подмигивать, изменяя то, какой из трех типов ее глаза расположен на ее безглазом лице. Выведение такого изображения на дисплей компьютера приводило в восторг многих зрителей.
Второй метод создания мультфильмов — движение. Фигурку из палочек можно заставить крутить педали велосипеда путем соответствующего применения ограничений. Точно так же волосы Нефертит можно заставить раскачиваться. Это более привычная форма мультипликации, которую мы видим в кино.
Сазерленд ошибался, считая вторую форму, связанную с ограничением движений, обычным явлением в кино. Классическая целлулоидная мультипликация использовала как раз замену промежуточных форм — именно это была наиболее привычная форма мультипликации вплоть до начала нового тысячелетия. Привычной она остается до сих пор, если под заменой понимать интерполяцию промежуточных форм в трех измерениях.
После защиты диссертации в Массачусетском технологическом институте Сазерленд присоединился к ARPA и, как вы уже знаете, выделил финансирование Дэвиду Эвансу. Затем он ушел из ARPA, несколько лет работал в Гарварде, а в 1968 году пополнил ряды сотрудников и преподавателей основанного Эвансом Департамента компьютерной графики Университета Юты. Многие исследователи современной компьютерной графики учились именно там, и каждому из них рассказывали историю первопроходства Сазерленда. Хотя Сазерленд не занимался непосредственно анимацией, выпускники Юты сыграли важную роль в индустрии компьютерной анимации, о которой мы поговорим в следующих главах.
Рис. 6.35
«Кибернетическая прозорливость»: художники открывают для себя зарождающуюся компьютерную анимацию
Ни один посетитель выставки, если он не будет читать все примечания, относящиеся к каждой работе, не сможет понять, разглядывает ли он что-то, сделанное художником, инженером, математиком или архитектором.
Как мы уже знаем, в Bell Labs Эдвард Заяц создал в 1963 году первый компьютерный анимационный фильм. Там же разработали и первую систему производства компьютерной анимации. В 1964 году исследователь из Bell Labs Кен Ноултон создал компьютерный язык для медленной генерации фильмов в растровом режиме, по одному кадру за раз. Он назвался Beflix. Сам процесс не был интерактивным. Предполагалось, что кадр разделен — в режиме «высокого разрешения» — на 252 на 184 маленьких квадрата. В каждый из них вводились крошечные символы «в режиме пишущей машинки». Камера расфокусировалась, так что символы превращались в пятна света разной интенсивности. То есть фактически происходила грубая имитация «разбросанных» пикселей на растровой сетке и без перекрытий. Примитивный фильм, снятый таким образом Ноултоном в 1964 году, можно посмотреть в сети. Там же легко найти и другой, сделанный Заяцем и его студентом в 1964-м и 1965-м с использованием языка Ноултона.
И тут в нашем повествовании раздается удар гонга, возвещающий начало новой гонки. В Bell Labs и других компаниях вместе с технологами и инженерами начали работать художники. Люди с художественным, а не техническим образованием быстро уловили в воздухе что-то новое. Эта новая порода творцов воспринимала компьютерные вычисления как материал для творчества, возможности которого необходимо было исследовать применительно к скульптуре, музыке, поэзии и изобразительному искусству. Яркий представитель этого творческого типажа — кинорежиссер-экспериментатор Стэн Вандербик, в 1960-х годах снимавший фильмы в Bell Labs, работая с Кеном Ноултоном. С ним мы встретимся в следующей главе.
Шли знаменитые «ревущие шестидесятые», и все устоявшиеся определения подвергались сомнению и пересмотру. Некоторые ученые-компьютерщики считали себя художниками, чем вызывали тревогу в художественном сообществе. Споры не утихли и по сей день, но я не буду здесь заниматься их разрешением. Кен Ноултон, назовите вы его хоть художником, хоть программистом, всю жизнь экспериментировал с различными элементами отображения. Он создал десятки цифровых изображений, используя что угодно — например, домино, игральные кости, игрушечные машинки и ракушки — для «разбрасывания» пикселей. В 1990-х годах, спустя 34 года после своего первого компьютерного фильма, Ноултон все еще занимался этим же видом творчества, используя осколки чайника как элементы отображения (рис. 6.36).
Рис. 6.36
Рис. 6.37
Многие в конце 1960-х не считали компьютер инструментом для творчества, но одна женщина с этим не согласилась и организовала выставку, вошедшую в историю. В 1968 году в Лондоне открылась основополагающая выставка Ясии Рейхардт «Кибернетическая прозорливость — компьютер и искусство» (The Cybernetic Serendipity — The Computer and the Arts). В наше время за ее каталогом и постером гоняются коллекционеры (рис. 6.37). Уже тогда Рейхардт старательно избегала называть создателей представленных на выставке произведений художниками. Даже пятьдесят лет спустя в определенных кругах эта проблема все еще остается минным полем и даже иногда оборачивается судебными процессами.
Но у Робина Форреста проблем со званием художника не возникало. «Я никогда не считал созданные мной изображения искусством, но она [Рейхардт] считала. Значит, это должно быть искусство! Но почему именно это изображение?»
В 2005 году Рейхардт пошла непрямым путем, чтобы описать создателей этих произведений, повторив слова другого автора:
Он также указал, что большинство изображений, существовавших к 1967 году, были созданы в основном в качестве хобби, и он обсуждал работы Майкла Нолла, Чарльза Цури, Джека Ситрона, Фридера Наке, Джорджа Ниса и Х. П. Патерсона. Все эти имена знакомы нам сегодня из истории как имена пионеров компьютерного искусства. Возможность компьютерной поэзии и искусства впервые упоминается в 1949-м. К началу 1950-х годов об этом говорили в университетах и научных учреждениях, а к моменту появления компьютерной графики художники уже были учеными, инженерами, архитекторами.
В выставке «Кибернетическая прозорливость» среди упомянутых в этой главе людей, помимо Робина Форреста, также участвовали Уильям Феттер, Кен Ноултон, Стэн Вандербик и Эдвард Заяц.
Когда крокодилы начали прыгать по экрану TX-2, изобразительная анимация стала практической реальностью.
Рональд Майкл Беккер, насколько я знаю, — четвертый крупный бенефициар появления компьютера TX-2 в Массачусетском технологическом институте. На него оказали непосредственное влияние двое из первых трех, Айвен Сазерленд и Тим Джонсон. Я помню Беккера из шестидесятых как колоритного канадца в ярко-красной африканской рубашке с крутой новой программой.
В конце 1966 года Беккер занялся программой анимации схематичных фигурок из отрезков на TX-2 — машине Эпохи 1. Затем он начал работать с Эриком Мартином, очаровательным человеком и талантливым аниматором из Гарвардского центра визуальных искусств Карпентера, над управлением динамикой анимации. Его вдохновило предложение Сазерленда и Джонсона использовать «волновые формы» для управления движениями. В результате появилась программа Genesys (Generalized-cel animation System — Универсальная система покадровой анимации).
Рис. 6.38
Беккер обобщил понятие волновых форм до того, что он называл «
Но Genesys, по словам моего давнего друга и коллеги, рисовальщика из Нью-Джерси Эфраима Коэна, «в то время сбивал с толку большинство людей искусства». Эфраим настолько преуспел в рисовании, что иногда получал бесплатный обед в кафе, набросав портрет официантки, обслуживающей его столик. Он без труда передавал характер человека на бумаге.
В недавнем письме по электронной почте Эфраим написал мне: «Меня познакомила с Роном общая подруга Линн Смит, которая тогда работала аниматором в Carpenter Center в Гарварде. Мы с Линн были друзьями в старших классах. Рон искал людей, которые могли бы использовать его систему анимации». Эфраима, математика и программиста, а также художника,
Он помог Беккеру с одним из первых анимационных проектов Genesys, хотя скромные возможности системы далеко не соответствовали блестящим навыкам Эфраима (рис. 6.38). Мы еще встретимся с Роном Беккером, Эриком Мартином и Эфраимом Коэном (программистом, аниматором и художником соответственно) в следующих главах.
Волновая форма Беккера или анимация
Интерполяция делается, когда главный аниматор просит своих помощников или ассистентов изготовить промежуточные рисунки к паре сделанных им критических кадров. Было высказано предположение, что часть этого процесса можно было бы механизировать. Мы не будем рассматривать далее эту проблему в данной статье.
А мы, конечно же,
12 июня 2016 года Марсели Вейн и и его жена Сьюзен заехали за мной на ферму моих родственников на юге Онтарио и отвезли в Гананокве, где мы на моторном катере быстро доплыли до их дома на одном из Тысячи островов на реке Святого Лаврентия. День выдался холодный, поэтому мы сидели у камина и рассказывали, что произошло за те 40 лет, пока мы не виделись. Этот замечательный человек рассказал мне удивительную историю.
Помните фильм Стивена Спилберга «Список Шиндлера» (1993), историю жадного немецкого бизнесмена Оскара Шиндлера, который спас более тысячи евреев от нацистского ужаса в Освенциме? Отец Марсели Вольф Вейн был очень хорошим портным и значился в этом списке под пятым номером. До того как начались страшные события, Вольф Вейн спас своего восьмилетнего сына. По словам Марсели:
Весной 1943 года меня отправили в госпиталь Краковского гетто со скарлатиной. Мой отец слышал, что больницу закроют, а всех пациентов убьют. Он зашел за мной ночью, завернул в одеяло и тайком вывел. Я помню, как выходил с моим отцом и группой других еврейских рабочих, когда их отправляли из гетто на фабрику, где трудились рабы. По дороге он передал меня женщине, которая ждала нас на маршруте. Это была прекрасная дама Зофия Езерская, которую я тогда называл своей тетей. Я поехал с ней на квартиру в Кракове. Через несколько дней мы переехали с ней в Варшаву. Теперь я был «спрятанным ребенком».
Зофия растила Марсели как католика и дала ему военный псевдоним Марек Чак. Тем временем его старшего брата расстреляли, а мать погибла в концлагере. Но благодаря Шиндлеру выжил его отец Вольф. В конце концов он и Марсели воссоединились и поселились в Монреале в 1952 году.
Марсели там окончил Университет Макгилла и во время учебы в докторантуре познакомился с компьютерной обработкой изображений. Воодушевленный открывшимися возможностями, он присоединился в 1966-м к Нестору Бёртнику, который занимался компьютерной графикой в Национальном исследовательском совете Канады. «Нас интересовало, как люди, которые не являются техническими специалистами, могут взаимодействовать с компьютерами».
Бёртник услышал лекцию одного из художников-мультипликаторов студии Диснея на конференции по компьютерной графике в 1969 году. Там объяснялся процесс анимации на целлулоиде, который мы обсуждали ранее в главе о кино. Главный мультипликатор рисует ключевые кадры карандашом. Затем промежуточные кадры (между ключевыми) создают художники-фазовщики. Контуровщики обводят карандашные линии тушью на целлулоидных листах, а заливщики заполняют контуры цветом. Бёртник и Вейн решили создать компьютерного помощника для производства покадровой анимации.
Бёртник написал программу двумерной интерполяции, которая брала линию из первого ключевого кадра и соответствующую линию из следующего ключевого кадра, после чего интерполировала одну в другую, рисуя линии в соответствующих позициях на промежуточных кадрах. То есть компьютер становился промежуточным звеном в системе анимации по ключевым кадрам. Таким образом, в 1970 году они создали третью задокументированную двумерную компьютерную анимационную систему (после систем Ноултона и Беккера). Фактически в производстве анимации использовались только эти три системы.
Система Beflix Ноултона была первой, полностью ориентированной на пиксели, без геометрии для интерполяции. Genesys Беккера перемещала геометрические объекты по кривым, но не интерполировала их. Система Бёртника и Вейна стала первой интерполирующей, или фазировочной, системой для компьютерной анимации.
В 1996 году в Канаде Бёртника и Вейна провозгласили отцами технологии компьютерной анимации. В 1997 году за свой вклад в эту сферу они получили премию Технической академии США.
Ускорение по закону Мура: Усиление взрывается как сверхновая
Закон Мура появился в 1965 году. Он открыл Эпоху 2 в ускорении вычислений. И ознаменовал расцвет Цифрового Света в том виде, каким мы его знаем сейчас.
Закон (на самом деле это, конечно, не настоящий научный закон) назван в честь Гордона Мура, соучредителя Intel, самой успешной компании по производству компьютерных чипов в мире. Интеллектуальные корни Intel, краеугольного камня Кремниевой долины, лежат непосредственно в изобретении полупроводникового усилительного прибора — транзистора. Изобретение транзистора закономерно привело к появлению интегральных микросхем — множества транзисторов на одном кристалле полупроводника — и к формулировке закона Мура. До его появления размеры компьютеров увеличивались по мере возрастания мощности. После начался обратный процесс — с возрастанием мощности размеры уменьшались. То есть их мощность становилась плотнее.
Мур сформулировал свой «закон» следующим образом: количество компонентов на интегральной микросхеме будет удваиваться каждые 18 месяцев. На самом деле сначала он говорил о 12 месяцах, потом о 24, но в общепринятую формулировку вошло промежуточное значение. В конце концов, это «закон», а не настоящий закон. Мур в 1965 году просто сделал интуитивное предположение, основанное на наблюдениях за скудными данными всего за четыре года.
Он также предсказал (сейчас это кажется довольно забавным), что «нет никаких оснований полагать, что этот рост останется почти постоянным, по крайней мере в течение 10 лет». Но он остается постоянным вот уже 55 лет. Наблюдение Мура превратилось в закон, хотя под ним нет никаких физических или иных научных оснований.
Рис. 6.39
Ранее я приводил более удобную формулировку закона Мура: все хорошее в компьютерах становится на порядок лучше каждые пять лет. «10X за 5» — это простой способ запомнить его (произносится как «в десять раз за пять»). На рисунке 6.39 изображена Эпоха 2, начинающаяся с 1965 года — левой точки отсчета на оси времени.
Практичный и циничный деловой мир называет кривую закона Мура «хоккейной клюшкой». Это график роста прибыли, за которую стоит умереть. Просто продлите кривую под предполагаемым углом, приближающимся к вертикальному, чтобы увидеть хоккейную клюшку. Это картина экспоненциального роста. Экспоненциальный
Закон Мура — это рычаг Архимеда, перевернувший мир. Усиление человеческих возможностей в Эпоху 1 достигло уровня «в миллион раз». Затем, в Эпоху 2, закон Мура усилил их фактор еще в сто миллиардов раз и усилит в триллион раз к 2025 году. Усиление человеческих возможностей в целом с момента изобретения компьютера вырастет к тому времени в
Никакая версия любого современного аспекта компьютерной истории — в частности, Цифрового Света — не может игнорировать впечатляющую роль закона Мура. Это взрывной фон, та основа, на которой базировались все специфические открытия и достижения последних пяти десятилетий — большинство из них просто не состоялись бы без него. По мере изучения биографии пикселя в следующих главах роль закона Мура станет очевиднее. Генеалогия понятий здесь не отрывается от исторического времени — от неумолимого хода часов закона Мура.
Нам также нельзя игнорировать этот ход часов в настоящем. «Закон» по-прежнему пребывает в стадии сверхновой. На самом деле он уже выходит за ее пределы. Сверхновая способна сиять в 10 миллиардов раз ярче, чем породившая ее звезда, но мощность компьютеров скоро возрастет в триллион раз (и это только Эпоха 2) по сравнению с породившими их первыми универсальными электронными вычислительными машинами. Понимание, пусть даже интуитивное, невообразимых степеней закона Мура лежит в основе понимания машинных вычислений, компьютеров и Цифрового Света.
Итак, теперь мы знаем, в чем заключается закон Мура, но почему он работает? Отчасти дело в том, что пока мы не видим никаких физических препятствий для реализации бита. Это просто наличие или отсутствие чего-то, скажем напряжения. У него нет размера. Это просто отличие, и не более того. Это чистая информация. Остальная часть ответа касается максимальной скорости, с которой люди способны создавать инновации. Экспоненциальное улучшение какой-либо технологии — в случае с законом Мура это технология компьютерных микросхем — отражает предельную скорость, с которой большое количество творческих личностей может заниматься совершенствованием технологий в условиях конкуренции при отсутствии абсолютного физического барьера для их улучшения и самоокупаемости этих технологий.
На первый взгляд, закон Мура — загадка. Если мы в него верим, то зачем нам беспокоиться о промежуточных шагах? Если мы знаем, что компьютеры улучшатся в четыре раза через три года, то зачем сначала улучшать их в два раза? Если мы знаем, что компьютеры улучшатся в 100 раз за 10 лет, то зачем заморачиваться с коэффициентом «10Х за 5»? Почему бы сразу не перейти непосредственно к более высокому коэффициенту?
Столь утрированная постановка вопроса делает очевидной его нелепость. Если бы в 1965 году мы знали, что в 2020-м компьютеры станут в сто миллиардов раз лучше — а так оно и есть, — то зачем создавать компьютеры, которые были в 10 раз лучше в 1970-м, в 100 раз лучше в 1975-м, в 1000 раз лучше в 1980-м и так далее? Почему мы просто сразу не создали компьютеры 2020-го, избежав предшествовавших им убогих машин-динозавров? Такая формулировка вопроса сразу указывает на проблему. В 1965-м, даже искренне уверовав в новый «закон», мы не смогли бы вообразить компьютер 2020 года, а тем более понять, как его построить. Инженеры должны подняться по всем ступеням этой лестницы, пройти каждый уровень игры, прежде чем осознать, как перейти на следующий, — и только тогда можно приступать к его созиданию. Нам нельзя прыгать через ступени и пропускать промежуточные шаги.
Нет, мы должны следовать закону Мура в его форме о постепенном улучшении технологии микросхем, чтобы представлять, каким будет следующее улучшение. Похожим образом работает эволюция живых существ. Крошечные изменения накапливаются, оборачиваясь в конечном счете масштабными изменениями, но сохраняя жизнеспособность живого существа на каждом этапе. Даже природе не под силу прямой прыжок от бактерии к ребенку. Как и в случае с дарвиновской эволюцией, изменения, продиктованные законом Мура, улучшают соответствие выполняемой задаче: компьютеры становятся дешевле, меньше, плотнее и быстрее. И мы в любом случае не видим, куда направляют нас накопленные изменения, потому что не существует никакой заданной цели. Но когда дело доходит до технологий, мы реализуем каждый шаг, чтобы увидеть, действительно ли он работает, а затем набираемся смелости, проницательности и инженерного мастерства, чтобы перейти к следующему шагу. Примерно так же мы оцениваем финансовые риски. Нам нужно знать, что они находятся в разумных пределах.
Закон Мура описывает аппаратный феномен, выражающийся для нас в Усилении. То, что прежде казалось недостижимым, становится осуществимым, а затем обыденным.
Снова Сазерленд: рождение виртуальной реальности
И все же он изучал не настоящий Диаспар. Он двигался по ячейкам памяти, глядя на город-видение… Для компьютеров, схем памяти, для всего множества механизмов, создававших рассматриваемое Элвином изображение, это был просто вопрос перспективы. Они «знали» форму города и поэтому могли показать, как он выглядит снаружи.
Наивысшим средством отображения, «предельным дисплеем», конечно же, будет комната, в которой компьютер управляет существованием материи. Стул, показанный в такой комнате, был бы достаточно хорош, чтобы сидеть на нем. Наручники, показанные в такой комнате, сковывали бы руки, а пуля, показанная в такой комнате, была бы смертельной. При соответствующем программировании такой дисплей буквально стал бы Страной Чудес, в которую вошла Алиса.
«Алиса в Стране Чудес с комментариями», изданная в 1960 году Мартином Гарднером, входила в список обязательного чтения для поколения, очарованного своими ментальными путешествиями и волшебными грибами. Поэтому неудивительно, что описание «предельного дисплея», сделанное Айвеном Сазерлендом в 1965 году, воспринимается как психоделический сон и вызывает в памяти «Алису в Стране Чудес». Воплощение давней мечты закрепило за Сазерлендом славу лидера среди разработчиков компьютерной графики в 1960-х. В 1968 году он создал в Гарварде устройство, которое назвал «наголовным дисплеем». Пользователь, надев на голову изобретение Сазерленда, видел простую трехмерную компьютерную сцену, «виртуальную реальность», наложенную на реальный мир вокруг. Виртуальная реальность (VR) — это современный оксюморон для той части, которая создается компьютером. Наложение VR на реальный мир называется дополненной реальностью (AR), то есть реаль ностью, «увеличенной» или «улучшенной» виртуальностью. В обоих словосочетаниях слово «реальность» употребляется довольно странно, но так уж они прижились.
Некоторые считают наголовный дисплей Сазерленда первой реализацией VR или AR. Дисплеи, надевающиеся на голову, делались и раньше, но именно этот впервые отслеживал положение головы и корректировал виртуальную сцену почти в реальном времени, чтобы приспособиться к постоянно меняющейся перспективе пользователя. На рисунке 6.40 (испытуемый с прибором на голове — не Сазерленд) показана его оптическая часть.
Наголовный дисплей Сазерленда даже не приблизился к контролю над «существованием материи», но он представлял стереоскопическое изображение трехмерного мира, созданного из отрезков прямых линий в перспективе. И перспектива эта была перспективой Ларри Робертса, сочетавшей в себе однородные координаты и матричные манипуляции. Sketchpad Сазерленда в 1963 году не соблюдал Центральную Догму компьютерной графики, но его наголовный дисплей 1968-го уже подчинялся ей.
Рис. 6.40
Закон Мура сделал возможной виртуальную реальность. Разработка наголовных дисплеев велась в начале Эпохи 2, после того как Гордон Мур сформулировал «закон» в 1965 году. Сазерленд использовал интегральные микросхемы для наголовных дисплеев.
Если верить слухам, Сазерленд тогда заявил, что все проблемы компьютерной графики решены! Это утверждение стало неожиданностью для нескольких поколений разработчиков, которые год за годом продолжали решать стоящие перед компьютерной графикой задачи (и продолжают решать до сих пор — в материалах конференции Siggraph немало таких статей). Сазерленд во время нашего с ним разговора заявил, что никогда бы не сказал ничего подобного. И действительно, опровергая расхожее утверждение, Сазерленд написал в 1966 году статью под названием «Десять нерешенных проблем в компьютерной графике». Но его слова хорошо согласуются с советом, который он дал Джеймсу Каджии, другому выдающемуся выпускнику Юты.
Сам Сазерленд занялся очень тяжелой проблемой в совершенно другой области. Он объединился с Карвером Мидом (именно Мид придумал термин «закон Мура»), чтобы справиться с, казалось бы, неразрешимыми проблемами проектирования интегральных микросхем все более и более высокой плотности. То есть Сазерленд сосредоточился на сохранении закона Мура живым и действенным. Сегодня он все еще работает над сложным аспектом все той же проблемы в своем офисе в Портленде, штат Орегон.
Лучший способ проводить исследования — выбрать проблему, которую все считают действительно сложной. Найдите способ взглянуть на нее свежим взглядом, который сделает 90 % этой проблемы легкими. Решите эти легкие 90 %. Тогда все остальные будут работать над сложными 10 % и ссылаться на вас.
Цифровой Свет: от форм к оттенкам
Я начал эту главу с описания своей демонстрации компьютерной графики для Рави Шанкара в начале 1970-х годов. Я хотел доступно объяснить понятие модели, основанной на геометрии, используя двумерный пример, и подчеркнуть важность теоремы отсчетов, показав ее применение в обратном порядке через концепцию сплайна. Сплайн как пример интерполяции или аппроксимации точек привел к патчу интерполяции или аппроксимации кривых (фактически сплайнов). Так появился трехмерный мир компьютерной графики.
Затем я вернулся к концу эпохи Whirlwind и посвятил оставшуюся часть главы экскурсии по 1950-м и 1960-м годам, показав вам существовавшую тогда питательную среду, порожденную нацистской и советской угрозами и массированным ответом на них посредством американских технологий. Правительство США, и особенно ARPA и NASA, обеспечили нам безопасный и управляемый мир, где возникла целая плеяда компьютерных новаторов. Они использовали весь потенциал своего разума при щедрой финансовой поддержке в защищенной от внешних угроз среде. Они находились за пределами промышленной конкуренции, и над ними не довлела обязанность приносить прибыль.
Поскольку, говоря о демонстрации для Рави Шанкара, я описывал цветной дисплей, а она произошла в 1970-е, вы могли подумать, что и остальная часть главы, посвященная 1950-м и 1960-м годам, рассказывает о цветной графике. К сожалению, это не так. Только сейчас, дойдя до конца 1960-х, мы попали в точку, где вот-вот появится цвет, а динамо-машина закона Мура приведет его в движение.
От форм и изображений в оттенках серого мы перейдем в следующих главах к цвету, оттенкам, прозрачности, текстуре, свету, тени и всему прочему, что обычно присуще реалистичным изображениям. Мы узнаем, как визуализировать одноцветную освещенную область в форме треугольника, а затем применить сверхспособность Усиления, чтобы достичь наивысшей славы компьютерной графики.
Далее я сосредоточу повествование только на той части компьютерной графики, которая относится к компьютерной анимации, — и мы наконец узнаем, как в недрах машины рождается кино.
7. Оттенки смысла
Эпоха 1 была серой, а Эпоха 2 — цветной. Цвет появился в Цифровом Свете вскоре после события, положившего начало Эпохе 2, — после того как Гордон Мур провозгласил в 1965 году свой знаменитый «закон». Это не просто совпадение. Каждый цветной пиксельный дисплей (а их очень много) — это знамя, которое развевается не только в честь этого события, но и в честь Эпохи 2 компьютерной истории и взрывного роста коэффициента Усиления, которое она нам принесла. Пиксели обрели цвет в психоделических шестидесятых — в том самом 1967 году, в Лето Любви и Human Be-In. Но это уже просто совпадение. Цифровой цвет породила не контркультура. Он произошел из массового стремления добраться до Луны (или убраться с Земли — зависит от того, с какой стороны посмотреть). Я не знал всю историю целиком, пока не приступил к написанию этой главы[38].
Рис. 7.1 Первые цветные пиксели, в 1967 году использовались для визуализации лунного модуля в NASA-2, симуляторе лунного проекта «Аполлон»
В этой и следующей главах я кратко объясню, откуда взялся цвет, затем мы проследим путь от первых окрашенных пикселей до первых цифровых фильмов и попробуем выяснить, как велись их вычисления. Кажется невероятным, но все это появилось из небытия примерно за 35 лет. Здесь вновь проявились закон Мура и Усиление как результат его действия: в десять раз каждые пять лет. За эти годы динамо-машина, приводившая в движение Цифровой Свет, резко увеличила мощность на семь порядков — настоящий взрыв сверхновой звезды, сияние которой наполняет сегодня каждый экран и каждую страницу в этой и следующей главах. Создатели первых цифровых фильмов серфили на этой новой волне, когда она разбивалась о берега нашей цивилизации. Тем не менее первые фильмы — это лишь крошечные разноцветные индикаторы, обозначившие появление колоссальной силы, воздействующей на весь мир.
Биография пикселя начинается с изобретения выборки и заканчивается в следующей главе Великой цифровой конвергенцией. Я намереваюсь охватить Цифровой Свет между двумя конечными точками, но сама природа закона Мура предполагает, что в моей книге недостаточно места для такого взрывоподобно расширяющегося пространства с постоянно растущим числом ответвлений. Исходя из закона Мура, мне придется помещать все больше и больше (экспоненциально больше) технологий на каждую следующую страницу, чтобы главы должны образом отражали действительность.
Чтобы сделать конечное из бесконечного, я решил остановиться на иллюстративной компьютерной графике в качестве показательного примера для всего Цифрового Света. А когда мы перейдем только к ней, показательным примером станет цифровое кино. Подобно тому как иллюстративная компьютерная графика представляет нам гораздо более обширное пространство Цифрового Света, так и цифровое кино представляет все оставшиеся за пределами моей книги виды компьютерной графики, возникшие в результате Великой цифровой конвергенции, включая видеоигры, автоматизированное проектирование, авиасимуляторы, интерфейсы приложений и виртуальную реальность.
Вот как я предлагаю поступить: мы двинемся по экспоненте закона Мура шагами, равными одному порядку, начиная с 1965 года и до Великой цифровой конвергенции в начале нового тысячелетия. Чтобы добраться до представляющего всю компьютерную графику цифрового кино, мы сделаем пять больших шагов. Каждый из них станет подразделом в двух главах биографии цветного пикселя. События в обеих главах разворачиваются с экспоненциальной скоростью. Каждый подраздел я помечу соответствующим коэффициентом закона Мура: 1X, 10X, 100X, 1000X и 10000X. Таким образом, каждый шаг будет напоминать нам о фундаментальном значении инженерного чуда, благодаря которому все это стало возможным.
Закон Мура 1X (1965–1970)
Из главы «Восход Цифрового Света» мы знаем, что пиксель — это один отсчет из поля зрения. Более того — и это очень важно — это отсчет оцифрованный и представленный в виде битов. Здесь мы говорим о пикселях из полей
Мы также знаем, что увидеть цветной пиксель невозможно. У него нет формы. Это отсчет поля зрения в одной точке. У него есть лишь координаты на математической сетке местоположений и один-единственный цвет. Чтобы увидеть невидимый пиксель, его необходимо «разбросать» на устройстве отображения и добавить к другим «разбросанным» пикселям. Операции «разбрасывания» и сложения вновь восстанавливают бесконечность цветов исходного поля зрения до дискретной выборки отсчетов. Фактически перед нами еще одна переформулировка великой теоремы отсчетов.
Но как цвет «связан» с пикселем? Каждый элемент дисплея — это часть материи реального мира, испускающая цветной свет. Чтобы дисплей был полезным в современном мире, количество цветов на нем должно достигать нескольких миллионов. Таким образом, необходим элемент управления вводом, чтобы задавать элементу отображения один из многочисленных цветов.
Сам по себе пиксель не содержит цвета. Он содержит элементы
Наше определение цветного пикселя требует, чтобы он отображался под цифровым управлением. Биты в цветном пикселе управляют тремя цифровыми каналами одного элемента цветного дисплея. Говорить, что пиксель хранит цвет, довольно удобно, поэтому мы тоже будем иногда так делать. Но на самом деле пиксели не хранят цвета — точно так же, как биты на самом деле не содержат 0 и 1. В следующем разделе я буду осторожен и скажу, что пиксель управляет цветом, а не хранит его.
Давайте рассмотрим, как считать цвета в цифровом виде. Раньше мы использовали метафору с примитивным двухпозиционным выключателем. У него есть два состояния — включен или выключен. Точно так же и бит представляет 1 или 0 (если мы настаиваем на числах для обозначения состояний). Таким образом, 1-битный пиксель может управлять отображением только двух разных цветов — как правило, черного и белого, но их легко заменить любыми другими, скажем розовато-лиловым и зеленовато-желтым.
У двух выключателей есть уже четыре разных положения: оба включены, оба выключены, один включен, а другой выключен, один выключен, а другой включен. Таким образом, управляемый 2-битным пикселем элемент дисплея отобразит один из четырех возможных цветов. Когда количество битов в пикселе увеличивается на единицу, количество цветов, которыми он управляет, удваивается. У трех выключателей есть восемь возможных положений: все четыре положения двух выключателей с включенным третьим и все четыре положения двух выключателей с выключенным третьим. Таким образом, 3-битный пиксель управляет восемью возможными цветами — и так далее. Для удобства я часто буду помещать в скобки эквивалентное количество возможных контролируемых цветов после упоминания величины пикселя в битах.
Дело становится совсем серьезным, когда количество битов достигает шести и выше. Такой способ хранения элементов управления цветом — непосредственно в битах каждого пикселя — кажется наиболее очевидным. Действительно, он до сих пор остается наиболее распространенным, именно поэтому понятие пикселя, хранящего цвет, кажется вполне естественным.
Но на заре компьютерной истории память стоила очень дорого, из-за чего преобладал непрямой способ хранения элементов управления цветом. Он использовал так называемую палитру — цветовую карту или таблицу поиска цветов. Биты в пикселе интерпретировались как номер строки в таблице элементов управления цветом, хранящейся в памяти компьютера. Цветом управляла строка битов памяти (а не биты пикселя). Идея заключалась в том, чтобы количество битов на пиксель было невелико (поскольку пикселей очень много), а число возможных вариантов цвета на пиксель — большим.
Рассмотрим уже упомянутый 1-битный пиксель. Один бит способен напрямую включать или выключать элемент отображения, и на этом всё. Таким образом, 1-битный пиксель управляет напрямую лишь черным (выключено, 0) и белым (включено, 1) цветами. Но косвенно этот бит может указывать на одну из двух строк (строку 0 или строку 1) палитры в другом месте памяти. Предположим, что каждая строка карты цветов содержит 24 бита. Их достаточно для управления более чем 16 миллионами различных цветов. Есть только два ряда, поэтому одновременно доступны только два цвета, но выбрать можно любые — хоть розовато-лиловый и зеленовато-желтый. Поскольку переход на один уровень косвенности происходит на электронных скоростях, нам, жалким несовершенным людишкам, он кажется практически мгновенным. С помощью цветовой карты пиксель не управляет элементом отображения, а лишь выбирает строку из палитры, управляющую им.
Более реальный и знакомый пример — 8-битный пиксель. Он указывает на одну из 256 строк в палитре. Опять же, давайте предположим, что в каждой строке цветовой карты 24 бита. Таким образом, вместо 256 возможных цветов (8 битов), доступных напрямую, трюк с цветовой картой делает косвенно доступными более 16 миллионов цветов (24 бита). Количество цветов, которыми можно управлять, остается неизменным (256) в обоих случаях, но количество вариантов их выбора значительно увеличивается.
В этой главе мы столкнемся с 6-битными (64 цвета) и 8-битными (256 цветов) пикселями, а затем перейдем к 24-битным (более 16 миллионов цветов). Человек различает до 16 миллионов оттенков, поэтому обычно нет особых причин использовать пиксели с разрядностью более 24 бит. Число битов в пикселях, равное 24, стало повсеместным к началу третьего тысячелетия, что привело к Великой цифровой конвергенции. Таким образом, 24-битные пиксели (с 16
Один из способов освободиться от обусловленности прошлым — смоделировать альтернативное будущее с помощью безотказной мощи цифрового компьютера. Это «искусство» высочайшего уровня из всех, когда-либо известных человеку, — в буквальном смысле создание нового мира, незаметно догоняющего реальность. Возможности чисто эстетического исследования революционны, и их еще предстоит опробовать. «City-Scape» — первый шаг к этому будущему.
Кинокритик Джин Янгблад писал колонки для нескольких лос-анджелесских газет в 1960-х годах. В 1970-м, за три десятилетия до Великой цифровой конвергенции, он изложил свои мысли о грядущих изменениях в книге «Расширенное кино». Это была исчерпывающая работа о медиаискусстве — новой области, которая продвигала экспериментальное кино, видео и даже зарождающуюся компьютерную графику как новые формы творчества. Книга Янгблада во многих отношениях стала подведением итогов, гимном ярких шестидесятых и явным достижением контркультурной революции. Удивительно, как много «Расширенное кино» может рассказать нам об истории Цифрового Света.
Еще во второй главе мы узнали, что слово «пиксель» впервые использовано в 1965 году. Янгблад упомянул
Требования к битам, необходимые для компьютерной генерации реалистичных движущихся изображений в реальном времени, пока еще лежат далеко за пределами современного уровня техники.
Янгблад, сам того не зная, сделал драгоценный снимок момента, когда появился первый цифровой цвет. В книге нет определения пикселя, но примеры из нее подводят нас к нему. Подсказки оттуда привели меня прямиком к первым цветным пикселям.
Если Янгблад был прав, то источник цветных пикселей стоило искать в космической гонке. Как мы узнали из главы 6, ARPA, принадлежавшее военным, финансировало создание черно-белой компьютерной графики. Близкое ему по духу NASA, основанное примерно в то же время, выводило компьютерную графику в область цвета.
В главе под названием «Кибернетическое кино и компьютерные фильмы» Янгблад обсуждал участие Лаборатории реактивного движения (JPL) из Пасадены, штат Калифорния, работавшего на NASA подразделения Калифорнийского технологического института, в программе запуска автоматических межпланетных станций «Маринер». С 1962 по 1973 год Лаборатория реактивного движения NASA совершила семь успешных беспилотных миссий к Марсу, Венере и Меркурию. Для этого проекта в ней создали систему обработки изображений. Вот что пишет Янгблад:
Эта фантастическая система в реальном времени преобразует телевизионный сигнал в цифровые элементы изображения, которые сохраняются на специальных дисках с данными. Сама картинка не сохраняется; только ее цифровое представление.
То есть они хранили дискретные пиксели, а не непрерывные аналоговые телевизионные сигналы.
Эпиграф к этому разделу взят из описания цветного видеофильма архитектора Питера Камнитцера «City-Scape», в котором показана упрощенная графика вида на город из движущегося автомобиля. Янгблад также отметил, что фильм был снят на симуляторе, построенном компанией General Electric для NASA:
Он использовался более десяти лет для имитации условий высадки на Луну.
Могли ли подрядчики NASA — General Electric и Лаборатория реактивного движения — использовать программы, отображающие цветные пиксели, уже в 1960-м или 1962-м? Как мы знаем, триумвират и Центральная Догма (трехмерная евклидова геометрия должна отображаться двумерным изображением в линейной перспективе) появились в Массачусетском технологическом институте в 1963 году. Было бы странно, если бы цвет предшествовал этому черно-белому краеугольному камню в фундаменте компьютерной графики. Давайте посмотрим, что означал цвет для NASA.
Янгблад описал систему, использованную Лабораторией реактивного движения для отображения цифровых цветных изображений, — цвет там кодируется 6 битами на пиксель (64 цвета). Если опустить подробности, система работала следующим образом: изображения отправлялись на Землю и сохранялись на вращающемся магнитном диске, а затем снова собирались в 512 рядов по 480 пикселей в каждом для отображения на цветном телевизионном дисплее. Но самое первое изображение (рис. 7.2) было не таким сложным: его размер составлял всего 200 на 200 пикселей, а отображение делалось от руки на бумаге!
Есть специальный термин для цифровой памяти, которая используется для хранения пикселей. Ее называют
Рис. 7.2
«Маринер-4» отправил свои первые изображения с Марса во время полета, состоявшегося в июле 1965 года. Космический аппарат передал на Землю 21 черно-белую фотографию, сделанную через чередующиеся красные и зеленые фильтры. Поскольку съемка велась с движущегося космического корабля, последовательные изображения не были точно выровнены друг с другом. Но там, где они накладывались друг на друга, появлялась возможность грубой реконструкции цвета — только с красным и зеленым компонентами, без синего. Инженерам не терпелось увидеть Марс, и они не хотели ждать, пока изображение загрузят в компьютер, он их обработает и отобразит данные на дисплее. Поэтому они просто купили в художественном магазине цветные пастельные мелки и вручную нарисовали элементы отображения на цифровой распечатке необработанных значений пикселей. Своеобразное «устройство» не было электронным дисплеем, так что, согласно нашему строгому определению, его нельзя считать первым цветным цифровым изображением.
Более тщательное исследование показало, что его нельзя назвать и цветным отображением полученных с Марса фотографий. В официальном отчете прямо утверждалось: «Хотя полученные данные были примерно эквивалентны двуцветной фотографии, изначально не предполагалось, что два изображения должны быть объединены для формирования цветного, и многие факторы в совокупности препятствуют прямой интерпретации цифровых данных как индикативных значений любого конкретного цвета». То есть нетерпеливые инженеры сделали нечто гораздо более прозаичное: они просто произвольно выбрали для 6-битных пикселей разные оттенки мелков оранжевого цвета, причем на более ярких участках использовались более светлые оттенки, а на более тусклых — более темные. Сходство получившихся цветов с реальной поверхностью Марса оказалось чистой случайностью. Никто тогда еще не знал, как выглядит Марс.
Инженеры использовали метод, напоминающий способ цветовой карты для косвенного сохранения цвета в пикселе. Они установили цветовой ключ, или правило, по которому коричневый цвет присваивался пикселям со значениями от 45 до 50, желтый — со значениями от 20 до 25 и так далее. Они использовали только шесть разных мелков, а не 64 цвета, доступные для технологии (именно столько значений могут хранить 6 бит). Другими словами, их таблица цветов преобразовывала все 64 варианта значений яркости пикселей всего в 6 разных цветов. Например, строки с 45 по 50 цветовой палитры, соответствующие значениям пикселей от 45 до 50, хранят один и тот же цвет — коричневый.
Цветное изображение, полученное с помощью цветовой карты, иногда называют псевдоцветным изображением или изображением с искусственным цветом. Цвета задаются значениям пикселей произвольно, в любом порядке, — это мало чем отличается от того, что сделали инженеры проекта «Маринер». Не требуется также, чтобы цвета в палитре соответствовали реальности. Первые художники-компьютерщики так часто использовали псевдоцвет — со спектральными цветами в порядке радуги, — что это быстро стало таким же банальным, как раскрашенные по технологии тай-дай футболки хиппи.[39]
Хотя цветное изображение с Марса — это важное достижение космической программы, его нельзя назвать первым цветным Цифровым Светом по двум причинам. Во-первых, «первичность» события портят механические диски, как мы уже видели в истории первых кинофильмов и первых компьютеров; нам нужна первая полностью электронная реализация цветных пикселей, с электронной памятью для кадрового буфера. Во-вторых, ручная реализация элементов отображения выводит его за границы Цифрового Света. Но все же снимки с «Маринера» — это впечатляющее достижение и «почти первые цветные» изображения Цифрового Света.
Итак, если первые цветные пиксели появились не на картинке Лаборатории реактивного движения, то как насчет General Electric, другого кандидата из книги «Расширенное кино» Янгблада?
В «Итоговом отчете» General Electric за август 1964 года описывался, как мне кажется, явный претендент на звание самого раннего случая использования вычисляемого цвета. Тренажер-симулятор посадки лунного модуля, созданный для Центра пилотируемых космических полетов NASA в Хьюстоне, представлял собой модель, состоящую только из изображения бесконечной плоскости, которая покрыта текстурой из повторяющихся плиток разного цвета. На рисунке 7.3 — одно из первых цветных изображений с этого симулятора, его часто называют NASA-1. Он в довольно примитивной форме показывает поверхность Луны, как ее видит пилот через иллюминатор посадочного модуля: красная область — это зона посадки, а различные текстуры соответствуют, скажем, кратерам.
Вы можете думать о каждой плитке как о небольшом упорядоченном растровом массиве меньших плиток. Таким образом, плитка представляет собой квадрат, состоящий из массива 8 на 8 — 64 маленьких квадратных плиток. Это не пиксели! На самом деле это просто маленькие геометрические квадраты. Симулятор NASA-1 вычислял вид этой мозаичной плоскости в перспективной проекции, по одному элементу за раз на каждой строке развертки цветного телевизионного дисплея. Он действовал очень быстро, в режиме реального времени. Вот почему в 1964 году он стоил миллионы долларов. Для каждого элемента изображения на каждой строке развертки симулятор рассчитывал, какую плитку увидит пилот в конкретной точке, глядя в иллюминатор на плоскость, покрытую текстурами.
Это геометрический расчет с использованием геометрии перспективы. Затем он просто искал в таблице цвет нужного элемента и отправлял его на цветной дисплей.
Очень похоже на получение выборки из непрерывной визуальной сцены и последующее восстановление этой сцены во время отображения элементов выборки. Но отсчеты были аналоговыми. В симуляторе же цвет не сохранялся в цифровом виде. Каждый цвет устанавливался вращением потенциометра — приспособления вроде ручки громкости на старом радиоприемнике или регулятора яркости люстры. То есть симулятор NASA-1 использовал цветовую выборку, но не преобразовывал отсчеты в цветные пиксели. Их нельзя назвать самыми ранними цветными пикселями.
Еще одним «почти первым» достижением методов работы с цветными изображениями в симуляторе NASA-1 стало применение способа, который в компьютерной графике называют наложением текстур. Небольшие цветные изображения, хранящиеся в специальной таблице, придают видимость структуры гладкой отображаемой поверхности, заполняя ее за счет бесконечного повторения. Однако я не называю это первым применением наложения текстур, потому что оно не было полностью цифровым. Здесь настоящим первопроходцем стал молодой человек по имени Эд Катмулл, который впервые описал подобный метод в своей докторской диссертации в Университете штата Юта в 1974 году. Позже в этой главе мы узнаем побольше и о нем, и о его диссертации.
Рис. 7.3
Роберт Шумахер работал в General Electric и был инженером симулятора NASA-1 в начале 1960-х годов. В электронном письме, отправленном мне из Солт-Лейк-Сити, где он сейчас живет, Роберт поделился своей фотографией из тех времен, где он запечатлен на работе: волосы острижены по-военному коротко, в зубах — трубка. Но самое главное, он подробно объяснил мне, как генерировалось изображение, которое я только что описал, в условиях очень маленького объема памяти ранних компьютеров. Роберт растолковал, в чем заключалось тонкое различие между элементом выборки и пикселем.
Но затем он рассказал мне о самом выдающемся аспекте проекта. При выполнении смоделированным космическим кораблем крена (одна из трех осей изменения положения летательного аппарата: рыскание, тангаж и крен) пилот должен был видеть соответствующее изображение. Линии развертки на обычном телевизионном экране всегда горизонтальны. Но инженеры NASA-1 решили вращать весь телевизионный дисплей с помощью электромагнитной системы отклонения луча электронно-лучевой трубки в реальном времени. Сам Шумахер занимался конструированием и воплощением уникального аналогового решения. Ему удалось совершить невероятно сложный инженерный подвиг. В 1964 году, до начала действия закона Мура, это было дешевле, чем компьютерное вычисление крена на геометрической модели, даже при бюджете в миллионы долларов.
Исторические свидетельства в книге Янгблада дают еще один намек на возможные первые цветные пиксели. Он описал замечательную коллективную работу знаменитой семьи Уитни, династии художников из Калифорнии: братьев Джона и Джеймса и трех их сыновей — Джона-младшего, Майкла и Марка. Были ли в работах Уитни первые цветные пиксели?
Потрясающее раннее «компьютерное искусство» Джона Уитни-старшего не относится к Цифровому Свету, потому что оно создавалось на аналоговых устройствах. Его ранние кинематографические работы действительно прекрасны и в том числе вдохновляли меня лично, но их нельзя назвать цифровыми. Пикселей в них нет, как и компьютеров. Но все изменилось в 1968 году, когда Джон-старший создал фильм под названием «Permutations» («Перестановки»). Там использовался цифровой компьютер, но с векторной, а не пиксельной графикой. А цвет добавили постфактум, с помощью цветофильтров при монтаже. Это нельзя считать цифровым цветом. «Permutations» — прекрасное произведение, но совсем не то, что нам нужно.
Его брат Джеймс Уитни тоже создал красивую работу, но без пикселей. Обратимся к молодому поколению. Двое из них, Джон-младший и Майкл, действительно создавали художественные фильмы на цифровом компьютере. Майкл первым из семейства Уитни использовал пиксели в своих «Бинарных битовых узорах» («Binary Bit Patterns», 1969). Но он тоже добавлял цвет оптически — цветных пикселей по-прежнему не было. Как мы увидим позднее, закон Мура все же подтолкнул одного из них, Джона-младшего, к цветным пикселям.
Я уже цитировал, как Джин Янгблад отзывался в своей книге о «City-Scape» Питера Камнитцера (точнее сказать, превозносил его). Камнитцер, профессор архитектуры Калифорнийского университета в Лос-Анджелесе, компьютерную графику применял для городского планирования, а не для искусства. Создание изображений ради искусства он бы наверняка воспринял как легкомысленное использование ценного компьютерного ресурса, что напоминает нам о похожем восприятии возможностей компьютера Baby в первые дни Цифрового Света.
Неизвестно, какие аргументы приводил Камнитцер, но он успешно получил доступ к симулятору лунной капсулы стоимостью 2 миллиона (15 миллионов в пересчете на сегодняшние деньги) долларов, который General Electric построила для Центра пилотируемых космических полетов NASA в Хьюстоне. В 1968 году он использовал его для создания «City-Scape» — довольно грубого по сегодняшним меркам симулятора городского ландшафта в реальном времени. В симуляции присутствовал цвет, но настолько примитивный, что Янгблад в «Расширенном кино» проиллюстрировал ее черно-белыми снимками. Рисунок 7.4 взят как раз из книги Янгблада.
Янгблад, описывая «City-Scape», искренне удивлялся, что «никаких репрезентативных изображений не существовало до тех пор, пока они создавались компьютером». Другими словами, симулятор NASA создавал пиксели с нуля. Конечно, изумление Янгблада нам сегодня кажется странным. Но меня заинтересовало другое: эти пиксели были цветными. В 1968-м Янгблад называл эту систему NASA-2. Но о чем шла речь на самом деле и когда они впервые стало цветным? Описание «City-Scape» натолкнуло меня на разгадку.
Рис. 7.4
Наше дитя научилось новому трюку, сделало еще один шаг, взрослея и становясь инструментом прогресса человечества. Когда впервые появились звуковые фильмы, люди говорили, что мир уже никогда не будет прежним. Появилась полутоновая графика, и мир компьютеров изменился навсегда.
Тренажер-симулятор NASA-2 был сыном NASA-1. Его тоже построила General Electric для моделирования космического корабля NASA для лунного проекта «Аполлон». Обе системы создавались одними и теми же инженерами. Вот несколько важных новаций в NASA-2, разработанных лабораторией General Electric в штате Нью-Йорк. Он продемонстрировал:
• первую полутоновую визуализацию трехмерной модели — тетраэдра — 28 июня 1966 года;
• первые цветные пиксели 31 марта 1967 года. Это были 6-битные пиксели — 64 цвета (но см. следующий пункт);
• первую цветную визуализацию трехмерной модели — лунного модуля «Аполлон» — в тот же день.
Когда я начал осознавать, что именно на NASA-2 появились первые цветные пиксели, я обнаружил, что два его ключевых разработчика — Родни Ружло и Роберт Шумахер, с которым мы познакомились при обсуждении NASA-1, — вышли на пенсию и живут в Солт-Лейк-Сити.
В 2018 году я решил приехать туда, чтобы встретиться с ними. Ружло любезно пригласил меня к себе домой, недалеко от Университета Юты. Он и Шумахер по-прежнему оставались лучшими друзьями после десятилетий совместной работы. Так что я встретился с обоими, и мы проболтали семь восхитительных часов.
Род Ружло оказался красноречивым человеком и
В 1951 году абитуриент Ружло приехал в Корнеллский университет в штате Нью-Йорк за четыре дня до начала занятий. Он специально прибыл заранее, чтобы пройти вводные занятия для первокурсников, проводившиеся в лагере бойскаутов, где он делил палатку с другим абитуриентом — Дональдом Гринбергом, в будущем еще одним пионером компьютерной графики. Как мы увидим, их жизни и дальше оказались переплетены.
Ружло окончил Корнеллский университет в 1956 году со степенью бакалавра электронной техники. В июле 1960-го он начал работать на предприятии General Electric в Итаке, где расположен и кампус Корнелла. В том же году Боб Шумахер, более высокий из двоих друзей, получил степень магистра электронной техники в Массачусетском технологическом институте и тоже присоединился к команде General Electric в Итаке. Когда я встретил его в доме Ружло в Солт-Лейк-Сити, он больше не носил короткую военную стрижку и не курил трубку, как в юности. Сейчас он авиаинструктор и занимается народными танцами. Он смотрит прямо вам в глаза, когда говорит, и вы понимаете, что чепухи он не скажет. Когда я попросил технических подробностей, то получил их, тщательно откалиброванные для моего уровня понимания.
Они вдвоем — вместе с часто упоминавшейся командой других инженеров — разработали симуляторы NASA-1 и NASA-2 для проекта «Аполлон». Они построили NASA-1 в лаборатории General Electric в Итаке и NASA-2 в лаборатории General Electric в Сиракузах, примерно в 50 милях к северу от Итаки. Для NASA-2 использовались интегральные микросхемы, которые тогда только-только стали доступными. К началу 1967 года симулятор умел отображать первые цветные пиксели и, используя их, отрисовывал первые трехмерные визуализированные объекты. Они были одними из первых плодов действия закона Мура и, насколько это касается нашей книги, ознаменовали истинное начало Эпохи 2.
В 1972 году Ружло и Шумахер присоединились к компании Эванса и Сазерленда Evans & Sutherland в Солт-Лейк-Сити и создали там впечатляющую серию авиасимуляторов со все возрастающей сложностью. Айвен Сазерленд рассказал мне в разговоре по скайпу, что бывшие инженеры General Electric сыграли важнейшую роль в коммерческом успехе Evans & Sutherland. В конце концов Ружло даже занял пост генерального директора.
Я почти закончил работу над книгой, когда пионер графики Боб Спроулл спросил меня, знаю ли я, как Ружло и Шумахер делали прототип оборудования для NASA-2. Смысл его вопроса был ясен. Первый цифровой цвет мог появиться до 31 марта 1967 года. Интуиция Спроулла меня не подвела.
Как вспоминал Шумахер, чтобы убедить NASA в возможности визуализации трехмерных объектов, они сделали демонстрационный показ «одного треугольника в реальном времени». Я двинулся по указанному следу и обнаружил золотую жилу. Ружло и Шумахер более подробно описали эту демонстрацию. Ее провели после запуска NASA-1 «в 1965 году (возможно, в самом начале 1966-го)». Он изображала сплошной красный треугольник, визуализированный в реальном времени. Он вращался и убедительно двигался в трех измерениях. Они использовали программируемую часть симулятора NASA-1 в качестве компьютера, управляющего перемещениями модели, и собрали отдельную схему на дискретных компонентах (еще не интегральных схемах) для рендеринга.
Шумахер вспоминал: «Демонстрация с треугольником убедила нас, что сделать полноценную систему, способную на обработку нескольких полигонов таким способом, будет непомерно сложной и дорогой задачей. К счастью, примерно в то же время, когда мы подписали контракт, появились первые настоящие интегральные микросхемы. Пока мы разрабатывали свой симулятор, Motorola все еще устраняла ошибки производственного процесса!»
Эта почти забытая демонстрация — событие передовой Эпохи 2 — заслуживает особого упоминания. Консервативный подход к датировке предполагает, что первые цветные пиксели появились в самом начале 1966 года, но это не точная дата. Давайте двигаться дальше, 1967-й отмечен первым рендерингом цветных полутеней из пикселей.
Ружло и Шумахер вывели на экран NASA-2 компании General Electric цветные трехмерные изображения лунного модуля «Аполлон» (перелистайте назад до рисунка 7.1). Как им это удалось?
Я уже отмечал, что сложную трехмерную геометрическую модель почти всегда можно заменить моделью, состоящей только из треугольников. Имитируя подход из главы 6, я покажу, как сделать рендер — визуализировать — один треугольник (миллионы других треугольников визуализируются точно так же при помощи сверхсилы компьютерного Усиления).
Треугольником мы будем считать участок плоской поверхности, ограниченной тремя отрезками. В планиметрии под треугольником понимаются сами отрезки, но здесь важна именно поверхность между ними.
Давайте сначала рассмотрим вариант, где, как в случае с лунным модулем 1967 года, каждый треугольник значительно больше расстояния между пикселями. Позже мы обсудим вариант, когда треугольники значительно меньше расстояния между пикселями — в современном мире это наиболее распространенный случай. На рисунке 7.5 показаны оба (внимательно посмотрите и найдите маленький треугольник). Точки показывают местоположения пикселей, то есть места, где берутся отсчеты. Для наших целей представьте, что эти треугольники представляют собой чистую геометрию. На самом деле это, конечно, не так — треугольники воспроизведены с помощью механизма отображения этой страницы. Но давайте просто будем считать их идеальными треугольниками.
Вот худший способ перевести их в пиксели: если пиксель находится внутри треугольника, то получает его цвет (синий), в противном случае — цвет фона (белый). На рисунке 7.6 показан результат: маленькие синие кружочки соответствуют синим пикселям. Обратите внимание, что маленький треугольник полностью исчез, а большой испещрен зазубринами.
Но это не рендеринг цифрового изображения в виде синего треугольника, а синие кружочки — не пиксели (по иронии судьбы, сама иллюстрация — это цифровое изображение). Маленькие кружочки также не пиксели, как и маленькие квадратики. Я мог бы использовать вместо них, скажем, маленькие звездочки. Каждый просто обозначает пиксель, то есть местоположение точки и связанный с ней цвет. Черные точки (возвращаясь к рисунку 7.5) обозначают точки, в которых производится выборка; кружочки — это цветные отсчеты, взятые в этих местах. Обратите внимание, что все остальные кружочки на рисунке 7.6 белые, поэтому вы их не видите. Все это должно быть обработано (через разбрасывание и сложение) устройством отображения (экраном или принтером), чтобы превратить их в цифровое изображение, которое мы можем видеть.
Хотя это и худший способ рендеринга, именно им пользовались в первые дни. Именно так действовали инженеры General Electric в 1967 году, чтобы визуализировать лунный модуль с первыми цветными пикселями. Обратите внимание на неровности по краям лунного модуля на рисунке 7.1. Перед вами наивный рендеринг, с минимальным использованием теоремы отсчетов.
Дальше мы сделаем идеальную визуализацию тех же двух идеальных треугольников, по максимуму используя теорему выборки. Затем мы обсудим различные методы, которые разрабатывались на протяжении многих лет, чтобы приблизиться к идеальному рендерингу. Это было особенно важно, когда не хватало ресурсов памяти, а мощность все еще оставалась низкой. Чтобы почувствовать всю глубину проблемы, сравните коэффициент закона Мура (от 1X до 10X) в этом разделе с коэффициентом 2020 года (примерно 100 000 000 000X). В те дни компьютеры были на 11 порядков хуже! Такое сложно даже вообразить, если, конечно, вы сами не сталкивались с чем-то подобным.
Рис. 7.5
Рис. 7.6
Теорема выборки очень ясна. Делайте выборку с (чуть более чем) удвоенной максимальной частотой. Но у геометрического треугольника острые грани. Вспомните наше эмпирическое правило в отношении частоты: острые края — это высокие частоты, а очень острые края — это очень высокие частоты. На самом деле мы не сможем делать выборку достаточно часто для того, чтобы получить идеальный треугольник. Его края содержат слишком высокие (если не сказать бесконечно высокие) частоты. Пиксели и элементы дисплея должны быть расположены слишком близко друг к другу, чтобы это было физически или экономически целесообразно.
В компьютерной графике мы обычно работаем в другом направлении. Расстояние между пикселями заранее задано, как и в нашем примере, и мы должны подгонять под него теорему отсчетов. Это означает, что мы должны избавить идеальный треугольник от его высоких частот — от острых граней. Мы должны убедиться, что края достаточно закруглены, чтобы подъем интенсивности света от фонового уровня на них не происходил быстрее, чем заданное расстояние между пикселями. На рисунке 7.7 показаны два идеальных треугольника после того, как они подверглись такому размытию, чтобы из пикселей могла сложиться правильная выборка. Маленький треугольник почти исчез. Треугольники выглядят очень сильно размытыми. Но представьте, будто фактический интервал между пикселями составляет, скажем, 1/100 изображенного на рисунке интервала, что больше соответствует расстоянию между элементами дисплея на вашем мобильном телефоне. Тогда размытие останется незаметным. Конечно, на этой иллюстрации все масштабы сильно преувеличены.
Рис. 7.7
На рисунке 7.8 показаны пиксели, полученные в результате выборки размытых треугольников. Опять же, мы не можем видеть пиксели и у них нет формы, поэтому маленькие кружочки только
Вспомним, что говорит нам теорема выборки: когда представленные таким образом пиксели отображаются на дисплее, мы снова увидим два размытых треугольника. Это не идеальные геометрические синие треугольники нашей модели. Такое безупречное совершенство невозможно точно передать с помощью пикселей. Это просто еще один способ сформулировать теорему выборки. Хитрость заключается в том, что при достаточно высоком разрешении мы, люди, будем чувствовать себя комфортно, глядя на слегка размытые треугольники, так как на обычном расстоянии для просмотра они не покажутся нам размытыми.
Но есть проблема с идеальным рендерингом, который я только что описал. Что значит удалить слишком высокие частоты из геометрии с острыми краями? Что заменит треугольник в модели? Его следует заменить компьютерным описанием треугольника со сглаженными краями. Тогда, если два треугольника примыкают друг к другу, место соединения нужно сгладить и как-то описать в модели. Это уже не простые геометрические концепции. На самом деле никто не заменяет геометрическую модель в компьютерной графике сглаженной версией, с удалением слишком высоких частот. Тогда что же делают для решения проблемы? Разрабатывают все более и более сложные способы приблизиться к идеальному варианту. На самом деле вся история компьютерной графики состоит из попыток добиться наилучшего приближения, способного обмануть наше зрение. Далее я расскажу об одном из приемов.
Рис. 7.8
Почему бы нам не сделать выборку из более близко расположенных пикселей? Скажем, в два раза чаще? Представьте, что пиксели расположены в два раза плотнее. На рисунке 7.9 слева показана старая сетка отсчетов, а в середине — предлагаемая новая, более плотная. Справа вы видите их наложение друг на друга. Более плотная выборка, по сути, удвоит частоту (как по горизонтали, так и по вертикали), при которой начнут появляться неприятные артефакты, такие как зубцы и неровности. Но сложность в том, что мы не в состоянии позволить себе кадровый буфер, где ячеек памяти в четыре раза больше. Что же тогда делать?
Идея состоит в том, чтобы делать выборки в четырех местах, окружающих каждое прежнее местоположение пикселя (большие точки), как показано на рисунке справа. Четыре выборки, полученные таким образом, назовем подвыборками или подпикселями. Четыре цвета подвыборки усредняются, чтобы сформировать цвет одного фактического пикселя — того, который сохраняется и отправляется элементу отображения. Как вы видите на рисунке, местоположение каждого пикселя окружено массивом подвыборки с размером 2 на 2.
Я использовал массив 2 на 2 для простоты иллюстрации, но более высокие плотности тоже работают. Pixar использует субдискретизацию 4 на 4. На рисунке 7.10 показаны два варианта крупным планом. Большая точка — это фактическое местоположение пикселя, а окружающие маленькие точки — это местоположения для получения значений цветовых отсчетов. В случае субдискретизации 4 на 4 усредняются 16 цветов, формируя одно цветовое значение, хранящееся в фактическом пикселе, — цвет, который в конечном итоге отправляется на элемент дисплея для разбрасывания и отображения.
Рис. 7.9
Трюк с субдискретизацией эффективно увеличивает разрешение конечного изображения, но полностью не устраняет артефакты, возникающие из-за дискретизации очень высоких частот (например, краев треугольников) на слишком низкой частоте, не удовлетворяющей условию теоремы отсчетов. Подвыборка с массивом 2 на 2 удваивает самую высокую частоту, которая доступна для адекватной обработки с дискретными выборками, а массив 4 на 4 увеличивает максимальную частоту в четыре раза. Но на острых краях остаются еще более высокие частоты, которые оба вида субдискретизации зарегистрировать не в состоянии. Однако существует на удивление эффективный прием, который все-таки решает эту проблему. Мы вернемся к нему, когда закон Мура обеспечит еще три порядка вычислительной мощности.
Рис. 7.10
Реальность — это просто удобная мера сложности.
«Ваша цель — смоделировать реальность?» — этот вопрос мне постоянно задавали на всех лекциях, которые я читал на заре компьютерной графики. «Нет!» — хотелось огрызнуться мне, потому что навязчивые повторения очень раздражали. Мы хотели создавать искусство, а не моделировать реальность. В конце концов я сформулировал вежливое возражение, которое вы можете прочитать в эпиграфе. Оно, казалось, вполне удовлетворило и тех, кто задавал вопрос, и меня самого — по крайней мере в то время. Я пытался подчеркнуть, что если бы мир анимации достиг достаточного уровня технического совершенства и смог бы значительно приблизиться к реальности, то зрителям стало бы проще и комфортнее. К тому же вместо качества изображения они бы обращали больше внимания на героев. Мы не стремились к изображению реальности. Мы хотели показывать героев и вымышленные миры, в которых они существуют, или картины «снаружи», никак не связанные с изображением героев или миров в привычном нам виде.
На самом деле специалисты в области компьютерной графики никогда не оставались равнодушными к моделированию реальности. Инженеры NASA, первыми вставшие на этот путь, хотели продемонстрировать реальность Луны и лунного модуля астронавтам «Аполлона». А ветвь Цифрового Света, связанная с системами автоматизированного проектирования, вообще стремится отображать объекты реального мира такими, какими они будут в действительности.
Но фантастическое содержание первых цифровых фильмов, а также ранних визуальных эффектов в кино кажется вопиющим противоречием реальности. Оно снимается расширением Центральной Догмы за пределы евклидовой геометрии и ренессансной перспективы. Отныне мы включаем в Центральную Догму ньютоновскую физику, особенно физику оптики, движения и гравитации. Компьютеры и Цифровой Свет, конечно же, не ограничены ни базовой, ни расширенной Центральной Догмой.
Воспринимайте Центральную Догму как «симфоническую» форму компьютерной графики. Несмотря на обусловленные этой формой ограничения, творчество остается безграничным. Причудливые миры, созданные в рамках Центральной Догмы, чтят физику, геометрию и перспективу реального мира. Вуди и Базз Лайтер из «Истории игрушек» двигаются в условиях земного притяжения, а свет и цвет работают так же, как и в реальном мире. Или по крайней мере так нам кажется.
Как ни странно, никто никогда прежде не формулировал Центральную Догму. Наверное, дело в том, что она и так
Аниматоры сжимают и растягивают форму, но работают они в «нормальном» мире, который по умолчанию предполагает наличие Центральной Догмы. Специалисты в области компьютерной графики занимались — и продолжают заниматься — моделированием реальности, изобретая новые методы один за другим.
О, существует множество способов сжулить, например нанести на куски мыла специальные шейдеры, чтобы в течение шестидесяти секунд после использования они были как будто в пене. Но это не более чем уловка. По-настоящему воспроизвести физику мыла, пузырей, воздуха, воды и прочего чудовищно дорого, и при его жизни этого не произойдет. ‹…› Ричарда, впрочем, проблема не злила, а, наоборот, успокаивала — он даже чуточку гордился, что живет во вселенной, чья сложность не поддается алгоритмическому воспроизведению.
Реальность недостижима для цифровых компьютеров, создающих изображения для дисплеев с ограниченным разрешением.
Эта книга — не учебник по компьютерной графике, поэтому я не буду описывать все подряд методы, разработанные в компьютерной графике для имитации реальности. Я в общих чертах расскажу о первых прорывах и помогу заглянуть чуть дальше. Здесь стоит упомянуть, что эти методы широко применяются и в других областях Цифрового Света: видеоиграх, САПР, авиасимуляторах, а также виртуальной и дополненной реальности. Методы симулирования реальности не ограничиваются только цифровым кино, хотя именно вокруг него я выстраиваю повествование обо всем Цифровом Свете.
В этой и следующей главе я сосредоточусь, не забывая о необходимости более широкого обзора, на самом первом полнометражном цифровом фильме, обозначившем Великую цифровую конвергенцию, — я буду называть его Фильм. Отдельно остановлюсь на методах, которые применялись при его создании. Хотя мы могли бы двинуться и по другому пути. Только задумав Фильм в Нью-Йоркском технологическом институте, мы не отказались бы сделать его двумерным с помощью интерполирующей промежуточной программы, вне Центральной Догмы. В конце концов, мир годами восхищался диснеевскими Золушкой и Белоснежкой. От нас не успользало, какие истории и персонажи добивались потрясающего успеха.
Но, как и всё, что подвластно закону Мура, Фильм принимал окончательную трехмерную форму, соответствующую Центральной Догме, постепенно, по мере того как компьютерная графика осваивала новые возможности, появлявшиеся с каждым новым аппаратным усовершенствованием. Именно поэтому Диснею потребовалось так много времени, чтобы всецело принять новую форму. Он ждал, когда она перестанет быть игрушкой для специалистов, а полюбится зрителям и начнет приносить кассовые сборы.
Я уже обсуждал рендеринг, так что теперь давайте обратимся к теням и оттенкам — еще одной технологии, упомянутой в названии этой главы. Термин «шейдинг» (затенение) означает выбор окончательного цвета для каждого визуализируемого пикселя. Затенение треугольников в приведенных выше примерах тривиально: каждый пиксель — синий (или белый). Затенение приобретет все большее значение по мере того, как действие в этой главе будет развиваться, а закон Мура — делать компьютеры всё мощнее (очень жаль, что термин «силы Мура» — своеобразный аналог лошадиных сил — не прижился). Когда цветные пиксели только появились, затенение поверхности в рамках Центральной Догмы традиционно означало прямое увеличение или уменьшение яркости цвета поверхности при сохранении постоянного оттенка этого цвета. Здесь осветлить означает увеличить яркость, а затемнить — уменьшить.
Рис. 7.11
Такое простое затенение вы видели на визуализации лунного модуля «Аполлон» на рисунке 7.1. Один источник света размещается в удобном месте, например справа вверху сзади от зрителя. Чем сильнее треугольник повернут к источнику света, тем он светлее. Соответственно, чем сильнее он отворачивается, тем его поверхность темнее. Это называется плоской заливкой — технология настолько простая, насколько позволял закон Мура в те времена: каждый треугольник отображается только одним цветом.
Для плоского затенения представьте себе флагшток, установленный в центре каждого треугольника, как показано на рисунке 7.11 (слева). Он расположен перпендикулярно плоскости треугольника. Решающее значение для расчета имеет угол между нашим флагштоком и источником света. Если треугольник полностью обращен плоскостью к источнику света, то есть угол равен нулю градусов, то цветовой оттенок будет максимально ярким. По мере увеличения угла оттенок темнеет (средний рисунок). Когда треугольник обращен под прямым углом к источнику света, оттенок поверхности становится максимально темным. Кроме того, когда треугольник обращен в противоположную от источника света сторону, он не освещен (справа). Поскольку при таком расчете затенения используется тригонометрия (с греческого переводится как «измерение треугольника»), я не буду приводить математические подробности. Достаточно сказать, что тригонометрические вычисления плоского затенения столь же точны и хорошо отработаны, как и геометрические формулы. Достаточно один раз объяснить компьютерам, как их выполнить, а затем сверхспособность Усиления повторит их миллионы или миллиарды раз без каких-либо дополнительных вмешательств со стороны человека.
В этой главе я начинаю сплетать воедино несколько нитей из предыдущей главы, чтобы подвести читателя к следующему этапу Цифрового Света — к компьютерным анимационным фильмам. Блок-схема на рисунке 7.12 фиксирует уже существующие сплетения и создает новые.
Все замечания к предыдущим блок-схемам применимы и здесь: вы не увидите стройного линейного повествования и одного-единственного изобретателя. Чтобы не перегружать ее именами, некоторые пришлось опустить, что в этой и следующей главе для меня особенно болезненно, но они упоминаются в комментариях на сайте. Моя блок-схема — просто набросок, а не полная научная история, пусть даже такого ограниченного ответвления компьютерной графики, как цифровое кино. И, как обычно, текст этой и следующей главы фактически только поясняет то, что изображено на рисунке.
Я добавляю новую нить, созданную NASA и General Electric, — именно благодаря ей появились первые цветные пиксели. Она также привела к созданию компании Evans & Sutherland в Солт-Лейк-Сити, проложившей путь, отличный от того, что предложило ARPA из предыдущей главы. Еще три нити — Университет штата Юта, E&S и Xerox PARC — переплелись и перетекли в Нью-Йоркский технологический институт, повлиявший на создание Lucasfilm, а затем Pixar. Еще одна нить тянется от General Electric через Корнеллский университет снова в Lucasfilm, а затем в Pixar.
Чтобы справиться со слишком большим количеством имен, я использую в блок-схеме новый способ группировки: прямоугольник, в котором перечислены несколько. Все они объединены по какому-то признаку. Например, в самом большом прямоугольнике указаны восемь человек, начинавших в Университете Юты, а продолживших свои изыскания в Нью-Йоркском технологическом институте. Если стрелка касается прямоугольника, значит, она относится ко всем людям, включенным туда. Если она тянется только к одному человеку, то она связана только с ним. Например, все восемь человек из Университета Юты работали в Нью-Йоркском технологическом институте, но только Джим Блинн учился у Бертрама Херцога, первопроходца, упоминавшегося в шестой главе. Все пять человек из нижнего левого прямоугольника стали ключевыми сотрудниками студии компьютерной графики Lucasfilm (а не Нью-Йоркского технологического института), но только Роб Кук учился у Дона Гринберга в Корнелле, — и так далее.
Рис. 7.12
Первые две нити тянутся из предыдущей главы к Бобу Тейлору и Хербу Фримену. Затем я беру нить Айвена Сазерленда и Дэйва Эванса из предыдущей главы и новую нить Рода Ружло и Боба Шумахера из этой, а еще одну новую нить Дона Гринберга. Я связываю их вместе, чтобы прийти к Нью-Йоркскому технологическому институту, а затем, в следующей главе, к Lucasfilm и, наконец, к Pixar.
Таким же образом нити переплетаются в истории DreamWorks Animation и Blue Sky Studios. В истории цифрового кино было гораздо больше компаний, но именно эти три наиболее репрезентативны. Они первыми создали в новом тысячелетии полностью цифровые полнометражные фильмы: «История игрушек» (Pixar, 1995), «Муравей Антц» (DreamWorks, 1998) и «Ледниковый период» (Blue Sky, 2002). Из соображений экономии места и на основании своего личного опыта я в основном сконцентрируюсь на студии Pixar.
Теперь давайте сделаем гигантский шаг — на один порядок по закону Мура — к новым достижениям.
Закон Мура 10X (1970–1975)
Род Ружло и Боб Шумахер разработали и построили симулятор NASA-1 в лаборатории General Electric в Итаке, в кампусе Корнеллского университета. Они разработали и построили NASA-2 — с первыми цветными пикселями и первой цветной трехмерной визуализацией в реальном времени — в лаборатории General Electric в Сиракузах, примерно в 50 милях к северу. Их последним проектом в лаборатории General Electric в Сиракузах стала созданная в 1968 году система, работавшая не в реальном времени. Она предназначалась для дальнейшего развития трехмерной компьютерной графики, выходившей за ограничения реального времени.
Дон Гринберг в те годы пошел другим путем. В 1968 году, когда Ружло и Шумахер разработали свою систему, работавшую не в реальном времени, он получил в Корнелле докторскую степень по архитектуре. Для справки: примерно тогда же в Гарварде Сазерленд разрабатывал наголовный дисплей.
В один из поворотных моментов истории, которые иногда происходят просто потому, что «я-знаю-этого-парня», Ружло организовал Гринбергу — своему бывшему соседу по палатке в бойскаутском лагере для первокурсников Корнелла — доступ к новой системе General Electric в Сиракузах, той самой, что работала не в реальном времени. Конечно, не обошлось без загвоздки. Гринбергу дозволялось пользоваться компьютером только в нерабочее время (номинально с пяти вечера до восьми утра) и не более трех ночей в неделю. Каждый раз ему к тому же приходилось около часа добираться из Итаки в Сиракузы.
На протяжении нескольких месяцев в разрешенное время Гринберг привозил в Сиракузы группу своих студентов из Итаки на ночные смены. Благодаря их трудам появился «Корнеллский фильм» 1972 года, 15-минутное компьютерное анимационное путешествие по кампусу Корнелла, показывающее, как впишется в ландшафт планируемое новое здание. Цветные кадры из фильма Гринберг опубликовал в своей статье, вышедшей в журнале
Дон Гринберг, человек с самой доброй и теплой улыбкой среди всех пионеров компьютерной графики, переживал за своих учеников не меньше, чем за себя. Он привел свою молодую команду к успеху в области компьютерной графики. Неудивительно, что он еще и спортсмен и до сих пор, в свои 80 лет, прекрасно играет в теннис. После создания первого фильма он основал в Корнелле знаменитый факультет компьютерной графики, впоследствии ставший не менее влиятельным, чем Университет Юты.
Рис. 7.13
В 1967 году Ружло и Шумахер уже делали трехмерную визуализированную графику в реальном времени. Но их система зависела от неисчерпаемых ресурсов NASA и использовала специализированное оборудование. Я различаю анимацию в реальном времени и анимацию для цифрового кино, где вычисление каждого кадра занимает столько времени, сколько необходимо. «Корнеллский фильм» сделали обычные люди из университета на компьютерах общего назначения. Можно ли считать его первой трехмерной компьютерной анимацией?
Есть и другие претенденты на это звание. Например, односекундная анимация 1971 года с лицом, превращающимся в летучую мышь, — о ней писал Эд Катмулл, в то время аспирант Университета Юты. Или анимированная рука, которую Эд программировал, как он пишет, в январе, а продемонстрировал в августе 1972 года (рис. 7.13, слева). Или анимированное человеческое лицо, созданное одноклассником Эда Фредом Парком в том же 1972 году (рис. 7.13, в центре). Или «Корнеллский фильм», работу над которым, по словам Марка Левоя, ученика Дона Гринберга, завершили в середине осени 1972-го (рис. 7.13, справа). Из них только «Корнеллский фильм» был цветным. Анимация Эда с рукой, завершенная в конце 1971-го или, возможно, в начале января 1972-го, и анимированное лицо Фреда, созданное, по-видимому, примерно тогда же и в рамках того же задания, одерживают победу в этой гонке. Будем считать результат ничьей. Но в очередной раз за один-единственный год произошла замечательная технологическая конвергенция. 1972-й стал для компьютерной графики тем же, чем 1895-й — для кинематографа.
Самые интересные модели содержат множество треугольников, часто — миллионы. Вспомните «проволочные» чайники из шестой главы с сотнями треугольников. Или здания в кампусе Корнелла из «Корнеллского фильма». Если присмотреться, то можно заметить, что треугольники часто перекрывают друг друга. А если они непрозрачные, то, как правило, один треугольник скрывается за другим. Возможно, из всех головоломных вопросов компьютерной графики в те первые дни наибольшее внимание привлекала проблема видимой поверхности (или скрытых поверхностей). Суть одна и та же: какие из треугольников модели в конкретной сцене попадут в видоискатель виртуальной камеры согласно Центральной Догме?
Сам смысл понятия «геометрия» подразумевает, что мы точно знаем, где находится каждая точка треугольника — в любом месте на его поверхности, — то есть что мы можем это вычислить. Мы также знаем, где находится виртуальная камера и в какую сторону она смотрит.
В частности, рассчитать расстояние от точки съемки до любой точки треугольника довольно просто. Назовем это расстояние
Рассмотрим только два треугольника, синий и красный, которые показаны на рисунке 7.14. Опишем простой способ визуализации одного перед другим в случае, если они пересекаются.
1. Сначала визуализируем синий треугольник, как мы делали ранее, но с одним отличием: каждый раз, когда мы берем отсчет треугольника в точке расположения пикселя, мы вычисляем глубину треугольника в этой точке и также сохраняем ее в памяти. Для этого потребуется столько ячеек памяти, сколько имеется ячеек для пикселей. Фактически нам нужен второй кадровый буфер, в котором хранится не цвет пикселей, а их глубина. Неудивительно, что такой участок памяти иногда называют буфером глубины.
2. Теперь визуализируем красный треугольник. Но прежде чем сохранить один из его пикселей в буфере кадра, сначала сравним глубину в его местоположении с глубиной, ранее сохраненной в буфере глубины. Если глубина ранее не сохранялась (значит, здесь не отрисовывался ни один синий пиксель), то просто сохраним красный пиксель в буфере кадра, а его глубину — в буфере глубины. Если его глубина меньше, чем сохраненная, то синий цвет в буфере кадра заменяется красным, а в буфере глубины синяя глубина меняется на красную. Если есть еще треугольники, которые нужно визуализировать, для каждого из них просто повторяется шаг 2.
Между прочим, буферизацию глубины предложил в своей знаменитой докторской диссертации Эд Катмулл в декабре 1974-го. Немного раньше, в апреле того же года, похожую идею выдвинул в своей диссертации Вольфганг Штрассер. Но Штрассер писал на немецком, поэтому Катмулл не знал о его работе.
Рис. 7.14
Рис. 7.15
Буферизацию глубины легко описать, но возникает другая проблема: придется обсчитывать все треугольники, даже те, которые заведомо полностью скрыты. Некоторые подходы к визуализации поверхностей предлагают заранее упорядочивать треугольники в порядке глубины, а затем отображать только те, которые должны быть полностью или частично видны. Таким образом получается сэкономить немало времени.
Но пересекающиеся треугольники нельзя расположить в порядке глубины. Каждый из них частично расположен глубже другого, а частично нет. В таком случае вам придется разделить их на более мелкие треугольники, которые не пересекаются (рис. 7.15). Независимо от того, используете ли вы буферизацию глубины для полностью видимых поверхностей или упорядоченных по глубине (непересекающихся) треугольников, только магия Усиления обеспечит повторение вычислений для миллионов треугольников. Огромное количество вычислений не предполагает высокой сложности, особенно когда каждое из них так же легко понять, как буферизацию глубины.
Центральная Догма утверждает, что цифровые объекты отбрасывают тени так же, как и объекты реального мира. Компьютерная графическая модель изначально содержала только описания объектов и расположение виртуальной камеры. Но понятие модели вскоре расширилось, пополнившись еще и источниками света, такими как лампы. В первые дни источник света был очень простым. Он располагался в одной точке и излучал белый свет во все стороны. Это был точечный источник света. По мере роста вычислительной мощности источники света становились все более причудливыми и все более тщательно имитировали настоящие. У них появились протяженность (то есть они располагались на некоторой площади, а не в идеальной точке), цвет и другие свойства реальных ламп, фонарей и даже солнца.
Проблема расположения теней, по сути, практически не отличается от проблемы скрытой поверхности. Это особенно очевидно, если рассмотреть пример с одним простым точечным источником света. Представьте, что виртуальная камера расположена там же, где и он. Любая поверхность, которая не видна оттуда, должна находиться в тени.
Таким образом, вычисление теней — это хорошо отлаженный, хотя и утомительный процесс. Нам достаточно знать геометрию всех объектов и расположение источника света. Таким образом, легко вычислить, какие поверхности находятся в тени. Этим фактом можно воспользоваться позже, чтобы определить, какой цвет отобразится на дисплее, если мы будем смотреть на объект из точки, расположение которой не совпадает с источником света. Позже рост вычислительной мощности — в соответствии с законом Мура — позволил использовать несколько источников света с разной протяженностью и цветом. И, как обычно, благодаря Усилению программистам достаточно просто разработать алгоритм — наши компьютеры добросовестно выполнят его миллионы и миллиарды раз.
До сих пор мы видели только треугольники с однотонным сплошным цветом — это простейшая из моделей затенения. Они максимум меняли яркость, если находились в тени или поворачивались к источнику света. Специалисты в области компьютерной графики быстро научились создавать изображения более причудливыми способами, поскольку закон Мура уже давал им больше возможностей. Например, яркость цвета изменяется по мере увеличения расстояния от виртуальной камеры (глубины) или удаления от известного источника света (рис. 7.16, слева). Треугольники могут быть частично прозрачными (рис. 7.16, второй слева). Треугольники заполняются текстурой — пикселями из другого изображения, например травы или джинсовой ткани (рис. 7.16, третий слева). По сути, здесь используется метод наложения текстур, о котором я вкратце говорил при обсуждении симулятора NASA-1. А еще можно использовать комбинации всех трех методов (рис. 7.16, справа). Это лишь несколько примеров из бесконечного множества. Отображение текстур основано на фундаментально очень мощной идее. И это яркий пример сочетания Цифрового Света на основе пикселей с Цифровым Светом на основе геометрии. Согласно этой идее одно цифровое изображение управляет тем, как выглядит другое. На ее основе разработано немало методов. Наложение текстур — первый из них.
Рис. 7.16
Мы уже видели, как Род Ружло и Боб Шумахер реализовали аналоговую версию этой идеи в симуляторе NASA-1 для проекта «Аполлон». Поскольку строка сканирования через геометрический треугольник преобразовывалась в цвет на телевизионном дисплее, он получался в результате геометрического вычисления, которое обращалось к растровому массиву цветных геометрических фрагментов. После соответствующего вычисления цвет (аналоговый) отправлялся на дисплей.
Цифровой эквивалент, предложенный Эдом Катмуллом в докторской диссертации 1974 года, заменяет растровый массив геометрических фрагментов растровым массивом пикселей, то есть использует вместо геометрии оцифрованные выборки.
На рисунке 7.17 в левом верхнем углу изображен треугольник. У треугольника, хранящегося во внутренней модели компьютера, нет цвета. Все его цвета косвенно хранятся в карте текстур, изображенной справа в виде фотографии желтой розы.
Треугольник на самом деле не виден. Он математически хранится в компьютерной модели в виде геометрически совершенного евклидова треугольника. Вы не можете его увидеть. Треугольник, который вы видите на рисунке, — это визуализация абстрактного треугольника на дисплее этой страницы.
Точно так же карта текстур — это массив пикселей, и вы их тоже не видите. Роза — это отображение карты текстуры, а не сама карта. Еще раз напомню один из ключевых тезисов этой книги: отображение пикселей отделено от них самих. Чтобы вы увидели пиксели, они должны быть распределены между элементами отображения конкретного носителя — в нашем случае печатной страницы. Для дальнейших объяснений очень важно не путать дискретные пиксели с их аналоговым отображением.
Рис. 7.17
Таким образом, роза — это пример изображения, которое используется для управления цветами другого изображения. Воспринимайте наложение текстуры как наклеивание на треугольник наклейки или переводной картинки. Или думайте о треугольнике как о формочке для печенья, а о текстурной карте — как о тесте. Прилепите наклейку или вырежьте кусочек печенья под любым углом, например 10 градусов, как здесь на рисунке. Но наклейки и тесто для печенья — это гладкие непрерывные вещи. Смысл этих метафор открывается, только если помнить, что текстурную карту всегда можно реконструировать в гладкое непрерывное изображение, «разбрасывая» и складывая пиксели в соответствии с теоремой отсчетов.
Идея заключается в преобразовании треугольника, строка за строкой, в пиксели для устройства отображения. На рисунке средний треугольник показывает середину этого процесса. Верхние строки сканирования уже отрисованы. Точки указывают (грубо) расположение пикселей вдоль текущей строки сканирования, которая будет отображена следующей. Цвета пикселей берутся из карты текстуры розы. Точки на розе показывают места, где нужно взять образцы цвета. Путем прямого геометрического расчета вычисляется точка на текстуре, которая соответствует положению отображаемого пикселя. Линия точек, рассчитанная таким образом, размещена на розе и наклонена под углом 10 градусов, чтобы учесть поворот наклейки или формочки для печенья.
Однако есть одна проблема. Карта текстур — это пиксели. То есть, в представлении компьютера, это ложе из гвоздей. Точка, которую вы ищете на текстурной карте, основываясь на геометрическом преобразовании, почти наверняка не попадет в точности ни в один из пикселей текстурной карты. Простой геометрический расчет, как правило, даст точку, находящуюся между регулярной сеткой расположения пикселей на текстурной карте. Раньше практики использовали для отображения пикселя на дисплее ближайший к расчетной точке цвет пикселя на текстурной карте. Решение не самое удачное, но тогда не хватало мощностей для более сложных вычислений. Другая идея предлагает найти четыре ближайших к вычисленной точке пикселя и усреднить их цвета для окончательного оттенка, который отображается на дисплее.
Но существует правильный способ наложения текстуры, напрямую вытекающий из теоремы отсчетов: разбросайте и сложите пиксели текстурной карты, чтобы получить непрерывную гладкую поверхность (наклейку или тесто для печенья), — то самое волшебство, создающее нечто из ничего, о котором мы говорили в главе про Котельникова. Тогда расчетная точка должна оказаться где-то на этой восстановленной гладкой поверхности. Цвет в получившейся точке и будет тем самым точным цветом, который нужно отправить на устройство отображения. Много лет программисты придумывали разные хитрости, чтобы избежать необходимости делать полное вычисление, но в итоге без него все равно не обходилось. Им не хватало лишь достаточно высокого коэффициента из закона Мура.
Стоит еще раз повторить основную идею наложения текстур: одно изображение используется для управления другим. При наложении текстуры управляющее изображение определяет цвет для управляемого. Это популярная форма наложения теней в том смысле, что оно задает цвет отображаемого пикселя. Однако есть и другое значение — когда оттенок зависит от моделирования физической, ньютоновской оптики.
По мере усиления вычислительных мощностей специалисты в области компьютерной графики наперегонки изобретали способы ниспровергнуть геометрическую истину, чтобы получить более плавное затенение. Француз Анри Гуро из Университета Юты в 1971 году выдвинул идею вместо одного флагштока в центре треугольника разместить флагштоки в каждом углу, а затем наклонить их в разные стороны. Он вычислял цвет в углах, используя алгоритм, о котором мы говорили выше. Затем затенение в каждой точке внутри треугольника интерполировалось между тремя угловыми оттенками. Гуро использовал так называемую линейную интерполяцию: если оттенок в одном углу — А, а в другом — В, то точка на полпути между двумя углами имеет оттенок посередине между А и В. Рисунок 7.18 (справа) показывает, что хитрый способ размещения флагштоков в углах дает затененное изображение, превосходящее простое плоское затенение.
С
Фонг также использовал более сложный способ расчета затенения, требовавший большей мощности, но показавший лучшие результаты. Как и Гуро, он поставил флагштоки в каждом углу, а затем наклонил их в разные стороны. Гладкая поверхность между ними интерполировалась, таким образом определяя направление флагштока в любой точке треугольника. Фонг также использовал линейную интерполяцию: если флагшток в одном углу наклонен под углом A, а в другом — под углом B, то флагшток в точке на полпути между ними наклонен на угол на полпути между A и B. Как правило, он почти никогда не совпадает с флагштоком, установленным в центре.
Рис. 7.18
Как мы помним из обсуждения сплайнов и патчей в шестой главе, интерполяция — это просто выборка «задом наперед». Таким образом,
И этот фокус позволяет обобщать. Фонг использовал простую пропорциональную, или линейную, интерполяцию между вершинами флагштоков в углах треугольника. Используя больше флагштоков, распределенных по поверхности, вы можете интерполировать бикубически, создавая гладкую волнистую поверхность, скажем, из лоскутов Безье. Я покажу, как развить эту идею до экстремального приближения на следующем порядке величины Усиления.
Фонг добавил в компьютерное графическое моделирование понятие модели освещения. Иными словами, у затенения также появилось дополнительное значение — освещение. Понятие затенения распространилось на более сложные модели физической оптики.
Рис. 7.19
Тем временем в Калифорнии, рядом со Стэнфордским университетом, в районе, который вскоре станет известен как Кремниевая долина, развивалось еще одно направление Цифрового Света. Оно тоже касалось цветных пикселей, но находилось за пределами Центральной Догмы.
Ричард «Дик» Шауп родился в Питтсбурге в 1943 году и вырос рыжеволосым и веснушчатым мальчишкой в нескольких милях к северу, в Гибсонии. Он, сын фермера, располагавший 50 акрами свободного пространства, впоследствии стал неплохим джазовым тромбонистом, а еще и гением электроники. В конце 1950-х годов дядя Дика подарил ему несколько брошюр Хьюго Гернсбека, создателя научно-фантастического журнала
Дик получил докторскую степень в 1970 году в Университете Карнеги — Меллона под руководством Гордона Белла, который впоследствии стал главным архитектором Digital Equipment Corporation. Там Белл участвовал в разработке компьютера PDP-1, на котором создана знаменитая игра
Завершив свою диссертацию, Дик уже на следующий день отправился на запад, в Калифорнию, чтобы начать работать в Berkeley Computer Corporation, которая собиралась построить мощную машину с разделением времени. Однако наступила не самая подходящая пора для таких начинаний. Именно тогда рынок компьютеров с разделением времени рухнул, и к ноябрю 1970 года и Дик и его более высокопоставленные коллеги остались без зарплаты. К счастью, Боб Тейлор только что начал набирать сотрудников в новый Исследовательский центр Xerox в Пало-Альто (PARC), расположенный на другой стороне залива Сан-Франциско от Беркли. Он быстро переманил несколько ключевых сотрудников, включая Дика Шаупа, из обанкротившейся компании.
Главным вкладом Дика в Xerox PARC стала Color Video System — цветная видеосистема. Он спроектировал и изготовил аппаратное обеспечение и написал к нему первые программы, в том числе SuperPaint. Система имела 8 бит на пиксель (256 цветов) и полностью цифровой кадровый буфер. Дик не первым использовал цветные пиксели — это доказывает снимок экрана NASA-2, сделанный шестью годами ранее. Однако свою систему он всерьез ориентировал именно на полноценное использование цветной компьютерной графики. Его пиксели были, так сказать, доступны любому, кто умел программировать или рисовать, например мне. Их можно назвать цветными пикселями общего назначения.
Как вы, наверное, помните из главы 6, благодаря помощи Альберта Эйнштейна маленькому Герберту Фримену удалось бежать от нацистов в 1938 году. Три десятилетия спустя Фримен, к тому времени ставший пионером компьютерной графики, нанял меня, только что закончившего аспирантуру в Стэнфорде, на должность ассистента профессора в Нью-Йоркском университете, где он заведовал кафедрой. Я получил диплом инженера-компьютерщика, а в качестве хобби рисовал маслом и акриловыми красками — наверное, именно поэтому я показался ему подходящим кандидатом для исследований в области компьютерной графики. Вскоре он начал уговаривать меня перебраться из башни в лабораторию — бросить докторскую диссертацию о доказательстве важных для информатики теорем и сосредоточиться на создании картинок. Но я ответил: «Я это сделаю, Херб, только тогда, когда у тебя появится цвет». Однако именно тогда судьба нанесла мне сокрушительный удар, поспособствовавший переменам.
Тревожный звонок раздался в конце 1972 года, когда я катался на обледенелом горнолыжном склоне в Нью-Гэмпшире. Моя балаклава соскользнула, лишив меня возможности видеть. Другой лыжник, потерявший контроль, оказался у меня на пути. Я врезался в него на полной скорости. Я мог проткнуть его палкой или разбить ему голову, однако по воле судьбы он, спотыкаясь, просто отлетел в сторону и остался невредимым. Мне повезло меньше. Из-за ужасного спирального перелома правой бедренной кости я на три месяца оказался закованным в гипс от середины груди до пальцев ног — беспомощный, неподвижный инвалид, полностью зависящий от окружающих.
Но я не был несчастен в этой гипсовой скорлупе, вовсе нет. Я словно очутился на огромной ментальной игровой площадке. Оказывается, если избавить свой мозг от рутинной работы по перемещению тела, он освобождается для другой деятельности. Чтобы скоротать проведенное в неподвижности время, я думал, думал и думал. И наконец с кристальной ясностью осознал, что моя жизнь так же сбилась с пути, как тот спотыкающийся лыжник.
Что-то пошло не так. В научной сфере у меня все складывалось отлично, но я ничего не делал для своего увлечения искусством. Так что я принял судьбоносное и необратимое решение: когда гипс снимут, я покину академическую работу и вернусь в Калифорнию, где, как мне казалось, непременно должно произойти что-то хорошее. Сейчас, по прошествии многих лет, я осознаю всю потрясающую бессодержательность своего плана. Но я все равно его выполнил — и что-то хорошее действительно произошло. Там я снова встретился со своим приятелем по логическим ячейкам Диком Шаупом. По его настоянию я присоединился к нему в лаборатории Xerox PARC в 1974 году, в период ее расцвета. Там я нашел и цветные пиксели, и программу для рисования — и искусство, и компьютеры.
Дик знал, что не первым начал работать с цветными пикселями, но он не подозревал, кто был первопроходцем. На самом деле, как мы уже знаем, Ружло, Шумахер и их команда получили первые цветные пиксельные изображения на шесть лет раньше Дика, в 1967 году. Их 6-битные пиксели (64 цвета) были реализованы на симуляторе космического корабля NASA-2. Я перечисляю в комментариях на сайте еще несколько систем с 2 и 3 битами на пиксель (в 1968 и 1969 годах), включая и первую программу для рисования Джоан Миллер из Bell Labs с 3-битными пикселями (8 цветов). Во всех этих разработках, за исключением программы Миллер, в качестве памяти использовались механические диски, а в ее системе применялось аналоговое управление цветом, поэтому мы не считаем ее полностью цифровой.
Дик даже не торопился заявлять, что он первым использовал 8-битный пиксель (256 цветов). Кто знает, говорил он, чем занимались секретные правительственные агентства в 1960-х и 1970-х годах? Я слышал устные свидетельства, но не нашел никаких документальных подтверждений, что 8-битные пиксели (256 цветов) появились раньше, чем в 1973 году у Дика в Xerox PARC.
Тем не менее в некоторых вещах SuperPaint Дика опередил всех. Его цветовая палитра сопоставляла каждое из 256 значений пикселя с одним из 16 миллионов отображаемых цветов, то есть 8 бит на входе, 24 бита на выходе. Видеосигнал соответствовал американскому стандарту NTSC, а еще располагал входом с видеокамеры, видеовыходом, совместимым с NTSC, и декодером NTSC для отображения на стандартном цветном студийном мониторе. И самое главное, каждый пиксель управлялся программой, которая работала на компьютере общего назначения, а не на специализированной графической системе. И, возможно, это была первая полностью цифровая система с 8-битным кадровым буфером — а кому на самом деле принадлежит первенство, до сих пор точно не установлено.
Рис. 7.20
На рисунке 7.20 показано меню SuperPaint в том виде, как оно выводилось на дисплей в Xerox PARC в 1974 году. Ползунки выбора цвета вверху — для оттенка (Hue), насыщенности (Saturation) и яркости (Brightness) — представляют мой первый алгоритмический вклад в Цифровой Свет. Они заменили ползунки RGB (для красного, зеленого и синего цветов), которые Шауп запрограммировал изначально. Я пытался получить розовый цвет с помощью ползунков RGB, но так и не смог. Я попросил Дика добавить удобный для художников механизм. Розовый легко смешать, объяснял я, если есть возможность выбрать оттенок из цветового круга — в нашем случае красный, — а затем добавить белый, чтобы сделать его светлее. Или выбрать оранжевый оттенок и добавить черный, чтобы затемнить его до коричневого. «Никто никогда так не делал», — сказал он. Так что мне пришлось стать первым, реализовав эту — не требующую особых усилий — концепцию за одну ночь. С новыми ползунками добавление белого снижает насыщенность цвета. Добавление черного уменьшает значение цвета, или яркость.
SuperPaint не была программой для компьютерной графики, хотя мне потребовались годы, чтобы осознать это. В ней не действовала Центральная Догма. В предыдущей главе я определил компьютерную графику как преобразование геометрических моделей в пиксели. Но пиксели Дика Шаупа не имели отношения к геометрии. В SuperPaint геометрия (почти) не использовалась.
Дик определенно знал, как преобразовать геометрию в пиксели. Свидетельство тому — те наклонные прямые и колеса фургона, которые он нарисовал в 1973 году (уже работая в Xerox PARC, но не в программе SuperPaint), как мы обсуждали в главе «Восход Цифрового Света». В меню SuperPaint было несколько инструментов, основанных на геометрии. Например, один из них рисовал линии. SuperPaint отображал зубчатый отрезок линии между любыми двумя точками по выбору пользователя. Еще один инструмент рисовал прямоугольники. Вот и вся геометрия.
Перемещение курсора по дисплею с помощью устройства управления — в нашем случае стилуса на планшете — было тогда новой концепцией. Дику приходилось объяснять каждому новому пользователю технику взаимодействия — нажать и перетащить «там внизу» на планшете, следя за курсором «здесь вверху» на дисплее. Меню, значки-иконки, курсоры и ползунки — в цвете — начали свое восхождение к обыденности именно оттуда, с программы SuperPaint в 1973 году.
Итак, что такое SuperPaint? Это инструмент для создания рисунков, но не компьютерная графика. Это система, работающая с цветными пикселями, но не система обработки изображений. Это не видеоигра, хотя там присутствует интерактивность. Однако программа SuperPaint определенно принадлежит к Цифровому Свету, потому что передает изображение через пиксели.
Некоторые определения, которые я использовал ранее, особенно важны для описания SuperPaint или программ для рисования в целом. Важнейшее из них — это различие между пространством Творчества и пространством Отображения. Весь креатив в компьютерной графике происходит в невидимом пространстве Творчества. Оно выражается в геометрической модели, хранящейся в памяти компьютера, и становится видимым в пространстве Отображения при визуализации пикселей. Творчество в программе для рисования происходит непосредственно в пространстве Отображения. Программы для рисования — это системы создания изображений, для которых нет различия между пространством Творчества и пространством Отображения. Пиксели в них (обычно) не отображают геометрическую модель и не имитируют реальность. Они создаются с нуля пользователем-художником. Они не поклоняются теореме Котельникова, потому что не являются выборкой из непрерывной сплошной среды. Они просто существуют. Столь многословно я пытался сказать, что программы для рисования не соблюдают Центральную Догму. Типичная программа для компьютерной графики похожа на работу в фотостудии. Вы идеально расставляете трехмерные объекты, а затем фотографируете их с определенного ракурса. Программы для рисования похожи на… э… на рисование. Они позволяют вам создать любое изображение с нуля.
Но программы для рисования — это определенно часть синтетической компьютерной графики, а не аналитической обработки изображений. В обработке изображений нет пространства Творчества. В современном мире рисование и обработку изображений объединили, поэтому их первоначальные различия стираются. Adobe Photoshop разрабатывался для обработки фотографий, но его современная версия включает инструменты для рисования в различных стилях и возможность создания геометрически определенных элементов.
За программой для рисования стоит своего рода модель. Но это просто метафора, а не геометрия и не физика. Это процесс рисования кистью на холсте. Программа для рисования, например SuperPaint, имитирует эту метафору с помощью компьютера. Кисть — это просто набор пикселей. На рисунке 7.20 выбранная в данный момент кисть (указана красной стрелкой) представляет собой диск среднего размера. Рукоятка кисти — это физический стилус, который используется для управления SuperPaint с помощью планшета. Его можно заменить и мышью, которая уже применялась где-то в PARC, но Шауп счел ее слишком неуклюжей — «как рисование куском мыла».
В SuperPaint, когда пользователь проводит стилусом над планшетом (без нажима), курсор на дисплее отслеживает его перемещение. Таким образом, курсор всегда показывает текущее местоположение стилуса. В тот момент, когда пользователь нажимает на стилус, крошечный переключатель на его кончике замыкается, а копия текущей кисти записывается в кадровый буфер в этом месте и мгновенно отображается на дисплее в выбранном цвете. Пока вы нажимаете на стилус, копии записываются в кадровый буфер и, следовательно, отображаются на дисплее так же быстро, как положение стилуса считывается с планшета. Сегодня это очевидный способ взаимодействия с компьютером, но тогда он был в новинку.
Что именно копируется или рисуется в кадровый буфер? Это некоторый набор пикселей в форме текущей кисти, выбранного цвета и с центром в актуальном местоположении стилуса. Мазок кисти определяется движением стилуса, последовательностью отдельных точек, которыми оно обозначается. Если они расположены достаточно близко, то копии кисти, которые последовательно записываются в кадровый буфер, накладываются друг на друга и образуют непрерывный мазок. Но мазок на самом деле не является непрерывным. В былые времена компьютер не всегда успевал за движением стилуса, оставляя пунктирный след из отдельных копий кисти.
В конце концов, когда закон Мура сделал компьютеры быстрее, появились программы для рисования, отображавшие непрерывный мазок кистью по геометрически определенному пути. Но на их разработку ушло много лет. Поначалу создание непрерывного штриха было мучительно медленным. Мы уже сталкивались с этой проблемой немного раньше. Демонстрация сплайна для Рави Шанкара в главе 6 представляла собой геометрически определенный мазок. Именно медленный рендеринг — пауза между моим жестом на планшете и отображением штриха в кадровом буфере — вызвала изумление в процессе демонстрации.
Adobe Photoshop сейчас доминирует среди инструментов для создания изображений, хотя изначально предназначался для обработки изображений — для интерактивного исправления пикселей, снятых фотокамерой, а не нарисованных кистью. Метафора с живописью очень сильна. Компьютерная программа, такая как SuperPaint или более поздний Photoshop, переосмысливает ее как интерактивное создание или изменение изображения с помощью локальных операций, которые выполняются кистью под управлением пользователя.
После моего первого знакомства с SuperPaint и цветной видеосистемой я написал письмо в Xerox PARC (как и многие, путая систему с ее основной программой): «Одним из моих первых озарений, когда я увидел эту машину, было то, что она могла бы быть прекрасным инструментом для создания анимационных фильмов». Готовясь к официальному трудоустройству туда, я учился основам персонажной анимации по известной книге великого мультипликатора, заставившего Гиацинтового Бегемота танцевать в диснеевской «Фантазии», Престона Блэра, полной практических рекомендаций и примеров. На рисунке 7.21 показаны обложка книги и страницы, посвященные прыжкам и ходьбе.
Рис. 7.21
Когда я приехал в PARC в 1974 году, Рон Беккер, тот самый канадец в яркой рубашке, создатель ранней анимационной программы Genesys, находился там в длительной командировке, как и гарвардский аниматор Эрик Мартин. Их — так же, как и меня — привлекала система SuperPaint Дика Шаупа. И, естественно, Эрик вскоре нарисовал и записал прекрасную анимацию с прыгающим мячом «Всегда популярный прыгающий мяч» (
Упражняться в анимации я начал с цикла ходьбы по книге Блэра. Затем я сделал идущую голову пирата, соленый огурец, молоток и помидор, а также цифровой скан головы Дэвида Ди Франческо. Мы тогда даже не подозревали, что делали первые шаги на пути, который в итоге приведет нас к Pixar и первому цифровому фильму.
Когда я познакомился с художником Ди Франческо, он уже объездил весь мир в поисках способов объединить компьютеры и искусство. Грант Национального фонда искусств позволил ему в начале 1970-х годов поработать с Ли Харрисоном III из Computer Image Corporation. Дэвид отправился в Токио, чтобы получить доступ к одному из творений Харрисона под названием Scanimate, аналоговой анимационной машине, и лишь в 1974 году вернулся в США, где попал на одну из презентаций SuperPaint, которые Дик Шауп проводил в Сан-Франциско. Дэвид из зала задал Дику вопрос, что общего у SuperPaint и Scanimate Харрисона. Это был правильный вопрос, потому что Дик и Ли Харрисон давно дружили и Дик хорошо знал устройство Scanimate. Он предложил Дэвиду обратиться за подробностями в Xerox PARC.
Но когда Дэвид начал осаждать лабораторию настойчивыми звонками, Дик переключил взаимодействие с ним на меня. Непрекращающиеся просьбы Дэвида, приукрашенные его необычным юмором, в конечном счете околдовали меня, как он и планировал. В конце концов я растаял и предложил ему вечерний «джем-сейшн» на SuperPaint. Это означало совместное творчество, но последовательно по времени — у нас был всего один стилус. Сначала рисовал один художник, затем другой добавлял что-нибудь к получившемуся изображению, затем первый вносил еще какие-то модификации и так далее.[40]
Дэвид любил машины так же сильно, как искусство. Он вообще обожал любую технику: фотоаппараты, автомобили, самолеты и особенно мотоциклы. Он был мотоциклетным маньяком с утонченным вкусом. В свою коллекцию он заполучил винтажные Brough Superior 1938 года и Vincent Black Shadow 1951-го. Поскольку ему нравились любые машины, он терпел все мучения, которые доставляла работа с первыми цифровыми компьютерами. Он был готов пройти любые испытания ради результата. Все это он считал частью приключения!
Такое же безразличие к трудностям проявляли все первые художники-компьютерщики. Другой Дэвид — Миллер — тоже участвовал в наших «джем-сейшнах» в Xerox PARC и покинул нас, чтобы присоединиться — под псевдонимом Дэвид Эм — к своему будущему коллеге Джиму Блинну из Лаборатории реактивного движения в Пасадене. Эм годами страдал от мигающих флуоресцентных ламп, ревущих кондиционеров и унылых зеленых стен в Лаборатории реактивного движения, чтобы создавать свои прекрасные цифровые картины, похожие на закат, и причудливо выложенные мозаикой трехмерные пейзажи. В эпоху детства компьютеров мы любили их и верили в их технологическое взросление. Мы жаждали новых открытий и верили, что технологии станут более гибкими «всего через пару лет». Мы еще не знали, как воззвать к закону Мура, — но именно этим и занимались.
Дэвид Ди Франческо, знакомый с арт-бизнесом, вскоре предложил попросить у Национального фонда искусств грант на использование нового художественного средства, предлагаемого SuperPaint, — цветной растровой графики. Ему требовались деньги, так как он находился в Xerox PARC неофициально, а я заинтересовался его предложением, поскольку хотел заниматься искусством и называть это именно так. Я уже получил несколько грантов от Национального научного фонда как профессор Нью-Йоркского университета. Заявки на них занимали по 40 страниц и подавались в 20 экземплярах, поэтому я с облегчением и удивлением узнал от Дэвида, как работает Национальный фонд искусств. Туда нужно отправить всего одну страницу! Он все это знал, потому что в то время как раз жил на свой второй грант от Национального фонда искусств. Самое главное в заявке — это художественная работа, которую следовало поместить в приложении к этой единственной странице. Мы сняли видео, используя систему Дика Шаупа, и отправили его, вместе с заявкой на грант, тем самым укрепив наши отношения и соединив наши судьбы.
Мы не напрасно отправили заявку. Вскоре, 16 января 1975 года, меня уволили. Когда я спросил о причинах, Джерри Элкинд, начальник Боба Тейлора, ответил, что Xerox решила не заниматься цветной компьютерной графикой.
«Но ведь за цветом — будущее, — недоверчиво возразил я, — и сейчас оно полностью принадлежит вам».
«Может, и так, но принято корпоративное решение работать в черно-белом режиме».
Я не особо удивился. Боб Тейлор недавно уже сделал предупредительный выстрел. Однажды он подошел ко мне и спросил: «Вам не кажется, что систему Шаупа слишком сложно использовать? Разве подход Ньюмана не выглядит более удачным?» Он имел в виду Уильяма Ньюмана, который работал в углу той же комнаты, что и SuperPaint. Об Уильяме мы уже говорили в главе о вычислениях, он был сыном Макса Ньюмана, наставника Алана Тьюринга, и играл в монополию с самим Тьюрингом. Уильям проектировал черно-белую графику с 1-битными пикселями на компьютере Alto в Xerox PARC. «Нет!» Внутри мне хотелось кричать, хотя вслух я высказал лишь вежливое несогласие. Тейлор явно не понял моего возражения.
Так что в Xerox отказались от цветной графики. Примерно через год они точно так же упустят персональный компьютер.
Вне зависимости от причин ухода из Xerox PARC нам с Дэвидом Ди Франческо предстояло найти «следующий кадровый буфер», чтобы выполнить условия гранта Национального фонда искусств, который мы надеялись получить. Согласно закону Мура, кадровый буфер спустя несколько лет должен уменьшиться в размерах: от ящика размером с большую микроволновку (как в Xerox PARC) до одной большой платы с видеокартой, а затем и до крошечной части графического процессора на чипе (именно так он выглядит сейчас). Но тогда он все еще оставался редким и дорогим зверем.
Мы услышали, что компания Evans & Sutherland в Солт-Лейк-Сити строит еще один кадровый буфер, и решили отправиться туда. По чистой случайности, когда мы въехали на парковку E&S, рядом с нами лихо затормозил желто-черный Lotus. Из него выскочил Джим Каджия с волосами до пояса, даже длиннее моих. Каджия, блестящий инженер и теоретик, а позднее профессор Калифорнийского технологического института, разрабатывал новый кадровый буфер в E&S. Он будет нашим важным коллегой на протяжении десятилетий.
Надежды, что мы получим доступ к еще не родившемуся устройству, быстро рухнули. Хотя мы ни разу не упомянули слово «искусство», все понимали, чем именно мы занимаемся. Политически они никак не вязалось с финансированием разработок в Университете Юты Министерством обороны — американским военным тираном, поддерживающим компьютерную графику. Мы уже собирались уходить, ничего не добившись, как вдруг кто-то упомянул, что недавно мимо проезжал «сумасшедший богач», некто доктор Александр Шуре из Лонг-Айленда, который «скупал все, что попадалось ему на глаза». «Он купил кадровый буфер?» — поспешно спросил я. Да! И он хотел делать анимационные фильмы! Мартин Ньюэлл, тот самый, с чайником, на следующий день улетал консультировать его в школу богачей, в Нью-Йоркский технологический институт. Он пообещал позвонить по результатам встречи.
Звонок от Ньюэлла не заставил себя ждать: «На вашем месте я бы уже покупал билеты на ближайший самолет». Мы с Дэвидом так и сделали.
«Кого нам там искать?» — пристал я к еще одному знакомому из Юты.
«Эда Катмулла. Но будь с ним поаккуратнее, он набожный мормон».
«Это не проблема».
Закон Мура 100X (1975–1980)
Наше видение ускорит время, в конечном итоге стерев его.
Александр Шуре, тот самый эксцентричный богач с Лонг-Айленда (рис. 7.22), оказался — по чистому, но удивительному совпадению — «нашим дядей Алексом». В Калифорнии рядом с Xerox PARC по соседству со мной жили Ричард и Сандра Гилберты. Ричард рассказывал, что его дядя в Нью-Йорке занимается тем же самым, что и я в Xerox PARC. Тогда я не обратил внимания на его слова. Разве я мог не знать о таком человеке в тесном мире компьютерной графики? Ричард, экономист, наверняка что-то перепутал. Но когда я вернулся из своей первой поездки в Нью-Йоркский технологический институт и с восторгом начал рассказывать о человеке, которого там встретил, Ричард воскликнул: «Элви! Это же дядя, о котором я пытался тебе рассказать».
Дядя Алекс рассчитывал стать новым Уолтом Диснеем. Давайте проследим, как формировалось это убеждение. Александр Николаевич Прокофьев-Северский (рис. 7.23), друг семьи Шуре и попечитель Нью-Йоркского технологического института (а для дяди Алекса — просто Саша), снялся в фильме Диснея.
В годы Первой мировой войны Прокофьев-Северский был морским летчиком, одним из самых известных асов в России. Он лишился ноги во время боевого вылета, но, получив протез, сумел снова вернуться в ряды летчиков. После Октябрьской революции 1917 года новая власть не благоволила офицерам и аристократам, а потому ему пришлось бежать из России. Сперва он добрался по Транссибирской магистрали до Владивостока, а затем пересек Атлантику на японском пароходе и высадился в Сан-Франциско 21 апреля 1918 года.
Рис. 7.22
В Америке он сменил фамилию на Северский (театральный псевдоним его отца) и поселился в Нью-Йорке, где основал авиастроительную компанию Seversky Aircraft, позже переименованную в Republic Aviation. Вскоре после Перл-Харбора он опубликовал влиятельную книгу «Воздушная мощь — путь к победе» (
В 1964 году Северский помог Нью-Йоркскому технологическому институту приобрести самое впечатляющее здание на территории кампуса (рис. 7.24) — особняк, изначально построенный для семьи Альфреда Дюпона. Это здание фигурировало в нескольких фильмах: «Три дня Кондора» (1975) и «Артур» (1981). Александр Шуре переименовал его в особняк Северского в честь своего друга и благодетеля. В 1970-х годах там разместилась видеостудия Нью-Йоркского технологического института, непосредственно связанная с Лабораторией компьютерной графики, расположенной «по соседству» — через небольшую рощицу. Именно в особняке Северского развернется драматическая сцена нашей с Ди Франческо первой встречи с дядей Алексом, на которую нас притащили Эд Катмулл и Малкольм Бланшар.
Рис. 7.23
Еще до того как Шуре узнал о компьютерной графике, он организовал в кампусе анимационную студию на 100 человек для работы над полнометражным анимационным фильмом «Табби Туба». В нем использовалась та же самая старомодная технология целлулоидной мультипликации, которую я описал в главе о фильмах и анимации, — технология, которую Дисней использовал для создания «Воздушной мощи».
Но затем один удачливый коммивояжер продал Алексу Шуре компьютерную графику. Пит Ферентинос был торговым представителем Evans & Sutherland на Восточном побережье. Он сделал холодный звонок в Нью-Йоркский технологический институт и поговорил с дядей Алексом. Шуре пришел в восторг, осознав, какую экономию средств оборудование для компьютерной графики обеспечило бы при производстве «Табби Тубы». В рамках презентации своего коммерческого предложения Ферентинос организовал для дяди Алекса посещение E&S в Солт-Лейк-Сити и встречу с Дэйвом Эвансом и Айвеном Сазерлендом.
Под таким натиском дядя Алекс не устоял и купил несколько продуктов E&S для Нью-Йоркского технологического института. Затем Эванс спросил его, кто будет управлять приобретенным оборудованием, добавив: «Кажется, вы только что разминулись с нужным человеком». Он имел в виду недавнего выпускника Юты Эда Катмулла. Это было в 1974 году, примерно в то же время, когда мне показали на дверь в Xerox PARC.
Когда в 1974 году Эд защищал докторскую диссертацию в Университете Юты, один из его научных руководителей, Айвен Сазерленд, как раз занимался созданием компании, которая будет внедрять компьютеры в Голливуде. Эд надеялся, что она обеспечит ему пропуск в киноиндустрию, особенно в анимацию. Я спросил Сазерленда об этом во время разговора по скайпу в мае 2017 года.
«Мы опередили время примерно на 10 лет», — сказал Сазерленд о своей попытке покорить Голливуд в 1974 году. Он и второй соучредитель Глен Флек планировали назвать компанию Picture/Design Group. Они тогда выполнили несколько дизайнерских заказов, но бизнес не окупался. Добиться успеха у них не получилось.
Но Эд не собирался ждать десять лет. Чтобы обеспечивать жену и маленького ребенка, он устроился на работу в компанию Applicon в Бостоне, занимавшуюся компьютерным проектированием. Именно там в 1974 году его застал звонок от Александра Шуре из Нью-Йоркского технологического института. Хотя Эд проработал в Applicon всего месяц или около того, он не раздумывая согласился на предложение Шуре. Он даже не уточнил никаких подробностей — лишь понял, что речь идет о работе на оборудовании E&S в новой Лаборатории компьютерной графики и о создании анимационного фильма. Свое будущее Эд видел в иллюстративной компьютерной графике, а не в САПР.
Малкольм Бланчард, еще один выпускник факультета компьютерных наук Университета Юты и бывший коллега Эда в Applicon, устроился в Лабораторию компьютерной графики Нью-Йоркского технологического института в конце 1974 года.
Лаборатория всего несколько месяцев спустя, в начале 1975 года, пополнилась еще двумя сотрудниками, хотя новые машины туда еще не поступили, а некоторые из них даже не были изготовлены. Новыми сотрудниками были мы с Дэвидом Ди Франческо из Xerox PARC, лаборатории, которую основал Боб Тейлор. Таким образом, в Нью-Йоркском технологическом институте переплелись две нити ARPA — Сазерленда и Тейлора.
Основанная на геометрии компьютерная графика из Университета Юты объединилась с пиксельной графикой из Xerox PARC в 1975 году, посеяв семена того, что в итоге превратится в студию Pixar. У нас наметилось мощное смешение искусства и технологии. Другими словами, объединились силы изнутри (Юта) и извне (Xerox PARC) Центральной Догмы. Четыре первых сотрудника лаборатории — Эд, Малкольм, Дэвид и я — оставались вместе и впредь, создавая компьютерный отдел студии Lucasfilm в 1980 году и студию Pixar в 1986-м.
Эд и Малкольм были людьми семейными, а вскоре у Эда еще и родился второй ребенок. Неудивительно, что по будням они придерживались графика с девяти до пяти и не работали по выходным. Но мы с Дэвидом, по-прежнему холостяки, работали круглосуточно, в том числе и по выходным, занимаясь искусством, особенно после того как заполучили для Лаборатории кадровый буфер. Мы даже спать ложились лишь тогда, когда уже валились с ног от усталости.
Дэвид жил на свой грант Национального фонда искусств, но выделенные деньги постепенно заканчивались. Мы так и не получили никакой информации о заявке на грант, которую отправляли вместе. Дэвид сделал запрос и (его это возмутило, а меня расстроило) обнаружил, что Национальный фонд искусств потерял ключевую часть, наше художественное приложение. Чтобы загладить свою вину, представители Фонда согласились посетить нашу лабораторию. Именно это и было нам нужно! Сложно объяснить, что мы пытались сделать, но легко показать.
Фонд отправил к нам художника Стэна Вандербика и чиновницу Нэнси Рейнс. Вандербик был известен как по выставке «Кибернетическая прозорливость» (упомянутой в шестой главе), так и по книге «Расширенное кино» (упомянутой в этой). Кстати, именно он придумал термин «расширенное кино».
Мы с Дэвидом встретили их на вокзале Манхассет, Лонг-Айленд, в 16:00, в последний час последнего дня, когда можно было посетить объект. Они исполняли свои профессиональные обязанности без особого энтузиазма. «Нам нужно успеть обратно на пятичасовой поезд», — заявила Рейнс. Это означало, что у нас остается всего тридцать минут на демонстрацию. «Хорошо, но мы не думаем, что вы захотите так спешить», — ответили мы.
И они не захотели. Еще со времен работы в Xerox PARC мы с Дэвидом привыкли, что посетители замирают разинув рты, впервые увидев цветные пиксели и интерактивную растровую графику. То же самое произошло и с представителями фонда. Мы объясняли и показывали картинки, делали изображения сами и давали делать их им. Время пролетело незаметно. Наконец, около четырех часов утра они решили, что им пора вернуться в знаменитый отель Algonquin на Манхэттене. Мы отвезли их туда. За проведенное вместе время мы успели по-настоящему подружиться. Всех четверых переполняли счастье и энтузиазм. Перед тем как скрыться за раздвижными дверями отеля, Вандербик обменялся с нами рукопожатиями через открытое окно машины и сказал: «Ну, парни, вы получили свой грант!»
На северном берегу Лонг-Айленда, примерно в 10 милях к западу от Нью-Йоркского технологического института, находился необычный комплекс для компьютерной графики в реальном времени. Это был симулятор крупнотоннажного нефтяного танкера, заходящего в гавань Нью-Йорка. Сейчас верится с трудом, но существовал план, согласно которому предполагалось разрешить гигантским танкерам заходить туда (конечно, это было еще до катастрофы с разливом нефти из танкера Exxon Valdez на Аляске). Поскольку у большого танкера радиус поворота больше мили, а гавань Нью-Йорка по сравнению с ним довольно тесна, планировалось, что судоводитель должен сначала потренироваться на симуляторе. Саму сумасшедшую идею в реальность так и не воплотили, но симулятор был создан. Позже он использовался для воссоздания и изучения аварии Exxon Valdez после катастрофы, произошедшей в 1989 году в заливе Принс-Уильям — огромном по сравнению с гаванью Нью-Йорка.
Компания Evans & Sutherland создала симулятор с неуклюжим названием Computer Aided Operations Research Facility, или CAORF (произносится как «Кей орф»). Его установили в июле 1975 года в Академии торгового флота США в Кингс-Пойнте на Лонг-Айленде. Вы входили в кирпичное здание — с носом как у корабля! — через двери с иллюминаторами и попадали «на мостик». Туалет назывался «гальюн». Пройдя дальше, вы оказывались на корабельном мостике со штурвалом, экраном сканирующего радиолокатора, рычагом управления скоростью и ручкой туманной сирены. Все это было реальным, а не компьютерной графикой.
А вот вид из окон (глухих) очень удивлял. Он полностью генерировался компьютером и заполнял все визуальное пространство. С помощью реальных устройств на мостике человек взаимодействовал с нереальной компьютерной симуляцией. Перед судоводителем разворачивалась 240-градусная панорама, упрощенно изображавшая нью-йоркскую гавань со статуей Свободы, мостом Веррацано-Нарроус и горизонтом с силуэтами небоскребов, включая Эмпайр-стейт-билдинг. «Танкер» двигался через сгенерированную компьютером гавань под вашим управлением.
CAORF разработали Род Ружло и Боб Шумахер на базе симулятора NASA-2 и первых цветных пикселей. Они покинули General Electric и присоединились к Evans & Sutherland в октябре 1972 года. Ружло стал главным инженером проекта CAORF, естественно, в партнерстве с Шумахером. «Мы тогда поставили на кон всю компанию», — сказал мне Ружло. И это сработало. В авиационной индустрии, изучив симулятор танкера, быстро поняли, что по тому же принципу можно делать тренажеры для обучения пилотов. Авиасимуляторы принесли компании E&S процветание.
Созданием программного обеспечения для симулятора танкера руководил Джон Уорнок. Потом он работал в Xerox PARC, а еще позже основал Adobe. Но тогда его производственное подразделение E&S находилось в Калифорнии. Молодая женщина Кристин Бартон работала там над программным обеспечением CAORF и приехала на Лонг-Айленд, чтобы установить его.
Шумахер присутствовал на защите диссертации Эда Катмулла в Университете Юты в 1974 году. Поэтому он пригласил Эда посетить установку CAORF, благо Нью-Йоркский технологический институт располагался неподалеку. Возможно, именно там Кристин познакомилась с Эдом. Впрочем, она изложила иную версию. По ее словам, узнав, что Нью-Йоркский технологический институт недавно закупил оборудование у E&S, она позвонила Эду, и он пригласил ее посетить Лабораторию компьютерной графики (рис. 7.25). После того как Эд рассказал, чем он там занимается, Кристин попросилась к нему на работу. В 1975 году она стала пятым членом нашей группы в Нью-Йоркском технологическом институте и первой женщиной-компьютерщиком среди нас. В те времена немного женщин занимались компьютерной графикой — там преобладали мужчины.
У Кристин был опыт создания компьютерных сетей. Она работала с ранним предшественником интернета — ARPAnet. Она объединила наши многочисленные компьютеры в Нью-Йоркском технологическом институте в локальную сеть задолго до того, как термин «локальная сеть» (local area network, LAN) стал общепринятым. Ее сетевой сервер даже выделял кадровые буферы конкурирующим пользователям — в то время решением подобных проблем не занимался никто в мире. Большинство довольствовались одним кадровым буфером, способным хранить одно 8-битное видеоизображение (256 цветов) с разрешением 512 на 512 пикселей. На пике развития в нашей лаборатории было 18 таких буферов. Мы по-разному их настраивали, используя построенную Кристин систему. Например, мы объединяли три кадровых буфера, чтобы получить 24-битное полноцветное видеоизображение (16 миллионов цветов).
Рис. 7.25 Персонал лаборатории в 1977 году (слева направо): Эфраим, Гарланд Стерн и Лэнс Уильямс, Том Дафф и Кристин Бартон, между ними (на заднем плане) Дуэйн Палика и Эд Катмулл, а также я с моей машиной и Дэвид Ди Франческо с его мотоциклом
Помимо прочего, Кристин занималась искусством. Как и все мы, она создавала анимацию на зарождающейся в лаборатории системе. Жила она в Holloway House, еще одном особняке, относящемся к институту и располагавшемся в миле или около того от кампуса.
Кристи, как мы ее тогда называли, расположила к себе нас с Дэвидом, пригласив посетить симулятор CAORF. Ее знакомый из Академии торгового флота пустил нас на объект ночью. Вот тогда и началось веселье. Мы катались на танкере, доводя симулятор до немыслимых пределов. Мы раскрасили небо в красный цвет. Мы пилотировали танкер со скоростью 200 миль в час, на 40 футов ниже уровня воды и на 40 футов выше. Мы пролетели на нем на полной скорости через статую Свободы и через Эмпайр-стейт-билдинг, чтобы посмотреть на результат. Ничего интересного, конечно, мы не увидели, это была просто симуляция. Программисты E&S не помещали внутрь изображенных зданий никакой информации, потому что оператор не должен туда попадать. Полигоны, которые использовались для имитации сооружений, просто исчезали при столкновении — острые края уходили за пределы экрана, открывая черное ничто, словно разбивающееся в темноте витражное окно.
В 1975 году в Нью-Йоркский технологический институт прибыли два человека, которые сильно повлияют на будущее нашей графики и кинопроизводства. Лэнс Уильямс и Гарланд Стерн из Университета Юты провели с нами тогда первое лето. Лэнс и Гарланд были технологическим дуэтом. Оба примерно одного роста и с длинными светлыми волосами (Гарланд собирал их в хвост). Они говорили об одном и том же и вместе вынашивали планы. Они оба снова приехали на следующее лето, а затем присоединились к нам навсегда.
Многогранный Лэнс лично для меня значил особенно много. Мы с ним постоянно спорили, но такое интеллектуальное противостояние приносило пользу нам обоим — во всяком случае, мне. Он открыл для меня книгу «Голый завтрак» Уильяма Берроуза, особенно притягательную для тех, кто только что вышел из шестидесятых, и музыку Брюса Спрингстина.
Но гораздо важнее то, что Лэнс научил меня сглаживать растровые изображения. Он узнал этот секрет от Тома Стокхэма, аудиоэксперта, о котором я упоминал в главе 6 и который объяснил целому поколению студентов из Юты, как правильно делать выборки. И Лэнс также рассказал мне о Царе обезьян, популярном азиатском литературном персонаже, который еще появится в нашем кинематографическом будущем.
Гарланд Стерн, после того как начал работать в нашей лаборатории на постоянной основе, написал программу двумерной анимации, которая предопределила будущие отношения Pixar со студией Диснея.
Закон Мура еще не дал нам достаточной мощности для трехмерной анимации, поэтому на повестке дня стоял вопрос о возможностях компьютера в двумерной анимации. Сначала ответ не казался очевидным.
Эд Катмулл написал программу, которая, как мы полагали, задаст образец компьютерного подхода к покадровой анимации, но с ней возникла проблема. Его анимационная программа под названием Tween была отличной двумерной программой для промежуточной фазировки. Он использовал интерполяцию, очень похожую на программу анимации по ключевым кадрам, описанную в главе 6, которую Нестор Бёртник и Марсели Вейн разработали в Канаде в 1970 году. Аниматор Питер Фолдс создал знаковый фильм «Голод» (
Эд оперативно реагировал на все замечания, но врожденный неустранимый недостаток системы заключался в том, что двумерная компьютерная анимация на самом деле сложнее, чем трехмерная. Рассмотрим в профиль мужчину, который идет влево и размахивает руками. Благодаря нашему человеческому разуму мы знаем, что правая (дальняя от нас) рука сначала находится сзади, потом исчезает за спиной, а затем снова появляется спереди. После этого все происходит в обратном направлении: рука находится спереди, исчезает и снова появляется сзади. Но компьютер таким знанием не обладает. Как он интерполирует перемещение руки из одной позиции в другую? Что значит «сзади»? Что именно объединяет шесть только что описанных фаз в движение одного объекта? В трех измерениях очевидно, что рука — это один объект, плавно движущийся в пространстве. Стандартные решения трехмерной компьютерной графики, связанные с отображением скрытых поверхностей, автоматически позаботятся об исчезновении руки за туловищем.
Персонал студии Нью-Йоркского технологического института, обученный классической анимации, считал возникавшие с Tween проблемы непреодолимыми. Людям, привыкшим к карандашу и бумаге, интерполяционный подход казался неестественным. Персонаж на рисунке 7.26 — римский солдат из «Меры за меру» — показывает, от чего они впадали в уныние. Каждая пронумерованная кривая в ключевом кадре, созданном на основе этой модели, соответствует аналогичной кривой в следующем ключевом кадре, где солдат находится в слегка измененном положении — скажем, голова немного повернута, а правая рука поднята. Каждая кривая интерполировалась Tween с помощью инструкций, которые заданы аниматорами. Если у нас есть ключевой кадр, скажем под номером 10, и следующий ключевой кадр под номером 14, то Tween создаст три промежуточных кадра, состоящих из интерполированных кривых.
На рисунке 7.27 показаны проблемы, возникавшие при фазировке движения правой руки солдата. Найдите кривую номер 39 с левой стороны. На рисунке 7.27 (слева) показано, как она перемещается из своего положения в ключевом кадре 10 в положение в ключевом кадре 14 по прямолинейному пути (пунктирная линия) с равными временными промежутками. Это просто грубая интерполяция. Компьютер понятия не имеет, что имеет дело с рукой и что она должна двигаться как рука. Обратите внимание: кривые сперва укорачиваются, а затем снова удлиняются. Таким образом, у руки при движении меняются размер и объем. И перемещается она на одинаковые расстояния между кадрами. Настоящие аниматоры вряд ли когда-либо нарисуют такие жесткие и неизящные движения.
Чтобы добиться приятного глазу движения, аниматоры должны были указать Tween, по какому пути следовать и как распределить промежуточные моменты во времени. На рисунке 7.27 (справа) рука движется по изогнутой дуге (пунктир) и сохраняет исходную длину. Ее части перемещаются на разные расстояния за (обязательно) одинаковые промежутки времени. Рука движется сначала медленно, затем быстро, а потом снова медленно. В худшем случае аниматорам точно так же пришлось бы указывать, как двигаться, для каждой линии, а их более сотни только в этом римском солдате.
Рис. 7.26
Использование Tween для фазировки не только было в новинку для классических аниматоров, но и нас, специалистов в области компьютерной графики, поставило перед неожиданно сложной задачей. Мы получили важный урок. Поскольку наше определение фильма требовало, чтобы он был полностью цифровым и не содержал рисунков, сделанных от руки, мы поняли, что нам почти наверняка потребуются трехмерные модели персонажей. Третье измерение с его представлениями о связности, объектах и глубине радикально изменило бы все.
Тем временем Гарланд Стерн создал для двумерной анимации программу,
Программа Гарланда под названием SoftCel работала по принципу
Рис. 7.27
Каждый рисунок помещался в кадровый буфер для отображения на дисплее компьютера. Обычно он содержал много шума и ложных точек, возникающих из-за пыли, например на бумаге или на стекле сканера. Пользователь SoftCel избавлял отсканированное изображение от шума и выполнял над ним другие операции, такие как повышение яркости и контрастности. Важной задачей было замкнуть все кривые. Аниматор мог думать, что нарисовал замкнутый овал, хотя на самом деле оставил в контуре небольшой зазор. Для следующего шага — заполнения области сплошным цветом — требовалось закрыть такие промежутки. Все операции, описанные в этом абзаце, фактически представляют собой цифровую версию контуровки тушью на прозрачном целлулоиде в традиционной анимации.
Затем наступает этап создания пикселей — то самое «раскрашивай» из «сканируй и раскрашивай». В первые месяцы работы в Нью-Йоркском технологическом институте я написал программу под названием TintFill для выполнения цифрового эквивалента заливки краской в традиционной анимации. Как я описал в главе о фильмах и анимации, классические заливщики закрашивали области внутри сделанных тушью на целлулоиде контуров. Как и в детской книжке-раскраске, цель заключалась в том, чтобы сплошной цвет оставался внутри линий, а не пересекал их.
Точно так же TintFill заполнял замкнутые области, такие как правая рука и пальцы римлянина, одним сплошным цветом. Пользователь выбирал цвет, а затем щелкал пером внутри области, которая будет им заполнена. TintFill делал все остальное. Если алгоритм TintFill находил пробел в окружающей область кривой, цвет просачивался наружу и заливал весь рисунок, поэтому требовалось закрывать все разрывы в кривых, определяющих площадь заливки.
Таким образом последовательно закрашивались все области персонажа. Результат сохранялся в цифровом файле на компьютере. На этом этапе для каждого финального кадра существовало несколько файлов. Если в сцене было три анимированных персонажа, то для каждого ее кадра сохранялись три отдельных цифровых файла, по одному для каждого персонажа.
Тем временем еще один художник рисовал фоновые сцены прямо в кадровом буфере с помощью программы для цифрового рисования и сохранял каждую из них в отдельном цифровом файле. Поскольку еще со времен работы с SuperPaint Дика Шаупа в Xerox PARC я знал, как писать программы для рисования, второй моей программой в первые дни работы в Нью-Йоркском технологическом институте стал Paint, 8-битная программа для рисования с 256 цветами. Существовало несколько ее аналогов, в том числе та, которую Гарланд Стерн написал в Университете Юты и привез с собой. Я разработал свою собственную, так как мне требовался другой пользовательский интерфейс, а затем работал с профессиональным художником по фонам классической анимации Полом Ксандером, чтобы сделать ее эффективным инструментом для реального использования.
На последнем этапе все цифровые файлы объединялись в окончательный кадр и он отправлялся на пленочный принтер или видеомагнитофон. Сначала в кадровый буфер из цифрового файла восстанавливалась фоновая сцена. Затем в правильном порядке поверх фона туда восстанавливался каждый из слоев персонажей. Прозрачные части позволяли просвечивать изображению, расположенному на нижних слоях, в частности фону. Такую «композицию» сделал возможной альфа-канал.
Все, чем мы занимались в Нью-Йоркском технологическом институте, было впервые. Однажды мы попытались составить список всего, что сделали первыми, но он вскоре получился настолько смехотворно длинным, что мы бросили это занятие. Однако самое долгоживущее изобретение с наибольшим количеством наследников было сделано почти случайно. Мы с Эдом Катмуллом изобрели альфа-канал. В самом начале существования лаборатории однажды поздно вечером к нам заглянул наш покровитель дядя Алекс и спросил: «У нас лучшая компьютерная графика в мире, верно?» Я заверил его, что он прав. «Как нам оставаться впереди?» В то время мы располагали только одним кадровым буфером, 512 на 512 пикселей, 8 бит на пиксель (256 цветов). Он обошелся Шуре в 80 000 долларов. Я сказал ему, что если он купит нам еще два 8-битных кадровых буфера, то мы объединим их и получим один 24-битный (более 16 миллионов цветов). Я объяснил, какова разница между 256 цветами и 16 миллионами цветов и что ни у кого в мире нет таких возможностей.
Я полагал, что дядя Алекс ничего не понял, но через несколько недель он объявил, что купил еще пять таких 8-битных штуковин, поэтому у нас будет две таких 24-битных штуки! Пять новых 8-битных кадровых буферов по 60 000 долларов каждый! Таким образом, первый настоящий RGB, или полноцветный, 24-битный кадровый буфер, обошелся ему в 200 000 долларов — 80 тысяч долларов за первоначальную покупку 8-битного плюс 120 000 долларов за два новых 8-битных, но второй стоил уже 180 000 долларов. И теперь у нас был не только первый в мире полноцветный кадровый буфер, но целых две таких штуковины. В пересчете на сегодняшние деньги он потратил на нас более 1 700 000 долларов просто потому, что я сказал, что это будет круто. По прошествии многих лет его щедрость удивляет еще сильнее, чем тогда. В то время мы пребывали в полном восторге.
Вскоре он купит нам еще 12 8-битных кадровых буферов примерно по 40 000 долларов каждый — закон Мура в действии. Он дополнительно потратил 480 000 долларов, или около 1 900 000 долларов в пересчете на сегодняшние деньги. Так что ориентировочно к 1978 году мы располагали бóльшим количеством полноцветных пикселей, чем кто-либо еще на планете. Нам завидовало все сообщество специалистов в области компьютерной графики. Если сравнивать с сегодняшним днем, то у вашего мобильного телефона больше пиксельной памяти, чем у всех 18 кадровых буферов лаборатории вместе взятых. Напомню, что закон Мура, непрекращающаяся движущая сила, с тех пор изменился на восемь порядков.
Полноцветный 24-битный RGB сводил нас с ума. Я переписал свой Paint с 8-битными пикселями, сделав из него в 1977 году полноцветный Paint3 с 24-битными пикселями. Название указывало, что там используется три кадровых буфера. Это была первая в мире «полноцветная», или 24-битная, программа для рисования. В нем было 16 мегацветов — так много, что художник мог рисовать кистями с мягкими краями, которые не создавали зазубрин. Цвета смешивались, как будто настоящие краски. «Это как рисовать рожком мороженого», — кто-то отпустил о моей программе незабываемую шутку.
Вскоре я переделал все пиксельно-ориентированные программы в 24-битные версии. И, располагая таким большим объемом графической памяти, мы с Эдом легко и беззаботно решали, как ее использовать. В один прекрасный день мы придумали добавить четвертый канал для каждого цифрового изображения. Мы назвали его альфа-каналом. Мы делали его для решения одной конкретной проблемы, даже не осознавая будущей значимости этого. От альфа-канала зависит весь современный мир цифровых изображений.
Эд пытался решить извечную проблему скрытых поверхностей, о которой я уже говорил ранее: какие поверхности в конкретной сцене видны с точки обзора виртуальной камеры? Если не визуализировать скрытые поверхности, экономится много вычислительного времени. Тогда уже существовало несколько доступных алгоритмов, направленных на решение этой проблемы.
Эд разрабатывал новый способ, предполагавший, что виртуальная камера видит двумерный мир, разделенный на множество маленьких квадратиков, как через москитную сетку на окне (подробнее об этом я расскажу позже). Обратите внимание, что маленькие квадраты здесь — это геометрически определенные области модели, а
Алгоритм Эда рассчитывал пересечение каждого геометрического объекта модели с каждой из маленьких квадратных областей. Если квадрат пересекали несколько объектов, то дополнительно определялось, какая площадь каждого объекта видна виртуальной камере. Другими словами, он решал задачу о скрытых поверхностях в каждой маленькой квадратной области и представлял результат одним пикселем. Каждый пиксель соответствовал квадратной геометрической области вокруг своего местоположения. Проблема заключалась в определении одного цвета, который наилучшим образом передаст всю сложность внутри одной квадратной области.
Окончательный цвет пикселя переднего плана для квадратной области определялся как средневзвешенное значение цветов всех объектов, каждый из которых имел «вес», пропорциональный площади, которую он занимает в квадрате. Площадь квадрата, закрытая объектами, оставалась непрозрачной. Если они полностью закрывали квадрат, то этот пиксель был полностью непрозрачным. Если в квадрат не попадал ни один объект, то этот пиксель был полностью прозрачным. В противном случае он был частично непрозрачным.
Эд хотел визуализировать трехмерные объекты переднего плана на
Он сказал мне: «Хотелось бы найти какой-нибудь простой способ для проверки моего алгоритма на различных фонах». Мы поболтали несколько минут и быстро придумали решение. В какой-то момент определения синтетического пикселя описанный выше алгоритм вычислял результирующий цвет объектов переднего плана и степень их непрозрачности. Сочетание этого с цветом фона составляло отдельную проблему. Поэтому мы решили рассмотреть ее как отдельную задачу.
Я написал программы, которые использовались в лаборатории и для сохранения цифровых изображений в компьютерные файлы, и для их восстановления из файлов, обычно хранившихся на цифровом носителе — тогда в этой роли выступали магнитные диски. Это были первые полноцветные 24-битные программы сохранения и восстановления, потому что именно у нас раньше всех появились 24-битные пиксели. Я сразу понял, как решить проблему Эда. Нужно просто добавить четвертый канал к каждому пикселю в программах. Он будет содержать непрозрачность пикселя.
Если пиксель непрозрачен, его 8-битный альфа-канал имеет значение 255 (все единицы). Если он прозрачен, его альфа-значение равнялось 0 (все нули). Между ними доступно 254 возможных градации непрозрачности. Таким образом, каждый пиксель изображения теперь имел 32 бита: по 8 для красного, зеленого, синего цветов и альфа-канала. Мы назвали их пикселями RGBA. Благодаря системе распределения кадровых буферов Кристин Бартон мы сконфигурировали 32-битный кадровый буфер из четырех 8-битных устройств в локальной сети.
Эду предстояло изменить алгоритм так, чтобы он вычислял только цвет переднего плана и его непрозрачность для каждого пикселя, сохраняя результаты в компьютерный файл и записывая непрозрачность в новый четвертый канал. Другими словами, цвет фона просто игнорировался до следующего шага. Я же собирался переписать программу восстановления так, чтобы она распознавала новый альфа-канал и использовала его для правильного комбинирования вычисленного Эдом цвета переднего плана с произвольным фоном, который уже отображался в кадровом буфере.
Почему мы назвали его
Идея состоит в том, что крутится только одна ручка управления, а вклад двух изображений суммируется. Таким образом, ручка в крайнем положении (альфа равна 0) приводит к отсутствию изображения переднего плана и полному фоновому изображению — только фон. В другом крайнем положении ручки (альфа равна 1) мы имеем дело с полным изображением переднего плана и отсутствием фонового изображения — только передний план. Значение альфы напрямую отражает непрозрачность изображения переднего плана.
Ручка, повернутая наполовину (альфа равна 0,5), приводит к изображению, состоящему наполовину из переднего плана и наполовину из фона. При повороте ручки на четверть (альфа равна 0,25) в результирующем изображении соединяются одна четверть изображения переднего плана и три четверти фонового изображения. Если повернете ручку из одного крайнего положения в другое, вы получите кино с плавным переходом от фонового изображения к изображению переднего плана. Одно изображение плавно сменяет другое. На рисунке 7.28 показан плавный переход от белого креста на синем квадрате до красного круга на белом квадрате при изменении альфа от 0 до 1 с шагом 0,25.
Я описывал весь процесс так, как будто для всего изображения существует одно значение альфы (непрозрачности). Собственно, это и показано на рисунке 7.28. Но, вводя альфа-канал в каждый пиксель, мы допускаем разную непрозрачность, то есть та же формула применима к каждому пикселю изображения. Некоторые пиксели переднего плана могут быть прозрачными, некоторые — непрозрачными, а некоторые — частично непрозрачными. Соответственно, фоновый пиксель может частично просвечиваться в этих местах. Таким образом, пиксель RGBA сохраняет цвет сцены в каналах RGB и указывает, насколько этот цвет имеет значение для общей картинки с помощью канала A, или альфа-канала. Так что 32-битные пиксели стали нашей нормой.
Альфа, используемая попиксельно, показана на рисунке 7.29. Объект переднего плана — это просто круглый красный диск без фона. Все пиксели за его пределами прозрачны (или частично прозрачны по краю диска). Крайнее правое изображение — это красный диск, наложенный на левое квадратное изображение. Это делается с помощью альфа-канала красного диска попиксельно. В остальном последовательность изображений аналогична приведенной выше: глобальная альфа используется для постепенного наложения одного изображения на другое — в данном случае изображения круга на квадратный фон.
Альфа-канал — идея довольно тривиальная. По крайней мере, так мы думали тогда. Мы додумались до нее первыми только потому, что у нас было сколько угодно пиксельной памяти. Идея оказалась настолько простой, что на следующее утро я полностью реализовал ее, добавив несколько страниц в наше общее руководство по программированию. Новый тип пикселей описывался как RGBA для красного, зеленого и синего цветов и альфа-канала — это название используется до сих пор. Эд тоже быстро выполнил свою часть работы, изменив программу расчета скрытых поверхностей, чтобы она сохраняла четвертое значение (непрозрачность) для каждого пикселя переднего плана в новом формате RGBA.
Чтобы запустить свои тесты, Эду пришлось выполнить лишь следующие шаги. (1) Использовать мою «старую» 24-битную программу восстановления, чтобы загрузить любое фоновое RGB-изображение
Рис. 7.28
Рис. 7.29
Новый альфа-канал упростил размещение персонажей переднего плана поверх фоновых изображений. Части персонажа, заполненные сплошным цветом, непрозрачны. Отсканированные кривые, очерчивающие цветные области, имели «мягкие» края, то есть были частично прозрачны. Это позволяло им изящно сочетаться с задним планом. Все остальные части цифрового целлулоидного листа прозрачны — с альфой, равной нулю.
В программе «сканируй и раскрашивай» создать альфа-канал для карандашного рисунка не так уж и сложно. Сам рисунок и есть собственный альфа-канал (ну или, если быть точнее, негатив рисунка). Рисунок делается черным карандашом на белом фоне, поэтому его негатив будет белым на черном фоне. Предположим, отсканированный рисунок находится в 8-битном кадровом буфере, где 255 (все биты равны единице) соответствуют белому пикселю, а 0 (все биты равны нулю) — черному. Оттенки серого на отсканированном рисунке находятся в диапазоне от 254 до 1. Давайте выберем один из них, например значение серого 100. Чтобы получить альфа-канал для рисунка, нужно вычесть каждый пиксель из белого (255) — так и создается негатив изображения. Таким образом, белый пиксель в альфа-канале имеет значение 255–255, или 0. Он прозрачен. Черный пиксель в альфа-канале имеет значение 255–0, или 255. Он непрозрачен. А серый, например 100, в альфа-канале принимает значение 255–100, или 155, что соответствует частичной непрозрачности (разделим 155 на 255 и получим примерно 61 % непрозрачности). Любые области, залитые непрозрачным цветом, будут, конечно, полностью непрозрачными, с альфой 255.
Идея альфа-канала кажется тривиальной, но на самом деле очень глубока. Мне потребовалось много лет, чтобы осознать всю ее глубину. Следующий шаг в ее развитии несколько лет спустя сделали наши коллеги из Lucasfilm Том Портер и Том Дафф, которые добавили к новому каналу «алгебру» — нетривиальное расширение элементарной идеи. И еще они заметили, что, если сохранять в пикселе цвета, «предварительно умноженные» на альфу, вместо необработанных, получится сэкономить огромное количество умножений, которые не нужно будет делать каждый раз, когда изображение восстанавливается в кадровый буфер. Тогда умножение еще оставалось медленным и дорогим. Мы вчетвером получили премию Технической академии за совместный вклад в цифровое кинопроизводство — универсальный метод комбинирования цифровых изображений.
Многие популярные программы без альфа-канала не стали бы сегодня такими, какие они есть. На ум сразу приходят Adobe Photoshop и Microsoft PowerPoint. Но даже операционные системы вроде Windows и MacOS используют альфа-канал для создания всплывающих значков, закругленных углов и частично прозрачных окон.
Компания Altamira Software, которую я основал много лет спустя, после Pixar, строилась на идее, вытекающей из улучшенного алгоритма альфа-канала:
В альфе нет ничего, требующего подчинения Центральной Догме, хотя альфу, безусловно, часто используют и в ритуалах, связанных с ее почитанием. Однако программы для рисования и их родственники, такие как Photoshop, не подпадают под действие Центральной Догмы, равно как и Altamira Composer.
Неудивительно, что, обладая таким количеством сотрудников с университетским образованием, Лаборатория компьютерной графики в Нью-Йоркском технологическом институте напоминала академическую кафедру. Все решения принимались согласованно и коллегиально, а публикации и академическая слава заботили нас даже больше, чем зарплата или должность. Как и на университетской кафедре, никто не хотел быть заведующим, поэтому эту неблагодарную обязанность взял на себя Эд Катмулл. Сотрудники не получали указаний от руководства, хотя Эд время от времени ставил перед нами задачи. Как правило, каждый просто выяснял, какие проблемы наиболее актуальны, и самостоятельно искал пути их решения. Но все знали, что лаборатория — это подарок судьбы, хорошо финансируемый исследовательский рай, а потому все работали с максимально возможным усердием. Каждый день в этом райском саду распускались цветы новых открытий! Мы давали имена всем новым растениям и животным и собирали все низко висящие плоды.
Деликатный стиль управления Эда идеально подходил для небольшой группы самодостаточных интеллектуалов. Но с годами мы мало-помалу начали понимать, что он обладает талантом настоящего руководителя и предпринимателя. Он создал в лаборатории отдел аппаратной разработки и организовал небольшую группу, занимавшуюся цифровым звуком. Без управленческих талантов Эда ничего подобного точно бы не появилось. Он использовал свои связи в Университете Юты, время от времени привлекая в лабораторию новых людей, по крайней мере на лето. Лэнс Уильямс и Гарланд Стерн как раз были первыми из этих временных летних гостей в 1975 и 1976 годах. Многие, как Лэнс и Гарланд, задержались надолго, став постоянными сотрудниками.
Аспирант Университета Юты Джим Блинн был из тех, кто не задержался. Он присоединился к нам тем же летом 1976 года. Он, высокий и неуклюжий длинноволосый мужчина (таким остается и до сих пор), постоянно носил свитер особого зеленого цвета, который связала его мать. Он, настоящая звезда в сфере технологий, притворялся угрюмым и суровым, но тем самым лишь маскировал широту души и специфическое чувство юмора.
Прежде чем покинуть нас, Блинн сделал анимацию трехмерного сливочника (из знаменитого чайного сервиза Мартина Ньюэлла) с наложением текстуры и трехмерного «человечка», который бегал по кругу, с реалистичным затенением относительно фиксированного точечного источника света. Разрываясь между Университетом Юты и нашей лабораторией, он также экспериментировал с новой техникой затенения, которая называлась
Как и при наложении текстур, от одного изображения зависит внешний вид другого. То есть один массив визуализированных отсчетов управляет видом геометрической поверхности, когда она визуализируется в другой массив. В данном случае управляющее изображение влияет на
Рельефная карта продвигает методы затенения вперед на два порядка по закону Мура. Она доводит понятие множественных флагштоков (помните, как я рисовал их на треугольнике?) до предела. Пиксели контрольного изображения (показанного на рисунке 7.30 в центре) меняют направление воображаемого флагштока на геометрическом элементе
Рельефная карта увеличивает количество флагштоков. Теперь они располагаются не в некоторых точках по углам треугольника, а по одному в каждой точке. Каждый пиксель рельефной карты может иметь разное значение угла к направлению источника света. Используя классическую реконструкцию согласно теореме Котельникова (разбрасывайте и складывайте каждый отсчет), поверхность вершин флагштоков генерируется на основании карты рельефа, чтобы создавать настолько сложные поверхности, парящие над треугольниками, насколько вам нужно. Вы не можете увидеть саму парящую поверхность, но вы можете увидеть различные неровности — то самое воздействие, которое она оказывает на затенение.
Не вдаваясь в тригонометрические подробности, достаточно сказать, что из-за манипуляций с точками на поверхности мы видим на ней неровности, которых там на самом деле нет — в том смысле, что они не содержатся в геометрической модели поверхности.
Блинн начал разрабатывать свою идею в 1976 году в Юте и продолжил во время рождественского визита в нашу лабораторию, но довел ее до совершенства только к 1978 году, когда выступил с докладом о ней на Siggraph, ежегодной конференции по компьютерной графике. Тем временем в Университете Юты эта идея стала частью его докторской диссертации. На рисунке 7.31 показаны его анимируемые сферы с рельефным изображением (с силуэтами без выступов) в порядке растрового сканирования (1977).
В итоге Блинн выбрал работу в Лаборатории реактивного движения в Пасадене. Там он расцвел и прославился, создавая фильмы о полетах космического корабля «Вояджер». Каждый из них имитировал прохождение «Вояджера» мимо одной из планет, например Юпитера. Для текстурных карт Блинн использовал фотографии планет, полученные Лабораторией реактивного движения непосредственно с «Вояджера». Этой работой Блинн занимался на долгие годы, благодаря чему Лаборатория реактивного движения попала на карту важнейших мест в истории компьютерной графики.
Рис. 7.30
В 1977 году Эд привез с собой на Лонг-Айленд еще двух коллег из Юты. Официально ни Эфраим Коэн, ни Дуэйн Палика не учились в Университете Юты, но они продемонстрировали, что могут быть нам полезны, поэтому Эд взял их на работу в нашу лабораторию. Оба были художниками
Художника Эфраима я уже упоминал в предыдущей главе. Он работал с Роном Беккером над анимационной программой Genesys на TX-2 в Массачусетском технологическом институте. Как художник, он восхищал нас проницательными карикатурами, такими как приведенная в начале подглавы карикатура на сотрудников лаборатории, датированная примерно 1977 годом (рис. 7.25). Он принес нашей лаборатории множество программ для работы с пикселями, в том числе еще одну программу для рисования. Спустя годы после работы в Нью-Йоркском технологическом институте его самым заметным вкладом в Цифровой Свет — настоящим храмом — станет многоэтажный фасад здания NASDAQ на Манхэттене, выходящий на Таймс-сквер. Эфраим внес значительный вклад в его проектирование и реализацию.[42]
Дуэйн Палика участвовал в выставке «Кибернетическая прозорливость» 1968 года и изображен на обложке книги «Художник и компьютер», где он рисует автопортрет с помощью компьютерной программы и зеркала. Он написал одну из немногих программ в нашей лаборатории, которая визуализировала трехмерные объекты. Она работала мучительно медленно и в большей степени напоминала, как сильно мы нуждались в законе Мура, чтобы реализовать свои намерения.
В нашей лаборатории в Нью-Йоркском технологическом институте уже зарождалось двумерное цифровое производство — с помощью Tween, TintFill и Paint3, — но наша среда разработки программного обеспечения застряла в средневековье. Мы бы никогда не добрались до Фильма такими темпами. Я имею в виду не слабость нашей техники по закону Мура, а наши неэффективные программные инструменты. Мы знали, что даже при нынешнем уровне развития компьютеров можно добиться большего. Нам нужен лишь «хороший» язык программирования.
Мы с Эдом Катмуллом отлично знали, что такое плохой язык программирования. Мы оба преподавали Фортран (как мы говорили, навязанный публике компанией IBM), и оба его ненавидели. Мы заранее решили, что откажемся от него в Нью-Йоркском технологическом институте и будем программировать на утомительном ассемблере (подробнее смотрите в главе о Тьюринге), ожидая появления хорошего языка программирования.
Рис. 7.31
И однажды наше терпение вознаградилось. Мы узнали о новом элегантном языке программирования под названием C (да, всего одна буква — произносится как «си»). Он появился как часть новой операционной системы Unix. И язык, и сама система показались нам красивыми и логичными, поэтому мы сразу же купили их по специальной цене для университетов, заплатив около 100 долларов. Эду о Unix рассказал Рон Беккер, тем самым сделав еще один ценный вклад в нашу работу.
Как я объяснял в главе о Тьюринге, операционная система — это постоянно работающая программа, такая как Windows, MacOS или Android (ОS — это сокращение от
Unix создали Кен Томпсон и Деннис Ритчи из Bell Labs, а Ритчи разработал язык программирования C. В 1983 году они получили за это премию Тьюринга. Unix сейчас является одной из основных операционных систем в мире. MacOS — это ее адаптация, а C — очень популярный язык программирования. Первую копию одной из самых ранних версий Unix C привез в Нью-Йоркский технологический институт сам Кен Томпсон. Он приехал к нам на желтом Corvette Stingray прямо из Bell Labs в Нью-Джерси.
Никто из нас в Лаборатории компьютерной графики тогда особо не интересовался системным программированием и не разбирался в Unix. Нам требовался эксперт по этой операционной системе. Рон Беккер предложил нам рассмотреть кандидатуру его студента из Университета Торонто. Так мы познакомились с Томом Даффом. Он приехал на собеседование в Нью-Йоркский технологический институт в 1976 году.
Он сильно отличался от нас. Не из Юты, не из E&S или Xerox PARC и даже не американец. До его появления единственным канадцем в нашей лаборатории был сам дядя Алекс.
Том оказался на удивление застенчив. Он почти ничего не говорил на собеседовании. Следовательно, его встречи с различными сотрудниками лаборатории оказались довольно короткими и малоинформативными. Вскоре мы поймали себя на мысли, что коллективно гадаем, чем занять нашего молчаливого кандидата в оставшиеся часы до его запланированного отъезда.
Тогда кто-то предложил Тому попробовать свои силы в Unix-игре, созданной Гарландом Стерном, — текстовой игре с несколькими вариантами ответов. Правильный ответ переводил вас на другой уровень сложности Unix. Цель игры состояла в том, чтобы научить остальных, как работает Unix. Ни у кого из нас не получалось ее пройти. Мы не особо разбирались в запутанных тонкостях Unix — даже сам Гарланд, честно говоря, знал немногим больше остальных.
Когда Том услышал об игре, он схватил клавиатуру и разобрался с ней примерно за пять минут. Он справился с ней, как с легкой детской головоломкой. Очевидно, мы нашли своего эксперта по Unix! Мы вцепились в него, и до 2021 года он проработал в Pixar, гуру хакеров и великий старик. Его гений в компьютерной графике простирается далеко за пределы Unix.
Несмотря на множество разных аспектов Цифрового Света, я решил сосредоточиться только на путях, ведущих к цифровому кино. То есть я концентрируюсь на их вкладе в Великую цифровую конвергенцию. Поэтому я игнорирую всю историю программ для обработки изображений, все симуляторы и игры в реальном времени, все интерфейсы приложений и всю компьютерную графику, не предназначенную для полнометражной кинематографической персонажной анимации. По практическим соображениям — из-за ограниченного объема одной главы и моего нежелания загромождать вашу память бесконечными списками имен — я придерживаюсь маршрута, ведущего к созданию трех компаний: Pixar, DreamWorks и Blue Sky. Соответственно, за некоторыми исключениями, я почти не упоминаю многие другие компании и отдельных исследователей, вовлеченных в развитие компьютерной графики в рамках революции Цифрового Света. Это также означает, что я слегка затрону историю DreamWorks и Blue Sky.
Поскольку мой личный опыт строится по оси «Нью-Йоркский технологический институт — Lucasfilm — Pixar», именно о них я буду рассказывать гораздо подробнее. Но, даже говоря об этих замечательных местах, я не смогу изложить их историю во всех подробностях. Скорее я пойду по тем тропам истории программного обеспечения, которые ведут к цифровому кино. И эта глава, безусловно, не содержит подробной истории двух других путей: Pacific Data Images — DreamWorks и MAGI — Blue Sky. Я в большей степени стремлюсь показать их взаимодействие и влияние друг на друга, а не представить всех людей и описания всех технологий на двух других основных путях цифрового кино в начале тысячелетия.
Надеюсь, кто-то еще напишет подробные исторические исследования. Ни для DreamWorks, ни для Blue Sky пока что ничего подобного не сделано. Что же касается лет, проведенных в Нью-Йоркском технологическом институте и Lucasfilm, я едва ли смогу превзойти книгу Майкла Рубина «Создатель дроидов» («Droidmaker») 2006 года. Рубин писал ее на основании интервью с теми, кто там работал, и добился невероятной точности во всех деталях. Точно так же я рекомендую «Магию Pixar», прекрасную историю чуть более позднего периода Lucasfilm и ранних дней Pixar, книгу, изданную историком Дэвидом Прайсом в 2008 году, которую он писал на основе архивных материалов, а не журналистских уток. Здесь же я перечисляю только самые важные события в Нью-Йоркском технологическом институте и Lucasfilm и только те, которые касаются людей, сформировавших киностудию по созданию цифровых фильмов Pixar.
В частности, Том Дафф, Эд Катмулл, Дэвид Ди Франческо и я перешли в Lucasfilm, а затем в Pixar. Двое других сотрудников из Нью-Йоркского технологического института тоже пошли по нашим стопам. Малкольм Бланшар, один из первых четырех всадников, ушел из Нью-Йоркского технологического института задолго до нас, но снова присоединился к нам в Lucasfilm. Новичок Ральф Гуггенхайм, пришедший в институт почти в самом конце, сыграл ключевую роль в последующем переходе в Lucasfilm. Эд и я вместе основали Pixar, а Дэвид, Малкольм и Ральф стали сотрудниками-основателями.
Но не только мы работали над Великой цифровой конвергенцией. Наши единомышленники исследовали границы технологий в Корнелле и в MAGI.
Лаборатория компьютерной графики Нью-Йоркского технологического института располагалась на Лонг-Айленде, в нескольких милях к востоку от Нью-Йорка. К северу от города, в округе Вестчестер, находился еще один центр компьютерной графики — Mathematical Applications Group Inc. (MAGI). В 1972 году компания добавила компьютерную графику в перечень своих математических предложений. Таким образом, Нью-Йоркский технологический институт и MAGI были графическими центрами на юге штата.
Одновременно с нами на севере штата компьютерной графикой занималась группа Дона Гринберга в Корнеллском университете. В нее входили Марк Левой и другие студенты Гринберга, которые создали «Корнеллский фильм» в 1972 году.
Мы, работавшие в Нью-Йоркском технологическом институте, в течение нескольких лет один или два раза побывали в MAGI, но более тесно сблизились с корнеллцами — академической группой, такой же, как и мы. Гринберг позаботился, чтобы либо мы посещали его учреждение в Итаке, либо он и его студенты приезжали к нам в лабораторию один или два раза в год.
У нас был богатый покровитель — дядя Алекс Шуре, — поэтому в плане первоклассного оборудования мы всегда опережали Корнелл, но и он никогда не отставал. У нас появился первый в мире 24-битный кадровый буфер. Год спустя или около того им обзавелся и Корнелл. Мы сотрудничали с аниматорами Нью-Йоркского технологического института. Вскоре Марк Левой из Корнелла начал работать с мультипликационной компанией «Ханна-Барбера», прославившейся «Флинтстоунами». Наконец, в 1978 году я опубликовал статью с описанием алгоритма преобразования цвета HSB (также известного как HSV), который реализовал в 1974 году в Xerox PARC. В том же журнале вышла статья про аналогичный алгоритм Джорджа Джоблова из Корнелла.
Отношения с MAGI тоже постепенно выстраивались. Все началось с Дэвида Ди Франческо, который искал для лаборатории записывающее устройство с качеством, подходящим для фильма. Вскоре круг его поисков сузился до двух компаний: Celco и Dicomed. По той же причине (компьютерная анимация) в MAGI интересовались видеомагнитофоном и рассматривали Celco. Получилось так, что Карл Людвиг, консультант Celco, назначил встречу в MAGI. Таким образом, примерно в 1975 или 1976 году у нас состоялся первый продолжительный контакт с MAGI. В конце концов Дэвид остановил выбор на Dicomed. Но он подружился с Карлом Людвигом на всю жизнь, и мы впервые увидели MAGI изнутри. А десять с хвостиком лет спустя Карл стал соучредителем Blue Sky Studios.
В Xerox PARC в 1974 году я сделал видеоарт с использованием цветной растровой графики. Я назвал его Vidbits. После моего возвращения из Калифорнии в Нью-Йорк он стал моей визитной карточкой. Я демонстрировал его в местном художественном сообществе — там никто прежде не видел ничего подобного.
Поэтому, когда известный художник Эд Эмшвиллер посетил Нью-Йоркский технологический институт, чтобы снять фильм, я ухватился за подвернувшийся шанс. Эмш начинал творческую карьеру в Париже с абстрактной живописи. В 1950-х годах он сделал себе имя, рисуя обложки для журналов
Мы услышали об Эмше из телевизионной передачи PBS, посвященной искусству, — и с удивлением узнали, что он живет на Лонг-Айленде, в соседнем Левиттауне! Кто-то сказал: «Давайте пригласим его к нам», — а я ответил: «Кажется, нам не стоит утруждаться. Он сам нас найдет».
Так и получилось. Очевидно, Эмшвиллер следил за развитием высоких технологий и новых медиа. Однажды он, как и предполагалось, появился в лаборатории и объявил, что получил стипендию Гуггенхайма на создание трехчасового фильма. Он хотел разделить ее с нами, но по срокам требовалось уложиться в шесть месяцев. Мы покатились со смеху. Пришлось объяснять расстроенному и озадаченному художнику, что мы все еще на самом раннем этапе развития. Если повезет, то за шесть месяцев получится сделать примерно три минуты.
Но мы не боялись сложных задач. Так начался второй в моей жизни важный совместный художественный проект после нашей работы с Дэвидом Ди Франческо. Я, технарь с художественными наклонностями, обожал искусство. Эмш, художник с техническими наклонностями, обожал новые технологии. Я нашел с ним общий язык, как и с Дэвидом.
Наш рабочий процесс протекал следующим образом. Эмш описывал художественную концепцию. Например, сначала он предложил сделать человеческое лицо, пробивающееся сквозь каменную глыбу. Я ответил, опираясь на наши технические возможности и закон Мура: «Когда-нибудь мы сможем это сделать, Эмш, но не сейчас. Но если вы немного измените свою концепцию, тогда все получится». Я объяснил, что могу сделать двумерное изображение лица, возникающее из плоского камня, если смотреть только строго анфас. Тогда он сказал: «Ну, если ты можешь сделать это, тогда как насчет…» — и так далее. Мы перебрасывались идеями, пока не пришли к обоюдному варианту художественной концепции, доступной для реализации в эпоху мучительно медленных вычислений. Получился еще один джем-сейшн. На рисунке 7.32 (слева) мы за работой (Эмш справа) над «Sunstone». Изображение солнца магически зависло перед нами в пространстве за пределами цветного дисплея, потому что камеру слегка сдвинули в процессе съемки с двойной экспозицией — свет в комнате включали, чтобы заснять нас, а затем выключали, чтобы получилось изображение на экране. Мы оба пришли к выводу, что возникший «технический брак» идеально отражает ход нашего творчества.
В работе принимали участие еще двое моих коллег по лаборатории, Лэнс Уильямс и Гарланд Стерн. Лэнс добавил плавно плавающий по экрану язык, а Гарланд сделал двумерную оцифровку в реальном времени аналоговой видеозаписи, запечатлевшей сына Эмша, Стони (в его честь фильм и получил название). Гарланд использовал ту же методику оцифровки видеокадров и то же оборудование, которое применялось для работы с рисунками аниматоров в системе «сканируй и раскрашивай». Он взял пиксели из реального мира с монохромной видеокассеты, а не сделал их на компьютере. Но он прогнал набор из серых пикселей через 8-битную цветовую карту для получения эффекта псевдоцветной радуги. Таким образом, в фильме «Sunstone» смешивались обработанные изображения и компьютерная графика Цифрового Света.
«Sunstone» стал первым образцом цветной растровой графики в коллекции нью-йоркского Музея современного искусства. Это не цифровое видео (такового еще не существовало), но каждый кадр в нем — это растр из пикселей, а следовательно, Цифровой Свет. Только сам носитель еще не был цифровым. И не мог стать таким до Великой цифровой конвергенции, когда в 1998 году появился стандарт HDTV — телевидения высокой четкости.
Для создания «Sunstone» мы использовали три различные технологии Цифрового Света: двумерные интерактивно нарисованные пиксели, оцифрованное видео в реальном времени и трехмерную компьютерную графику, сделанную не в реальном времени.
Нарисованные пиксели создавались с помощью Paint3. Пиксели из видео оцифровывались в режиме реального времени с помощью системы, которую Гарланд Стерн сделал для аниматоров Нью-Йоркского технологического института. Но в 1979 году силы закона Мура еще не хватало для рендеринга полноценных длительных трехмерных анимационных сцен из нескольких объектов с удалением артефактов дискретизации. Конечно, нечто похожее уже появлялось, но еще не было полноценной реализации. Поэтому я написал программу под названием Texas (сокращение от Texture-Applying System — Система наложения текстур). Она упрощала наш воображаемый мир до двумерных плоскостей, встроенных в трехмерное пространство. Я называл каждую плоскость «планом», как в сценической постановке, а все вместе они образовывали «набор декораций». На каждом плане отображалась картинка в виде текстурной карты. При изменении текстуры в каждом кадре на плане отображалась двумерная анимация, перемещавшаяся в трехмерном пространстве. В трехмерной сцене допускается какое угодно расположение планов. В этом стилизованном мире действовала Центральная Догма: виртуальная камера располагалась за сценой, и все, что открывалось ее обзору, преобразовывалось с учетом линейной перспективы в окончательные кадры для видеоизображения.
Рис. 7.32
Чтобы вы осознали, какие мучения мы претерпевали (даже с ограничениями в виде плоских планов), скажу лишь, что рендеринг последовательности взрывающихся кубов в «Sunstone» занял 56 часов, хотя на экране она длилась всего 18 секунд. Но это была трехмерная растровая графика с текстурным отображением и полным сглаживанием. На трех гранях куба, вращающегося в пространстве, демонстрировалась двумерная анимация: одна грань содержала анимацию, нарисованную вручную Эмшем, другая — видео в реальном времени, снятое Гарландом Стерном, а третья — анимированное солнце, которое сделал я.
Эмш покинул лабораторию в конце 1979 года, чтобы стать ректором Калифорнийского института искусств, той самой первой частной высшей школы, которую Уолт Дисней специально основал, чтобы готовить аниматоров для своей студии. Вначале я ездил туда, чтобы повидаться с Эмшем, а в 1990 году приехал, чтобы поделиться воспоминаниями о нем и оплакать его смерть вместе с сотнями других людей. Калифорнийский институт искусств будет иметь огромное значение для нашей истории. И тот стиль работы, который практиковали мы с Эмшем, предвосхитил сочетание художественного и технического творчества, которое в итоге так замечательно сработает в Pixar.
На протяжении последних двух лет в Нью-Йоркском технологическом институте происходили тревожные события. Эд Катмулл пригласил на работу Джима Кларка, доктора наук из Юты, чтобы тот разработал в нашей лаборатории наголовный дисплей, такой же, как у Айвена Сазерленда. Благодаря присутствию Джима мы обнаружили, что наш покровитель дядя Алекс тоже был мелким тираном, хотя и не шел ни в какое сравнение с Наполеоном, Сталиным или Дядей Сэмом.
Появление Джима стало для меня большой неожиданностью. Он приехал из Техаса и говорил с тем же южным акцентом, что и я. Мы как земляки быстро нашли общий язык. Он вырос в Плейнвью, штат Техас, примерно в 80 милях к востоку от моего родного города Кловис, штат Нью-Мексико. Однако на этом наше сходство заканчивалось. Джима выгнали из средней школы Плейнвью за драку. Он поступил на службу в военно-морской флот, где результаты теста на интеллект показали, что он очень умный человек. Поэтому он продолжил учебу в вечерней школе, добился приглашений от нескольких колледжей, а в итоге получил докторскую степень по компьютерной графике в Университете Юты.
Но в Нью-Йоркском технологическом институте работа у него не задалась. Он почти сразу испортил отношения с Александром Шуре. По прошествии многих лет я понимаю, в чем причина. В отличие от остальных сотрудников нашей лаборатории, Джим обладал мощным предпринимательским даром. Шуре увидел в нем конкурента, а не сотрудника. Джим быстро обнаружил проблему, понял, что не найдет общего языка с Шуре, и приступил к поискам другой работы. Письма потенциальным работодателям он писал прямо в лаборатории на текстовом процессоре, который совсем недавно вошел в обиход.
Однажды утром Шуре ворвался в лабораторию, размахивая ворохом распечатанных писем, обвинил Джима в намерении украсть наши секреты и реализовать их в другом месте, после чего объявил о его увольнении. Нам все происходящее казалось какой-то чудовищной нелепицей. Джим ни от кого не скрывал, что ищет другую работу. И он был слишком умен, чтобы пытаться украсть наши технологии. Наш «секрет» заключался в лучшем на тот момент аппаратном обеспечении. Все идеи, реализованные на этом оборудовании, были общественным достоянием. Короче говоря, мы не поверили обвинениям дяди Алекса.
Мы также недоумевали, откуда взялись распечатки. Сам дядя Алекс вряд ли стал бы заниматься цифровым шпионажем. Напрашивался только один вывод: у нас в лаборатории завелся крот! Мы строили догадки, но так ничего точно и не узнали. Это, впрочем, уже не имело значения, поскольку увольнение Джима открыло для нас новую ипостась Александра Шуре — злую и мстительную. Он поступил с нашим другом несправедливо, поэтому у каждого в голове зажегся предупредительный красный сигнал. Что касается предпринимателя Джима Кларка, то он впоследствии стал сооснователем Silicon Graphics, компании по производству аппаратного обеспечения, сыгравшей важную роль в развитии компьютерной графики, а затем Netscape, компании-первопроходца в области интернет-браузеров.
Наши сомнения относительно Шуре и его способности снять цифровой фильм росли. Мы с Эдом и раньше почти каждый год бывали в студии Disney. Мы полагали, что лучше бы нас финансировал Дисней, а не Шуре. Все-таки его анимационная компания лидировала на рынке, мы оба обожали ее мультфильмы в детстве, и, конечно, там водились огромные деньги. Мы не сомневались, что сам Уолт, будь он жив, поддержал бы нас, не колеблясь ни минуты. Но каждый год в студии Disney повторялась одна и та же история. Сначала нас спрашивали: «Мальчики, а вы умеете делать мыльные пузыри?» Нет, тогда мы еще не умели, но на следующий год они обнаруживали, что мы не можем делать что-то еще, например пар или дым. В очередной поездке в январе 1977 года нас с Эдом сопровождал Дик Шауп.
Мы встретились с Доном Дакволлом (да!
Мы удивились и обрадовались, что Дон Дакволл пришел и даже проявил энтузиазм (хотя и сдержанный): «Я верю, что теперь вы можете делать мыльные пузыри». Он предположил, что их могут заинтересовать наши разработки для спецэффектов. На семинар пришла большая группа примерно из тридцати человек — большинство из них молодые энергичные ребята, которым понравилось увиденное, особенно всякие трехмерные штуки.
Но самое большое удовольствие во время визитов в студию Disney мы получали от общения с великими стариками: аниматорами Фрэнком Томасом и Олли Джонстоном. Им мы тоже показывали наши штуки.
Похоже, им понравилось увиденное. Они задавали много вопросов, но не знали, что делать с полученной информацией.
Фрэнк и Олли оставались нашими преданными друзьями до самой смерти, когда им обоим было далеко за девяносто.
Однако технические специалисты Disney точно знали, что мы можем, а что не можем. Один из них, Дэйв Снайдер, посоветовал нам особо не рассчитывать на позитивные решения нынешних руководителей студии. Они нас не поддержат. С другой стороны, он уточнил: «Аб мог бы». Айверкс был в некотором смысле соучредителем Disney вместе с Уолтом, и Снайдер открыто восхищался им.
Самый неловкий из визитов в студию Disney произошел ближе к концу нашей работы в Нью-Йоркском технологическом институте. Александр Шуре отправился туда примерно через неделю после нас. «О, Эд и Элви только что были здесь», — сказал ему кто-то из сотрудников, о чем нам позже с тревогой сообщили по телефону. Дядя Алекс никогда не упоминал об этом, и мы тоже держали язык за зубами. Очевидно, что из обоих визитов ничего не вышло, но мы переживали после увольнения Джима Кларка.
Группе компьютерной графики из Нью-Йоркского технологического института удалось избежать участия в производстве «Табби Тубы» (1975) (рис. 7.33). Мы с Дэвидом Ди Франческо работали над концепциями титров, но, к счастью, они так и не пригодились. Однажды нас всех пригласили в кинозал MGM на Манхэттене на первый показ «Табби». Это было ужасно. Там наличествовало все, что могло пойти не так в классическом анимационном фильме, — например, пыль в кадрах и тени под нарисованными линиями.
Но «Табби» все же выполнил одну задачу — вдохновил ви́дением, которое долгие годы будет вести нас вперед. Конечно, не сам «Табби», а процесс его производства. Рутинные подробности технического процесса, когда мы вникли во все его детали, дали нам понять, что компьютеры станут прекрасными ассистентами кинопроизводства, ведь они облегчают рабочую нагрузку, отслеживают запутанную логистику и повышают качество. Отсюда мы закономерно перешли к мысли, что у нас есть шанс когда-нибудь стать первой командой, которая сделает полностью компьютерный фильм. Лэнс Уильямс вскоре предложил идею фильма под названием «The Works» с роботом по имени Ипсо Факто (латинское выражение, означающее «само по себе») в главной роли. Но мы с Эдом произвели предварительные расчеты по закону Мура и поняли, что на тот момент его задумка неосуществима. Никто из нас не догадывался, что до реализации идеи первого полностью цифрового фильма пройдет еще целых 20 лет.
Рис. 7.33
Почему она заняла так много времени? Основная загвоздка заключалась в недостаточном уровне развития техники по закону Мура. Но мы знали, что со временем проблема решится. С технической точки зрения нам предстояло преодолеть несколько ключевых трудностей. Самая важная из них — проблема размытия движения. С художественной точки зрения нам требовалось придумать, как наиболее деликатно связать художников с нашими машинами. На примере программы Tween мы убедились, что сложный интерфейс работает плохо. Нам пришлось освоить новый способ анимации трехмерных объектов. А еще мы искали художников, которые смогли бы работать с нашим оборудованием и программным обеспечением.
8. Новое тысячелетие и Фильм
Закон Мура 1000X (1980–1985)
Затем внезапно Земля совершила оборот — больший, чем обычно. Однажды утром в начале 1979 года с Ральфом Гуггенхаймом из Нью-Йоркского технологического института связался Джордж Лукас из Lucasfilm. Ну, не сам Лукас, а его представитель, Боб Гинди.
Мы предполагали, что однажды нам позвонят из студии Disney, но этот звонок стал полной неожиданностью. О Лукасе мы знали лишь то, что его «Звездные войны» (1977) поразили всех — а особенно нас — своими визуальными эффектами. Ходили слухи, что при создании фильма использовались компьютеры, но мы точно не знали, как именно. Мы определенно заметили, что он использовал сгенерированную компьютером черно-белую каллиграфию нашего друга Ларри Кубы для планирования нападения на Звезду Смерти. Джордж Лукас достиг успеха в режиссуре, в отличие от Александра Шуре. Возможно, это был наш шанс?
По словам Ральфа, Гинди позвонил ему в январе или феврале 1979 года и, представившись начальником производственного отдел студии Lucasfilm, сказал, что Джордж Лукас хочет модернизировать киноиндустрию с помощью компьютерных технологий.
— У Джорджа есть четыре проекта, которые он хочет развивать.
— Хорошо, какие? — спросил Ральф.
Гинди упомянул компьютеризированный монтаж, компьютеризированную обработку и микширование звука, а также компьютеризированные спецэффекты.
— А четвертый? — спросил Ральф.
— Компьютеризированный бухгалтерский учет, — заявил Гинди так, будто речь шла о не менее сложной технологической задаче, чем три других. И он продолжал пересыпать разговор соблазнительными намеками о прекрасной жизни в калифорнийском округе Марин и высокой стоимости местной недвижимости.
— Извините, напомните, какая у вас должность? — уточнил Ральф.
— Ну, я возглавляю отдел недвижимости у Джорджа, — признался Гинди. — В нашей компании никто ничего не знает о компьютерах, поэтому я позвонил главе компьютерного отдела Стэнфорда, — продолжил он. — Когда я описал, чего хочет Джордж, он сказал: «На самом деле мы здесь таким не занимаемся, но вам следует связаться с Раджем Редди из Университета Карнеги — Меллона. Он увлекается графикой».
Ральф Гуггенхайм недавно выпустился из Университета Карнеги — Меллона, и Редди его хорошо знал. Именно он перенаправил Гинди в Нью-Йоркский технологический институт. Мы с Эдом сидели в одной из комнат Gerry House, особняка Нью-Йоркского технологического института, где располагалась лаборатория, когда Ральф ворвался с известием о звонке Лукаса (конечно, имея в виду звонок Гинди). Из-за недавнего инцидента с Джимом Кларком мы попросили Ральфа немедленно замолчать и закрыть дверь, прежде чем он успел сказать что-нибудь еще.
Лишь значительно позже мы узнали, что Лукас вовсе не собирался использовать в своих фильмах наш опыт и экспертизу в компьютерной графике. Он просто искал специалистов для модернизации парка машин, используемых Голливудом, и помощи с логистикой кинопроизводства. Но мы вообразили, будто Лукас хочет найти кого-нибудь, чтобы делать контент для его фильмов, как Ларри Куба. В конце концов, в списке Гинди «компьютеризированные спецэффекты» занимали такое же место, что и бухгалтерия.[43]
Немного позже установились официальные контакты, выражающие заинтересованность. Из-за потенциального наличия крота мы с Эдом не доверяли компьютерам в лаборатории. Мы отправились из кампуса в близлежащий городок Глен-Коув, где взяли напрокат одну из этих гигантских старинных черных пишущих машинок из чугуна, напоминающих немецкую «Энигму». Затем мы отправились домой к Эду, чтобы написать письмо в Lucasfilm.
Это самое важное письмо в нашей жизни. В течение нескольких часов мы с Эдом тщательно составляли текст, а я печатал. До сих пор жалею, что мы не сохранили копию этого письма. Но некоторые моменты я помню. Один был особенно необычным. Мы обладали самой продвинутой лабораторией в мире и не хотели оказаться в худших условиях. Поэтому мы настаивали, чтобы кто-нибудь из Lucasfilm посетил Нью-Йоркский технологический институт и посмотрел, как хорошо — даже роскошно — у нас все организовано. И мы дали понять, что визит должен быть анонимным. И люди со студии Lucasfilm действительно нанесли визит в лабораторию, но вряд ли он получился анонимным. К нам приехал управляющий недвижимостью Боб Гинди, человек довольно скромный, но его сопровождал Ричард Эдлунд, руководитель отдела спецэффектов Lucasfilm, обладатель премии «Оскар». Эдлунд носил ремень, на гигантской пряжке которого красовалась крупная надпись «Звездные войны». Эд и я насторожились, но продолжили демонстрацию. Естественно, по поводу пряжки каждый встречный отпускал остроумные замечания, но, кажется, никто не догадался сделать очевидный вывод.
Я спросил Эдлунда, как он собирается провести остаток этого важного дня. Был ли он когда-нибудь на Манхэттене? Нет, не был. Я собирался гулять весь вечер и пригласил его присоединиться. «У меня нет конкретного плана. Я просто хожу и смотрю, что происходит». Он принял мое предложение. Большую часть ночи мы бродили по Манхэттену. Стояла теплая погода, и на улицах было многолюдно. Орудовали шулеры, зазывавшие прохожих угадать одну из трех карт, и Эдлунд сфотографировал их за работой. Мы зашли в Гринвич-Виллидж и попали на концерт авангардной музыки. Мы болтали о разном и, наконец, около четырех утра завершили прогулку в кофейне, наслаждаясь аффогато. Я полагал, что возникшая в тот вечер симпатия приведет к теплому приему в Lucasfilm. Мне даже не пришло в голову, что Эдлунд не искал у нас контент, а изучал наш опыт работы с аппаратным и программным обеспечением.[44]
Вскоре нас с Эдом пригласили посетить штаб-квартиру Lucasfilm, The Egg Factory, в Лос-Анджелесе. Мы отправились туда и встретились с президентом Lucasfilm Чарльзом Уэббером. Мы не встретились с Джорджем Лукасом, но добились определенного прогресса. Впоследствии Эда пригласили во второй раз для встречи с самим Лукасом в округе Марин, недалеко от Сан-Франциско, — там вскоре разместится новая штаб-квартира Lucasfilm.
По итогам второй встречи Лукас пригласил Эда работать у него. По словам Эда, Лукаса впечатлило, что Эд перечислил всех наших конкурентов в качестве альтернативных кандидатов, в то время как ни один из них не упоминал ни нас, ни других. Эд ушел из Нью-Йоркского технологического института в середине 1979 года, чтобы начать реализовывать концепцию Лукаса, касающуюся аппаратного и программного обеспечения студии, а мы продолжали верить, что Лукас использует наши цифровые изображения в своих фильмах.
Итак, наш план был таков: устроить туда Эда. Сделано. Затем, как только получится, он пригласит туда меня, а также Дэвида Ди Франческо. Мы не собирались грабить Нью-Йоркский технологический институт или забирать с собой какие-либо технологии.
Чтобы выполнить наш план и избежать судебного преследования со стороны Шуре, мы с Дэвидом, как мы выражались, «отмыли» себя, покинув лабораторию в октябре 1979 года и устроившись работать к нашему старому другу Джиму Блинну в Лабораторию реактивного движения в Пасадене. Мы работали с ним над телесериалом Карла Сагана «Космос». С Нью-Йоркским технологическим институтом произошел окончательный рызрыв, и именно так все это и воспринимали. Мы открыто заявили Бобу Хольцману, начальнику Джима, что уволимся, как только Эд позовет нас в Lucasfilm. Он сказал: «Возможно, я смогу изменить ваше мнение». «Мы так не думаем», — ответили мы. Lucasfilm притягивала нас. Это была настоящая кинокомпания.
За несколько месяцев, на протяжении которых Эд в одиночку разбирался с ситуацией в Lucasfilm, он решил запустить три проекта по аппаратному обеспечению — компьютерную графику, цифровое аудио и видеомонтаж, — чтобы выполнить требования Лукаса (через год или около того Лукас попросил добавить четвертый проект — игры). Уже тогда нам стоило бы заметить, что вопрос о цифровом контенте даже не стоял. Опять же, мы просто решили, что это само собой разумеется.
Поскольку предполагалось, что я возглавлю отдел компьютерной графики, Эд начал присылать мне резюме кандидатов, когда я еще работал в Лаборатории реактивного движения. Просочилась информация о неких событиях, происходящих в Lucasfilm. Эд начал более серьезные переговоры с Дэвидом о разработке устройства для чтения и записи на кинопленку, которое бы очень пригодилось нам в Lucasfilm. Кинопленка по-прежнему оставалась незаменимым носителем киноизображения, и нам предстояло адаптировать под нее нашу цифровую технологию.
Долгожданный звонок от Эда наконец раздался в начале 1980 года, и я присоединился к нему в Lucasfilm. Через пару недель мы позвонили Дэвиду. Мы делили офис с Марсией Лукас, женой Джорджа, над небольшим антикварным магазином в городке Сан-Ансельмо, округ Марин, куда ведет мост Золотые Ворота из Сан-Франциско. Эд официально назначил меня директором Проекта компьютерной графики, входящего в компьютерное подразделение студии, которым он руководил в целом. Проект цифрового устройства записи на пленку, которым занимался Дэвид, тоже входил в состав Проекта компьютерной графики.
Мы с Эдом приступили к наполнению нашей части мира Lucasfilm сотрудниками. Это было несложно. Все хотели работать в кино. Например, когда мы приехали к Энди Муреру в Стэнфорд, чтобы предложить ему возглавить Проект цифровой звукозаписи, он вскочил со стула, как только мы вошли, и, прежде чем мы успели сказать хоть слово, объявил на всю комнату: «Если вы здесь по той причине, что я думаю, то ответ — да!»
Основная задача, стоящая перед Проектом компьютерной графики, заключалась в замене оптического пленочного принтера цифровым эквивалентом. В 1980 году оптический принтер был, пожалуй, самым недооцененным инструментом в Голливуде. Но он имел принципиально важное значение для создания спецэффектов. При помощи этого аналогового способа создавались композитные изображения в первых «Звездных войнах». Оптический принтер объединяет изображения с нескольких кинопленок в одну. Например, мчащийся в космосе звездолет снимается путем перемещения физической модели перед синим экраном. Затем в оптическом принтере синие части кадра меняются на кадр, изображающий звездный фон в космосе. Или несколько отдельных космических кораблей накладывались, скажем, на пояс астероидов на космическом фоне. Для их цифровой компоновки мы использовали альфа-канал — неудивительно, правда? Лазерный сканер-принтер Дэвида должен был стать устройством ввода-вывода для цифрового оптического принтера, который мы собирались построить.
Дэвид Ди Франческо нацелился на лазерный пленочный сканер, способный считывать и записывать пленку. Но никто никогда раньше не создавал ни сканера, ни лазерного принтера для 35-миллиметровой цветной кинопленки. Дэвид взялся за эту задачу со всей тщательностью, для страховки начав разрабатывать сразу два таких устройства, основанных на конкурирующих лазерных технологиях. Тем самым он заложил основу для своего волшебного превращения из художника и любителя мотоциклов в эксперта по сканерам, лазерным принтерам и цифровой фотографии.
И, конечно, в Lucasfilm нам были нужны кадровые буферы. Вскоре я заключил контракт на создание четырехканального кадрового буфера с Ikonas Graphics Systems из Северной Каролины — компанией, принадлежащей Нику Ингленду и Мэри Уиттон, крутой супружеской паре разработчиков графической аппаратуры. Так появился первый коммерческий графический компьютер с альфа-каналом в качестве стандартного оборудования. Он стал аппаратной основой для программы рисования в пространстве RGBA Тома Портера — той самой, со сплайнами, которая так поразила Рави Шанкара в главе 6.
Алекс Шуре сильно удивил меня, продав программу для рисования, разработанную Нью-Йоркским технологическим институтом, расположенной к югу от Сан-Франциско компании Ampex, где изобретены первые видеокассеты. Самое удивительное, что продал он не мою продвинутую 24-битную программу Paint3, а гораздо более простую 8-битную версию. Ее адаптацией к продукту Ampex под названием Video Art (AVA) занимался молодой программист Том Портер, получивший образование в Стэнфорде. Так что я нанял Тома, моего первого сотрудника Проекта компьютерной графики, чтобы написать программу рисования для Lucasfilm.
Программа для рисования создает цветные пиксели напрямую, в отличие от метода, основанного на Центральной Догме, который визуализирует их из трехмерной компьютерной модели, представленной в перспективе. Paint3 рисовал гораздо большим количеством цветов, чем Paint. Но гораздо важнее прямого доступа к миллионам оттенков возможность делать плавный переход между цветом, которым рисует кисть с мягкими краями, и любыми фоновыми цветами, уже находящимися в кадровом буфере. В результате между мазками краски и фоном не появлялось жестких зубчатых границ, как у Paint с его 8-битным кадровым буфером и всего 256 цветами, доступными в одном изображении.
Работая в Lucasfilm, Том вышел за пределы и 8-битной Paint, и 24-битной Paint3, чтобы написать первую в мире программу для рисования в пространстве RGBA. Она могла рисовать альфа-канал. Когда вы проводите 24-битный штрих с мягкими краями в цветных (RGB, то есть красный, зеленый, синий) каналах кадрового буфера, вы одновременно рисуете непрозрачность каждого пикселя в альфа-канале (A). В Paint3, как только штрих нарисован, он навсегда остается частью изображения. Но в системе RGBA он доступен для повторного использования на других фонах. Именно таким образом штрихи в форме сплайнов, как тот, что я демонстрировал Рави Шанкару, наносились на произвольный фон и могли использоваться повторно. Чтобы иметь полный контроль над цифровым изображением, мы должны иметь полный контроль над его альфа-каналом. RGBA Paint с 32-битными пикселями стал одним из таких важных инструментов, включающим новый альфа-канал в каждое изображение.
Разрабатывая наш цифровой оптический принтер в Lucasfilm в начале 1980-х годов, мы решили создать для него специализированный компьютер, который будет работать в четыре раза быстрее, чем компьютер общего назначения. Дело в том, что наши данные представляли собой пиксели RGBA, и, соответственно, мы могли проводить вычисления для всех четырех каналов пикселя одновременно и параллельно. Это был бы компьютер специального назначения только в том смысле, что он бы предполагал, что его данные представляют собой пиксели. В противном случае это был бы компьютер общего назначения, просто способный к вычислениям чего угодно параллельно в четырех каналах. Другими словами, наш компьютер будет компьютером общего назначения
Фактор четырех каналов — это не увеличение на порядок, но все же существенное ускорение. Машину, вскоре получившую называние Pixar Image Computer, предполагалось использовать как временную замену при нехватке дополнительной вычислительной мощности, пока мы не получим ее в соответствии с законом Мура на любом обычном компьютере. Я не буду подробно останавливаться здесь на этом устройстве, потому что из-за действия закона Мура оно довольно быстро устарело. Однако на какое-то время оно обеспечило нам больше вычислительной мощности, чем любое другое средство компьютерной графики. Но откуда взялось это название?
Однажды, когда мы перекусывали гамбургерами во время обеденного перерыва, я предложил четверым моим сотрудникам из группы графики взять за основу слово
Лорен Карпентер прислал самое впечатляющее резюме из всех, которые я просмотрел, пока «отмывался» в Лаборатории реактивного движения. Он отправил даже не резюме — просто несколько цветных фотографий 8 на 10 с компьютерными изображениями горы, напоминающей гору Рейнир в Сиэтле, неподалеку от офиса Boeing, где он работал. Очевидно, что Лорен освоил мастерство создания
Я тут же позвонил ему, но Лорен отказался что-либо обсуждать, пока я не увижу компьютерный анимационный фильм, который он делал для предстоящей Siggraph, большой ежегодной конференции по компьютерной графике, которая намечалась в конце лета 1980 года в Сиэтле. Мы с Эдом сидели в первом ряду, когда Лорен показывал свой короткометражный фильм «Vol Libre». В нем демонстрировались фрактальные горы — с чайником, утопающим в огромном «естественном» ландшафте, — и, когда зажегся свет, аудитория взорвалась аплодисментами. Сразу после его короткого выступления я бросился на сцену и потребовал: «Сейчас?» «Сейчас», — ответил он. Мы сразу же взяли его в Lucasfilm.
Рис. 8.1
Фракталы — отличный способ использования Усиления для превращения одного треугольника графической модели в миллионы. Эта простая идея показана на рисунке 8.1. Единственный явный шаг, который делаем мы, жалкие человеческие существа, показан в верхнем ряду: мы берем точку на одной из сторон и смещаем ее в трех измерениях на небольшую величину. Например, мы поднимаем среднюю точку над плоскостью исходного треугольника на расстояние, незначительное по сравнению с длиной стороны. Точно так же смещаем точки на двух других сторонах. Фактическое смещение в каждом случае происходит в случайном направлении и на произвольное расстояние, а получившиеся точки соединяются друг с другом прямыми линиями. Другими словами, исходный треугольник заменяется четырьмя меньшими треугольниками, как показано на рисунке, и они оказываются в трехмерном пространстве вместо плоскости. Это шаг 1.
Наша человеческая работа завершена. Компьютер со своей потрясающей способностью Усиления вступает в игру и применяет тот же трюк к каждому из четырех треугольников, только что созданных на шаге 1. В результате получится первая картинка слева в нижнем ряду. Четыре треугольника превращаются в шестнадцать. Это шаг 2. Затем компьютер делает то же самое с каждым треугольником, созданным на шаге 2, чтобы получить второе изображение в нижнем ряду. И так далее, пока наш первоначальный треугольник не станет очень похож на гору. Усиление заменило один треугольник в нашей модели на 1024 треугольника всего за пять шагов. Каждый шаг становится все труднее для человека, но не создает проблем для компьютера. За десять шагов фрактальная техника превращает наш маленький треугольник в гору из более чем миллиона треугольников. А пятнадцать шагов дадут более миллиарда крошечных треугольников. Трудно найти более яркий пример потрясающей работы Усиления. Это также свидетельствует, как легко нас одурачить сложностью.
Лорен прислал мне фотографии фрактальной горы, созданной именно таким образом. Он раскрасил каждый треугольник в соответствующий цвет, чтобы рисунок выглядел как заснеженная гора землисто-коричневого и древесно-зеленого цветов. Было очевидно, что он мастер фрактальных технологий.
Теперь мы знали, как делать горы, но еще одна проблема заключалась в том, что поверхности объектов компьютерной графики всегда казались сделанными из пластика. Посмотрите на пример затенения Фонга с шагом 10X, примерно 1973 год (рис. 7.19). Шар блестяще-синий, с белым, резко очерченным бликом. Он похож на синий пластиковый мяч.
В то время бытовало немало предубеждений о том, как должны выглядеть компьютерные изображения. Люди полагали, что все, созданное на компьютере, будет выглядеть жестким, зубчатым или граненым — одним словом, «компьютерным». По мере устранения проблемных характеристик понятие «компьютерное» эволюционировало, и новым стандартом для внешнего вида компьютерных изображений стало «пластмассовое». Нашему стремлению сделать кино на компьютере вряд ли бы помогло то, что слово
Однако Роб Кук, один из аспирантов Дона Гринберга в Корнелле, придумал, как преодолеть «пластмассовость». Его новая техника позволяла визуализировать поверхности, которые казались сделанными, скажем, из меди, дерева или алюминия, а не из пластика. Он включил в компьютерную графику больше физики, а именно взаимодействие света с материалами. Цвет светового блика и его форма дают людям представление о материале, отражающем свет. Матовый он или глянцевый — тоже имеет значение. Все это относится к
Этот парень тоже должен присоединиться к нам! Поэтому я позвонил Робу и предложил ему работу. Он уточнил, сможет ли на некоторое время остаться в Корнеллском институте и получить степень магистра. «Предложение в силе только сейчас», — ответил я, и он согласился. Позже я узнал, что Дон Гринберг собирался организовать бизнес, основанный на огромном таланте Роба. Однако он счел несправедливым лишать того возможности присоединиться к замечательной группе в Lucasfilm, хотя и очень сожалел об этом. Тем не менее Роб в итоге получил степень у Гринберга.
В Lucasfilm гений Роба Кука расцвел. Он довел процесс затенения до концептуального предела с помощью
Компьютерные вычисления, как описано в главе о Тьюринге, — это список тщательно определенных шагов, выполняющих бессмысленные действия, такие как замена каждой единицы на 0 и наоборот или сдвиг всех битов на одну позицию вправо. Сам Тьюринг сделал первый шаг к компьютерному языку, предложив понятие подпрограммы: короткий список бессмысленных шагов, который часто используется, получает имя; тогда программист может думать о вычислениях как о списке таких подпрограмм, а не как о лежащих в их основе утомительных пошаговых инструкциях.
Я сравниваю понятие подпрограммы с разбиением книги на главы, глав на абзацы, а абзацев на слова. Такая иерархия помогает нам отслеживать огромное количество крошечных бессмысленных шагов — или слов в случае с книгой. Программист обычно знает и бессмысленные шаги, и подпрограммы, как автор знает и слова, и их организацию в абзацы и главы.
Следующий уровень — переход к языку — лишает нас необходимости знать о лежащих в его основе бессмысленных шагах. Мы можем мыслить терминами, имеющими значение для конкретной области, например для затененной или визуализированной компьютерной графики. «Термины» реализованы в виде подпрограмм с фиксированными именами. Но пользователям языка, состоящего из них, не обязательно знать механизм их реализации. Им достаточно уверенности, что она сделана правильно.
Рассмотрим популярную программу обработки текстов Microsoft Word, с помощью которой я пишу вот эту страницу. Как пользователю, вам достаточно символов на клавиатуре или значков в меню — терминов языка Word. У вас нет необходимости знать длинные последовательности бессмысленных шагов в вашем компьютере, которые вызывает каждый из них. Об этом вообще мало кто задумывается. Нажмем на клавишу с буквой «А». По сути, она запускает длинную последовательность шагов, которые помещают букву «А» нужного шрифта, нужного размера и нужного цвета в нужное местоположение на нужной странице и запускают рендеринг буквы, чтобы она отобразилась. Если вы вставите букву в уже напечатанное слово, то базовые инструкции переместят буквы в модели страницы, чтобы освободить место для новой. При вводе «А» происходит очень много операций, но вас, как пользователя, они не заботят. Вам достаточно знать, что, нажав на клавишу с буквой «A», вы получите букву «А» в нужном местоположении. Точно так же «Вырезать», «Копировать» и «Вставить» — это термины на языке Word, из-за которых происходят удивительные действия, скрытые от вас. По аналогичному принципу работают и такие термины, как «Вставить изображение», «Вставить гиперссылку» и так далее.
Кук и Перлин, создавая язык затенения, двинулись по магистральному направлению в информатике, которое возникало по мере того, как закон Мура позволял компьютерным вычислениям проникнуть во все новые и новые сферы. Суть в том, что поле исследований кристаллизуется созданием компьютерного языка, который фиксирует его формальные алгоритмизированные описания. В середине 1980-х Кук и Перлин применили идею языка описаний к обширной неизведанной территории: обобщили закономерности затенения, создав для него специальный язык.
Мы уже рассмотрели несколько методов затенения: наложение текстур, наложение рельефа, затенение по Гуро, затенение по Фонгу, прозрачность и факторы внешнего вида материала. Можно и дальше объяснять различные техники по отдельности. Прорывной характер идеи Кука и Перлина заключался в возможности воздействовать на затенение визуализируемой поверхности при помощи
Предположим, я хочу наложить текстуру и рельефную карту на треугольник. Или, предположим, я хочу сделать поверхность неровной и придать ей окрас латуни. Или скомбинировать все вышеперечисленное. Язык затенения обобщил понятие затенения, или шейдинга. На нем можно написать бесконечное количество программ для затенения. В этом и заключается суть компьютерных вычислений — чудо Гибкости.
Пришло время разобраться, как виртуальная сцена, описанная с помощью трехмерной геометрии и подробно заданного затенения, преобразуется в двумерное цветное изображение, например в один кадр цифрового фильма. Мы уже рассматривали, как визуализировать треугольники, составляющие сцену, но при этом не говорили о цвете и ограничивались только их очертаниями.
Затем мы рассматривали визуализацию цветных треугольников, которые были значительно больше расстояния между пикселями. Здесь мы остановимся на практически современном случае с сотнями маленьких треугольников, способных провалиться в зазоры между пикселями.
Давайте придерживаться той же стратегии, что и раньше. Я покажу вам, насколько проста основная идея для каждого пикселя. Затем я позволю Усилению, волшебству Эпохи 2, позаботиться об огромном количестве вычислений, необходимых для реализации этой идеи для всего оставшегося кадра или в конечном итоге для всего полнометражного фильма. Здесь начинается нечеловеческая часть работы, но ее нетрудно понять, если вы разберетесь, как устроены основные вычисления.
Итак, представьте, что камера — это вы. Смотрите на мир, удерживая глаза в фиксированном положении. Вы видите мир в двух измерениях и в перспективе (для конкретности предположим, что у вас один глаз закрыт, поэтому камера — это только один глаз). Виртуальная камера в компьютерной графике делает то же самое. «Мир», который она видит, — это невидимая геометрия. Но она досконально изучена, и математика, которая проецирует ее на двумерный кадр, хорошо известна.
Другими словами, мы знаем достаточно, чтобы вычислить, какой треугольник находится перед другим треугольником в модели сцены, которую мы визуализируем. Следовательно, используя упрощение, согласно которому все модели — наборы из (возможно, миллионов) треугольников, мы можем вычислить, в каком порядке визуализировать треугольники.
Я не собираюсь излишне упрощать. Упорядочивание треугольников предполагает колоссальную вычислительную работу, но значительную ее часть выполняют наши верные компьютеры. Нам нужно лишь понять, что определить, какой из двух треугольников находится впереди, довольно просто, если смотреть из виртуальной камеры. Какие треугольники видит камера? Мы обсудили два подхода к поиску видимых поверхностей (из множества возможных): буферизация по глубине и геометрическая сортировка.
Основная проблема заключается в отображении того, что видит виртуальная камера, в геометрическом мире в виде кадра из цветных пикселей, которые становятся видимыми при визуализации. Вот простой способ осознать проблему: представьте, что вы смотрите на мир через окно с москитной сеткой. Она делит двумерный видимый мир на квадратики. Осторожно, еще раз напоминаю: это не пиксели! Но в качестве первого приближения к решению проблемы давайте предположим, что каждый из крошечных квадратиков действительно становится пикселем в итоговом изображении. Такое упрощение часто использовали в старые недобрые времена, из-за чего возникло заблуждение даже среди практикующих специалистов в области компьютерной графики, будто пиксель — это маленький квадратик.
Таким образом, проблема рендеринга общего вида сцены сводится к проблеме визуализации одного пикселя для каждой ячейки сетки-экрана. Какой один цвет представляет все треугольники или все части треугольников, попадающие в этот крошечный квадрат, видимый виртуальной камерой?
Я пишу эти строки, сидя на опрятной кухне в прекрасной квартире в Гамла-Стане, на острове в старинном центре Стокгольма. Я смотрю на мир и вижу бело-голубую посуду на синей полке, специи на другой, стаканы на третьей, черные сковородки и медную посуду над маленькой газовой плитой, сухие цветы, вешалку с блестящими ножами из нержавеющей стали, сушилку для посуды рядом с раковиной и так далее. Слева от меня есть большое окно. На широком подоконнике цветут белая герань и другие растения. Снаружи я вижу каштан, частично заслоняющий желтоватые здания старого Стокгольма, а за ним — голубое небо с кучевыми облаками.
Затем я представляю сетку-экран, отделяющую меня от сцены, которую я только что описал. Моя работа состоит в том, чтобы выбрать только один цвет для визуальной сцены, видимой через каждую ячейку. Представьте себе четырехгранную пирамиду с вершиной в моем глазу, которая проходит через ячейку, гранями касаясь ее границ, и расширяется по мере продвижения в бесконечность. Все, что попадает в эту пирамиду, должно передаваться всего одним цветом (!).
Иногда все довольно просто. Например, в некоторые ячейки попадает только далекое голубое небо. Именно такого цвета будут их пиксели. В другие ячейки попадает только пастельно-голубая стена кухни. Дальше пирамида пересекается с соседними зданиями, но это значения не имеет. Стена непрозрачная, поэтому она скрывает все цвета стен здания. Это всё скрытые поверхности. Цвет этих пикселей — это цвет кухонной стены.
Ячейки, в которые попадают стопки посуды, более сложные, но тут все понятно. Я смотрю на стопку сложенных друг на друга бело-голубых суповых тарелок. Пирамида, исходящая из моего глаза, пересекает несколько тарелок одновременно, но они непрозрачны, поэтому только поверхности, непосредственно видимые через ячейку, учитываются при выборе окончательного цвета. Цвет, который мне здесь нужен, — это взвешенная комбинация синего и белого в зависимости от пропорций каждого из них. Все остальные тарелки не имеют значения, синяя стена полки за тарелками не имеет значения, старые желтые здания Стокгольма за стеной не имеют значения, синее небо за ними не имеет значения. Хотя они попадают внутрь маленькой пирамиды, все они скрыты от моего взгляда.
С полкой, на которой стоят стаканы, дело обстоит сложнее. В некоторых ячейках через пять стеклянных стаканов видна пастельно-голубая стена, а значит, что ее синева видоизменяется, проходя через десять частично прозрачных стеклянных стенок, которые отделяют ее от меня.
По-настоящему сложные случаи — это ячейки, направленные на окно. В них видны кусочек герани, частично открытая оконная рама, каштан и либо здания Стокгольма, либо облака в небе за деревом, либо и то и другое. Но проблема остается прежней — определить для каждой ячейки, какие поверхности видны и какой цвет дает каждая из них пропорционально видимой области. Тогда окончательный и
Компьютерная графика существует не на красивой стокгольмской кухне, а внутри компьютера. Здесь нет ни герани, ни посуды, но есть геометрические модели дерева, стопки суповых тарелок, полки со стаканами и так далее. В остальном решается та же проблема: что видит виртуальная камера в каждой ячейке сетки-экрана и какой там средний цвет?
Это автопортрет художника — отражение в металлическом шаре, который тот держит в левой руке. Лицо Эшера посередине, но геометрически искажено, так что по краям виден его кабинет. На заднем плане окно, сквозь которое, разумеется, проникает свет, прошедший не менее девяноста трех миллионов миль. Суть доклада заключалась в том, что для точного 3D-компьютерного изображения такого простого объекта, как блестящий шар, нужно учесть каждый объект во вселенной.
Если цель состоит в моделировании оптики реального мира, то в описании из предыдущего раздела чего-то не хватает. Представьте, что луч из вашего глаза через ячейку сетки-экрана направлен в мир за пределами окна. Глаза на самом деле не испускают лучей, но давайте ради эксперимента вообразим, что испускают. Такой фальшивый луч — полная противоположность реального луча света, который отражается от какой-то поверхности в наш глаз. Наш воображаемый луч движется по прямой в окружающий мир, пока не встретится с непрозрачной поверхностью, где и остановится (будем считать небо и облака непрозрачными изображениями, нарисованными на бесконечно далекой плоскости). Если луч из глаза попадает на окно или стакан с водой, он проходит через них до любой непрозрачной поверхности, расположенной далее.
Рис. 8.2
Но на реальные световые лучи влияют материалы, через которые они проходят. Например, через линзы очков. Они преломляют световые лучи для наших глаз. Как правило, световой луч меняет направление — преломляется, — когда проходит через прозрачный материал.
Рассмотрим зеркало, присутствующее в нашей сцене. Луч света отражается от его поверхности под тем же углом, под которым упал на нее. Обычно это формулируется как «угол отражения равен углу падения».
Как правило, в реальном мире световой луч частично преломляется и частично отражается материалом, на который падает. То есть световой луч разделяется на два, когда проходит через поверхность.
Здесь я лишь поверхностно намекнул на сложные оптические свойства материалов. При полном реализме и в соответствии с Центральной Догмой сцена, воспроизводящая материалы реального мира, должна имитировать все настоящие оптические свойства — лучи, попадающие в глаз изо всех направлений, а не только из одной точки прямо впереди. Визуализатор, который точно учитывает все свойства, называется
Трассировка лучей в той или иной форме прорабатывалась с конца 1960-х годов, но превратилась в расцветающую ветвь компьютерной графики только в 1979 году — с выходом статьи Тернера Уиттеда из легендарной Bell Labs в Нью-Джерси. В публикации рассматривалась не трассировка как таковая, а то, что он назвал «глобальным освещением», — имитация освещения с учетом полной оптической физики реальности. С помощью трассировки лучей он отдавал должное Центральной Догме, а закон Мура поддерживал его попытку сделать существенный бросок в продвижении к «физически обоснованному рендерингу». На конференции Siggraph 1979 года Тернер показал картинку, потрясшую сообщество компьютерной графики (рис. 8.3). На самом деле это кадр из сделанной им анимации вафельной сферы, которая вращалась вокруг стеклянной сферы, с соответствующими тенями и оптическими искажениями. Тернер получил награду Coons Award 2013 от Siggraph.
Визуализация Центральной Догмы с трассировкой лучей или без нее часто описывается как
Оказалось, что один из самых важных методов, когда-либо разработанных для рендеринга компьютерной графики, используется обезьянами и людьми. Он называется
Рис. 8.3
Мы можем сделать вывод, что мать-природа использует не равномерную, а, скорее, зашумленную растровую сетку для взгляда на реальный мир. Создается впечатление, что расположение пикселей слегка и случайным образом смещено от фиксированных положений растра (здесь зашифровано важное сообщение — его нельзя упускать из виду, пока мы разбираемся с деталями: мать-природа использует выборку!).
Хорошее приближение получается, если мы смешаем идею случайной неравномерной «дрожащей» сетки с идеей субдискретизации. На рисунке 8.6 показан массив подвыборок 4 на 4, связанных с одним пикселем (большой точкой), без случайного «дрожания» слева и с таким «дрожанием» справа. То, что слева, мы видели раньше при обсуждении подвыборки (рис. 7.10). Сравните схему выборки справа с фотографией сетчатки обезьяны. Математика, используемая для смещений подвыборок, обеспечивает ограниченный тип случайности без слипания выборок или больших областей, где отсутствуют подвыборки.
Рис. 8.4
Математика показывает: это «обезьянье» решение заменяет неприемлемый регулярный алиасинг (например, зубцы по краям) допустимым шумом. Низкоамплитудный шум мы просто не видим. В нем нет заметной закономерности. Это «дрожание» применяется по-разному, и не только в компьютерной графике. Общая идея называется методом Монте-Карло (в честь знаменитого казино в Монако). Именно он использовался при моделировании взрывов водородных бомб и стал первой программой, выполненной на ENIAC+ (который соревновался за звание первого компьютера с Baby, во всяком случае по нашей версии).
Подумайте о дерзости подобного решения в компьютерной графике: только один цвет в итоге передает огромную сложность, существующую в визуальной сцене внутри одной ячейки воображаемой сетки-экрана. Чтобы лучше разобраться, посмотрите на рисунок 8.7, где показан знаменитый лохматый персонаж Джеймс П. «Салли» Салливан из мультфильма «Корпорация монстров» студии Pixar (2001) (здесь мы на мгновение отклоняемся от строгой временной шкалы закона Мура, чтобы подчеркнуть важный момент; дополнительную информацию о мехе читайте в комментариях на сайте). Рядом с его изображением — крупный план меха Салли из одной ячейки сетки-экрана. (Признаюсь честно: персонажи «Корпорации монстров» не моделировались в таком очень высоком разрешении! Это просто пример, что предложила бы базовая модель меха, если бы она рассчитывалась при таком разрешении.) Решение для компьютерной графики, которое мы ищем, — это
Рис. 8.5
Рис. 8.6
Рис. 8.7
Давайте вернемся к приближению маленьких квадратиков, прежде чем двигаться дальше. Я утверждал, что окончательный цвет пикселя — это среднее значение цветов, видимых в каждой ячейке сетки-экрана. Другими словами, предположим, что этот ячеечный фильтр будет использоваться в качестве разбрасывателя для восстановления цветовой непрерывности из дискретных пикселей. Такой фильтр дает каждому отсчету из подвыборки равный вес. Но из главы о Котельникове мы знаем, что подобный фильтр — это худший разбрасыватель из всех, которые допускается использовать в теореме отсчетов.
Ячеечный фильтр и близко не достигает точности идеального фильтра или даже нескольких известных приближений к идеалу, таких как разбрасыватель Катмулла — Рома или B-сплайн с их средними пиками и плавными плечами. Они не назначают подвыборкам одинаковый вес и всегда учитывают вклад областей вокруг соседних пикселей. Тем не менее компьютерная графика десятилетиями использовала именно ячеечный фильтр как грубое приближение — главным образом потому, что закон Мура только недавно обеспечил достаточную вычислительную мощность для более качественной выборки и реконструкции. Более точные приближения к правильной выборке геометрически определенного мира с более подходящими разбрасывателями сейчас только изучаются, поскольку закон Мура продолжает работать. Цель по-прежнему заключается в улучшении качества изображения.
Я пропустил один очень важный шаг в приведенном выше обсуждении рендеринга фильма. В главе про кино и анимацию мы говорили, как размытие движения в кадре классического фильма на кинопленке подсказывает нашему мозгу, как воспринимать движение из неподвижных кадров, которые проецируются 24 раза в секунду. Мы быстро поняли, что анимация без размытия движений потерпит неудачу — классическим провалом обернулись дергающиеся скелеты Рэя Гаррихаузена в «Ясоне и аргонавтах» (1963), которые также обсуждались в той главе.
Эд Катмулл, еще в Нью-Йоркском технологическом институте, постоянно напоминал остальным сотрудникам лаборатории о необходимости размытия движения и сам начал работать над решением, позволяющим реализовать его в компьютерной анимации еще тогда, в середине 1970-х годов. Позже в Lucasfilm он подчеркнул актуальность проблемы и объявил конкурс на лучшее решение. Наверняка он считал, что сам одержит победу, потому что уже много лет занимался его поисками. Удивительно, но выиграл не он сам, а его лидерские качества. Роб Кук, Лорен Карпентер и Том Портер — гениальная троица сначала в Lucasfilm, а затем в Pixar — решили проблему.
Роб и Лорен придумали метод «дрожащей» подвыборки для сглаживания в пространстве. Потом Том понял, что та же идея сработает и с выборкой во времени. Так и получилось. Один прием решил обе проблемы. Идея заключается в разделении времени, в течение которого затвор виртуальной камеры открыт, на «подкадры». Например, предполагается, что каждая квадратная область, которая подвергнется субдискретизации массивом 4 на 4 «дрожащих» субдискретизаций в пространстве, разделена во времени на 16 субкадров, 16 интервалов времени между открытием и закрытием затвора (рис. 8.8). Затем каждая (пространственная) подвыборка берется в отдельном (временнóм) подкадре и случайным образом смещается в пределах временного интервала, занимаемого подкадром. Результаты усредняются в пространстве и времени, чтобы один цвет представлял ячейку с размытием движения. Пространственные подвыборки предыдущего изображения размером 4 на 4 со случайным смещением помещаются во временнýю область, по одной на каждый из 16 подкадров, и далее случайным образом распределяются в пределах временнóго интервала, занимаемого подкадром. Каждая пунктирная линия начинается с подкадра «затвор открыт». Подробно показаны пространственные и временны´е координаты для двух подвыборок, для седьмого и двенадцатого подкадров. Для ясности показаны только две пунктирные линии, продолженные до подкадра «затвор закрыт».
Том Портер создал зрелищную иллюстрацию, изображающую бильярдные шары, для этого прорывного момента Центральной Догмы (рис. 8.9). Естественно, он назвал ее «1984» и в том же году продемонстрировал ее на Siggraph. При ее создании использовалась подвыборка с «дрожанием» для имитации размытия движения, а также решались некоторые другие проблемы, такие как мягкие тени. Удивительная команда из Кука, Карпентера и Портера — я назвал их Пролетарин — преодолела множество трудностей с помощью одной прекрасной идеи. Иллюстрация Тома украсила обложку журнала
Рис. 8.8
Центральная Догма предстала там во всей красе, за исключением одного момента. Отражения в шарах созданы не в результате оптически точной трассировки лучей от трехмерных объектов в геометрической модели. В геометрической модели нет ни окна, ни бильярдиста, ни пальмы, ни рекламы пива. На самом деле их нарисовал наш художник-аниматор Джон Лассетер с помощью написанной Томом программы рисования. Том наложил их на плоские стены бильярдной, которые были в модели. Таким образом, луч света, попавший в бильярдный шар после отражения от одной из них, получил цвет из текстурных карт.
Портер сделал «1984» с помощью трассировки лучей методом случайной выборки. Картинка, выполненная на стыке между приятным фотореализмом и гиперфотореализмом, лишь в нарисованных вручную текстурных картах на стенах бильярдной отклоняется от Центральной Догмы. Эти приемы сослужат нам хорошую службу при создании Фильма, хотя к фотореализму мы совсем не стремились.
Мы с вами проследили путь развития рендеринга в Lucasfilm. А между тем моделирование и анимация тоже не стояли на месте. Как ни странно, несколько ключевых сотрудников пришли к нам сначала как системные программисты Unix и только в процессе работы занялись компьютерной графикой. Путь от Unix к графике уже проделал Том Дафф, причем, как я уже упоминал ранее, еще когда мы работали в Нью-Йоркском технологическом институте. Том зарекомендовал себя там одновременно как гуру графики и системный эксперт. Он написал, например, программу для визуализации трехмерных объектов, составленных из эллипсоидов. Он назвал ее Soid и создал с ее помощью — в Нью-Йоркском технологическом институте — несколько коротких анимационных клипов. Я использовал Soid для создания анимированных ладоней.
Рис. 8.9
После того как мы с Эдом Катмуллом и Дэвидом Ди Франческо ушли из Нью-Йоркского технологического института в Lucasfilm, Том оказался единственным оставшимся там сотрудником, который понял, как последовать за нами. Из-за тиранических наклонностей Александра Шуре Эд проявлял осторожность, стараясь не переманивать сотрудников в открытую, но, когда Том объявил, что покидает Нью-Йоркский технологический институт, он действовал быстро и решительно. Предполагалось, что все оборудование на студии Lucasfilm тоже будет работать на Unix, следовательно, компания нуждалась в специалистах по этой системе. Но, что гораздо более важно, в Lucasfilm Том создал ключевую программу для трехмерного моделирования. Он стал одним из важнейших сотрудников в Проекте компьютерной графики.
Похожим образом складывалась карьера Билла Ривза, еще одного эксперта одновременно в Unix и компьютерной графике и, подобно Тому Даффу, тоже канадца из группы Рона Беккера в Университете Торонто. Он написал важнейшую анимационную программу для Lucasfilm. Эд взял его на работу как специалиста по Unix, но вскоре Билл оказался в группе компьютерной графики, где ему предстояло сыграть очень важную роль. Siggraph в 2018-м удостоил Билла награды за вклад в графический дизайн, сделав его первым лауреатом новой премии Practitioner Award.
И еще один выдающийся программист (хотя и не канадец), Эбен Остби, который присоединился к Lucasfilm позже, тоже проследовал по пути от Unix к графике. Эбен работал в легендарной Bell Labs, пока Билл не переманил его в нашу группу специалистов-системщиков. И вскоре Эбен проявил себя как прекрасный знаток программного обеспечения для моделирования, анимации и рендеринга.
Билл и Эбен войдут в число 40 сотрудников-основателей Pixar. Как ни странно, Тома Даффа среди них не было. Он ушел из Lucasfilm еще до создания Pixar. Прежде чем вернуться к нам, он провел несколько лет… ну конечно, в Bell Labs!
Некоторые объекты неудобно моделировать с помощью геометрии. Значительным вкладом Билла Ривза в Цифровой Свет стало то, что он назвал
В первую очередь Билл опробовал новую технику на огне. Каждая частица имела цвет, обычно красный, но некоторые были случайным образом окрашены в зеленый. Каждая из них появлялась в случайном порядке на плоской поверхности и взлетала оттуда в произвольном направлении. Траектория частиц определялась воображаемым гравитационным полем, поэтому они возвращались к основанию по дуге. Размер и прозрачность каждой из них также определялись случайным образом. А еще у каждой частицы происходило размытие движения. То есть в каждом кадре рассчитывались начальное и конечное положения частицы на ее пути (обычно на небольшом расстоянии друг от друга). Во время визуализации кадра частица размазывалась вдоль траектории.
В этой модели системы частиц покадровая визуализация выполнялась при помощи упрощенного рендеринга прямой линии между начальным и конечным положениями каждой частицы в одном кадре со сглаживанием. Как мы уже говорили, Малкольм Бланшар продемонстрировал сглаженные (без ступенек) сегменты прямых линий примерно в 1976 году, а Дик Шауп визуализировал их еще раньше, в Xerox PARC в 1973-м. Таким образом короткий отрезок прямой линии с мягкими полупрозрачными краями, как правило, красного цвета, создает размытие частицы на траектории ее движения. Цвета линейных сегментов просто добавлялись в кадровый буфер. Случайное добавление некоторого количества зеленых частиц приводило к эффекту горячего желто-оранжевого свечения в центре горения, когда частицы взмывали вверх с поверхности. Затем, когда они опускались вниз и исчезали, свечение приобретало красный оттенок и казалось постепенно охлаждающимся.
Том Дафф, Билл Ривз, Роб Кук, Лорен Карпентер, Том Портер… Мы собирали в Lucasfilm команду звезд компьютерной графики мирового уровня. Даже Джим Блинн на некоторое время присоединился к нам, покинув Лабораторию реактивного движения, но, как и в предыдущий раз в Нью-Йоркском технологическом институте, он испытывал дискомфорт за пределами своего специфического программистского мира, а потому вернулся на прежнее место. Зато к нам присоединилась еще одна женщина-первопроходец Пэт Коул, перешедшая из команды Джима в Лаборатории реактивного движения.
Мы все ждали, что в один прекрасный день к нам постучится Джордж Лукас с заявкой на компьютерную графику для одного из его новых фильмов. Но он все не появлялся. Наконец до меня дошло. Джордж Лукас не знал, что у него есть мы! Он совершил классическую ошибку, полагая, что мы просто кучка «техногиков», занимающихся железками и программированием, в то время как он и его команда творцов созидали кино. Я-то думал, что мы ясно обозначили нашу принадлежность к числу творцов и созидателей, но, похоже, наше сообщение не дошло до адресата.
Потребовалось вмешательство Paramount Pictures, чтобы Лукас узнал о наших возможностях. Наш следующий счастливый билет выпал, когда Paramount обратилась к Industrial Light & Magic (ILM), отделу спецэффектов Lucasfilm, по поводу спецэффектов для фильма «Звездный путь 2: Гнев Хана» (1982). Представители Paramount хотели использовать во втором «Звездном пути» компьютерную графику, но в ILM ею не занимались. Но, как сказали сотрудники ILM, вот эти новые ребята «дальше по коридору» могут помочь. Тогда визитеры зашли ко мне.
Я выслушал, чтó люди из Paramount хотят добавить в фильм. Они рассчитывали увидеть нечто объясняющее ключевой повествовательный прием под названием «эффект Генезиса», который мгновенно превращал неживое в живое. Предложенная ими идея заключалась в следующем: плавающий в аквариуме камень каким-то образом стремительно покрывается зеленым мхом. Я озадаченно посмотрел на них и спросил: «Вы хоть представляете, что мы можем и чего не можем делать с компьютерной графикой в настоящее время?» Они признались, что нет. Поэтому я предложил взять паузу до завтра, чтобы подготовить предварительное предложение, которое удовлетворило бы их потребности в визуальном повествовании и соответствовало нашим вычислительным возможностям в начале 1980-х годов. Они согласились. Но тут я вспомнил о важной проблеме. «Мы пока не можем делать кадры в разрешении кинопленки. Мы можем делать только видеоразрешение». «Это не проблема!
Я вышел из переговорной комнаты окрыленным. Вот оно! Нам только что дали шанс! Наконец-то у нас появилась возможность попасть на большой экран! Нас только что попросили сделать полноценный киноэпизод — самостоятельно! — для полнометражного кино, которому, несомненно, светит успех!
Я не спал всю ночь, обдумывая будущий эпизод. В нем предстояло задействовать — мы
Я вдохновлялся фильмами, где космический корабль «Вояджер» облетал планеты, — их делал Джим Блинн в Лаборатории реактивного движения. В моей раскадровке (невидимый) космический корабль кружил над мертвой, похожей на Луну планетой, покрытой кратерами. Лорен Карпентер разработает звездное поле и траекторию космического корабля. Том Дафф сделает кратеры с помощью рельефных карт. Пэт Коул смоделирует снаряд, выпущенный космическим кораблем в направлении мертвой планеты. От взрыва снаряда разгораются пожары. Билл Ривз изобразит их, используя свои новые системы частиц. Стена огня быстро поглощает планету и расплавляет ее поверхность. На ней возникают горы, которые сделает Лорен с помощью фрактальной техники. Сформируются моря, а горы остынут и станут зелеными. По мере того как космический корабль удаляется, мертвая планета оживает и все больше напоминает Землю. Том Портер сделает финальную часть с помощью своей программы для рисования и наложения текстур. Эффект Генезиса продлится не мгновение, как предполагалось, но его объяснение займет всего минуту.
Несмотря на любительские раскадровки, мы получили работу. Собрав всю команду в комнате, я объявил: «Мы только что получили наш главный шанс» — и объяснил, что мы должны все сделать первоклассно: удовлетворить сюжетную потребность Paramount и порадовать зрителей «Звездного пути». Затем я сообщил самое главное: «Но на самом деле эпизод станет 60-секундным рекламным роликом для одного зрителя — Джорджа Лукаса! Чтобы он знал, что у него есть мы».
Меня проинформировали об одном секрете касательно Джорджа, и я планировал воспользоваться полученными сведениями на всю катушку: когда Лукас смотрит кино, он постоянно следит за камерой и операторскими решениями. Он не погружается в эмоции. Вообще, если у режиссера не выходит эмоционально вовлечь вас в происходящее на экране, значит, он потерпел творческую неудачу. Тем не менее Джордж Лукас избегал эмоций и следил за работой камеры. Я объяснил его особенность собравшимся. «Итак, нам нужно добавить в этот эпизод такую работу камеры, на которую больше никто не способен. И это не должно быть бессмысленным техническим фокусом. Нам нужен отличный повествовательный эффект. У Джорджа должно снести крышу!»
Рис. 8.10
Именно этим мы и занялись. Лорен Карпентер разработал сложный многомерный сплайн с десятками изгибов, чтобы описать движение камеры. Это еще один пример использования концепции сплайна из главы 6. Здесь сплайн интерполирует положение и ориентацию камеры в четырехмерном пространстве-времени (три измерения в пространстве, одно во времени). Камера смотрит на приближающуюся мертвую планету, поворачивается, чтобы отслеживать происходящее на ее поверхности, пролетая прямо над движущейся огненной стеной; вблизи фиксирует растущие горы, проносящиеся под ней, а затем снова отдаляется, наблюдая позади живую зеленую планету с атмосферой, когда наш космический корабль ускоряется, завершая свою миссию. Рисунок 8.11 представляет собой композицию из нескольких элементов «Демонстрации Генезиса».
На следующий день после премьеры фильма «Звездный путь 2: Гнев Хана» (1982) Джордж Лукас, довольно застенчивый человек, как мне показалось, заглянул в мой кабинет. «Отличный полет камеры!» — сказал он, даже не зайдя внутрь. И закрыл дверь. Он понял! В свой следующий фильм «Возвращение джедая» (1983) он включил короткий эпизод, созданный Томом Даффом и Биллом Ривзом из нашей группы. И, что немаловажно, он наверняка рассказал о нас своему хорошему другу Стивену Спилбергу. Тот включил компьютерную графику Lucasfilm в свой фильм «Молодой Шерлок Холмс» (1985). По Голливуду поползли слухи, что появился новый способ создания захватывающего киноконтента. К моменту выхода фильма «Терминатор 2: Судный день» (1991) созданные на компьютере растровые изображения уже ярко сияли на технологическом небосводе Голливуда. А мы сделали важный шаг к нашей цели — выполнили первую командную работу всей нашей группой, которая впоследствии станет студией Pixar.
Но «Демонстрация Генезиса» 1982 года еще не была Фильмом. Фильм все еще ждал Великой цифровой конвергенции, хотя работа уже шла полным ходом. «Звездный путь» стал первой тренировкой для команды, которая в конечном итоге основала студию Pixar и создала «Историю игрушек» (1995). Мы гордились «Демонстрацией Генезиса», но она сводилась лишь к спецэффектам. В этой области работали не только мы. Например, в том же 1982 году всего через месяц после «Звездного пути» вышел культовый киберпанк «Трон». Он выполнял ту же рекламную функцию для команды, которая позже превратилась в студию Blue Sky и сняла «Ледниковый период» (2002).
Рис. 8.11
Рост вычислительных мощностей по закону Мура в 1000 раз с 1980 по 1985 год ознаменовался появлением множества компаний, занимавшихся цифровыми спецэффектами. Disney использовал для создания «Трона» услуги четырех из них: Robert Abel and Associates и Triple-I (Information International Inc.) из Калифорнии и Digital Effects и MAGI (Mathematical Applications Group Inc.) из Нью-Йорка. Две из них для нас особенно интересны: Triple-I располагалась неподалеку от Голливуда, там работали Джон Уитни-младший и Гэри Демос. Они изрядно потрепали нам нервы, серьезно конкурируя с нами в гонке за создание Фильма. А из MAGI, как я только что упомянул, позднее возникла студия Blue Sky. В комментариях на сайте перечислены многие другие компании из той эпохи становления компьютерной графики.
Режиссер Стивен Лисбергер предложил студии Disney концепцию «Трона» по совету Алана Кэя, бывшего сотрудника Xerox PARC, который, как вы помните из эпиграфа к одному из разделов главы 6, приравнял наличие точки зрения к 80 баллам IQ. Сам Лисбергер пришел из классической анимации, но, по настоянию Кэя, в студии Disney он активно продвигал компьютерную анимацию. Но не компьютерную
Цифровое производство анимации с компьютерными эффектами оборачивалось настоящим логистическим кошмаром. Оно требовало интеграции и синхронизации работы четырех компаний на Восточном и Западном побережьях с четырьмя разными подходами к работе и четырьмя разными системами аппаратного и программного обеспечения. Вместе им удалось создать примерно 15 минут компьютерной графики, которая вошла в окончательный вариант фильма. Заявление о столь значительном экранном времени трудно воспринимать серьезно, потому что оно, безусловно, включало все появления Бита, сделанного компанией Digital Effects. Бит — это крошечный летающий и пульсирующий многогранник, «персонаж», который существовал только в двух чередующихся цветах (синем и желтом) и занимал мало места на экране.
Самая запоминающаяся компьютерная графика в «Троне» — в сцене со «световым мотоциклом», созданной MAGI из округа Вестчестер, штат Нью-Йорк (рис. 8.12). Она длится около трех минут, включая как минимум одну минуту монтажных вставок из живых актеров. Важно отметить, что сцена со световым мотоциклом произвела огромное впечатление на молодого аниматора Джона Лассетера, тогда работавшего в студии Диснея: «Это просто поразило меня! Словно открылась маленькая дверь в моем сознании. Я посмотрел и сказал: „Вот оно! Это будущее!“» Позже, после того как он присоединился к нам в Pixar, он сказал: «Без „Трона“ не было бы „Истории игрушек“».
Компания Mathematical Applications Group Inc. основана в 1966 году для расчетов ядерной радиации с помощью трассировки лучей методом Монте-Карло. Вскоре специалисты, работавшие там, поняли, что с помощью своей техники могут имитировать световые лучи, а не только ядерное излучение. В 1972 году они создали подразделение компьютерной графики под названием MAGI/SynthaVision, чтобы, используя свою идею, делать телевизионные рекламные ролики. Поэтому в MAGI всегда применяли трассировку лучей в качестве технологии рендеринга, что отличало ее от других компаний. Судя по световым мотоциклам, вроде того, что фигурировал в «Троне», они еще не добрались до гиперфотореализма в трассировке лучей к 1981 году, когда Disney привлекла их для создания эффектов. MAGI наняла Криса Уэджа в качестве аниматора для своих эпизодов «Трона», и это решение оказалось очень важным для будущего цифрового кино.
Рис. 8.12
Исторические потоки снова переплелись в 1983 году, когда студия Disney заключила контракт с MAGI на создание пробного фильма по мотивам популярной детской иллюстрированной книги художника Мориса Сендака «Там, где живут чудовища». Согласно изначальной задумке, персонажей — Макса и его собаку — предполагалось создать средствами традиционной двумерной целлулоидной анимации, но на фоне трехмерной компьютерной графики. Крис Уэдж и другие сотрудники MAGI сделали трехмерные каркасные фоны. Аниматоры Диснея Джон Лассетер и Глен Кин вручную их анимировали. Таким образом, Крис Уэдж и Джон Лассетер, два аниматора, столь важных для дальнейшего развития цифрового кино, установили свой первый контакт друг с другом и с цифровым Голливудом.
Как показывает блок-схема из этой главы, три ключевые траектории привели непосредственно к трем студиям, создавшим первые цифровые фильмы в новом тысячелетии. MAGI вошла в бизнес в 1972 году со своим подразделением SynthaVision. Нью-Йоркский технологический институт открыл Лабораторию компьютерной анимации в 1974 году. Третьей в дело вступила Pacific Data Images (PDI) в Калифорнии.
Карл Розендаль занял у своего отца 25 000 долларов и в 1980 году основал PDI для коммерциализации компьютерной графики. Чтобы оценить, на какой риск он пошел, вспомните, что в 1980 году Эд Катмулл, Дэвид Ди Франческо и я только что устроились в Lucasfilm и сидели в офисе Марсии Лукас. Мы занимались исследованиями и даже не помышляли о самоокупаемости. Да нам и в голову не приходило, что можно зарабатывать на жизнь, занимаясь компьютерной графикой.
В марте 1982 года к Розендалю присоединились Ричард Чуанг и месяц спустя Гленн Энтис. Втроем они стали соучредителями анимационной компании PDI. Чуанг и Энтис написали программное обеспечение для системы анимации PDI, и в 1994 году все трое получили за нее премию Технической академии.
Чуанг изучал компьютерную графику по видеозаписям занятий, которые вели Эд Катмулл и другие будущие сотрудники Lucasfilm. Энтис, будучи студентом информатики в Бруклине и потом работая программистом на Манхэттене, осваивал компьютерную графику в соседнем Нью-Йоркском технологическом институте — на тех курсах, которые вели Эд и другие сотрудники Лаборатории компьютерной графики в конце 1970-х. Более того, Энтис сменил Тома Портера в проекте AVA компании Ampex, когда я переманил Тома в Lucasfilm.
Мы следили за коммерческим прогрессом PDI внимательнее, чем за другими компаниями, занимающимися компьютерной графикой, потому что, как выразился Лорен Карпентер, там «делали графику правильно». Кроме того, они сразу начали работать на Unix и писали на языке C. Но PDI пока не казалась нам конкурентом в плане Фильма. MAGI тоже — пока. Опасения вызывала только одна компания — Digital Productions.
Джон Уитни-младший и Гэри Демос работали в Triple-I, одной из четырех компаний, с которыми студия Диснея заключила контракт на создание спецэффектов для фильма «Трон». Но вскоре они разошлись с руководством во мнениях по поводу вычислительной мощности, необходимой для проекта. Они ушли из Triple-I в 1981 году и в 1982 году основали Digital Productions, в которую инвестировал Айвен Сазерленд.
Сазерленд еще в 1974 году безуспешно пытался совместно с Гленом Флеком организовать The Picture/Design Group и выйти на голливудский рынок. Эд Катмулл ждал, пока они достигнут стабильности, но потребности молодой семьи вынудили его искать работу в другом месте. Другие молодые парни — Гэри Демос, а возможно, и Джон Уитни-младший из талантливой семьи Уитни — также намеревались присоединиться к Сазерленду. Джон и Гэри кажется, всегда относились к той части нашей вселенной компьютерной графики, которая рвалась в кино.
Мы с Эдом неотрывно следили за ними. В отличие от всех остальных, они работали на очень мощных компьютерах и делали кадры с очень высоким разрешением. Их офис располагался недалеко от Голливуда, и они уже успели наладить связи с воротилами кинобизнеса. В 1981 году на званом обеде в Лос-Анджелесе в декорациях Фрэнсиса Копполы для фильма «От всего сердца» (1982) меня посадили за большим столом напротив актрисы Тери Гарр — исполнительницы главной роли — и Джона. Мое сердце замерло, когда я понял, что они выросли вместе и явно давно дружили. Есть ли у нас, пытающихся попасть в закрытый мир кино извне, хоть один шанс? Не опередят ли нас Джон и Гэри с созданием Фильма?
Мы всерьез опасались, и имели на то веские причины. Их уже задействовали при производстве нескольких полнометражных фильмов. Работая в Triple-I, Джон сделал двумерную цифровую графику для фантастического фильма студии MGM «Мир Дикого Запада» (1973), оказавшегося финансово успешным. Затем он вместе с Гэри создал трехмерную графику с тенями, изображающую лицо актера Питера Фонды в «Мире будущего» (1976), не столь коммерчески успешном сиквеле «Мира Дикого Запада». Мы особенно пристально следили за их работой в «Мире будущего», потому что этот фильм включал в себя еще два фрагмента трехмерной растровой графики с тенями — руку Эда Катмулла и лицо Фреда Парка, анимацию в градациях серого, которую они создали в Университете Юты в начале 1970-х годов.
Затем Джон и Гэри, все еще в Triple-I, работали над «Лукером» (1981), в котором использовалось трехмерное изображение полностью отсканированного тела актрисы Сьюзан Дей. По удивительному совпадению сюжет «Лукера» повествует о пластическом хирурге, докторе Ларри Робертсе, который вносит на удивление незначительные изменения в облик супермоделей, стремящихся к телесному совершенству. Майкл Крайтон, написавший сценарий, вероятно, не знал об основополагающей роли другого доктора, Ларри Робертса, члена триумвирата Массачусетского технологического института, в 1963 году добивавшегося совершенства других моделей (трехмерных и компьютерных) путем применения ренессансной линейной перспективы. Но «Лукер» обошелся минимальным количеством компьютерной графики, и он тоже не достиг высоких сборов.
Но вскоре пришел тот день, когда мы с Эдом подумали, что для нас игра окончена. По тесному миру компьютерной графики разнеслась шокирующая новость: Джон и Гэри приобрели суперкомпьютер Cray! Бенс Гербер, сотрудник отдела продаж Cray, работавший с Lucasfilm, пару лет пытался продать нам его за несколько миллионов долларов, но мы не видели смысла в такой неоправданно дорогой покупке. Суперкомпьютер Cray просто не подходил для наших задач. По крайней мере, так мы думали, пока не услышали о сделке Digital Productions. Мы с Эдом достали пресловутый конверт и снова произвели расчеты. Мы где-то ошиблись? Снова выходило, что нет. Покупка просто не имела экономического смысла.
Примерно так же вспоминал ситуацию и Ричард Чуанг, сооснователь PDI:
Я никогда не забуду тот день, когда Digital Productions объявили, что у них появился Cray. Новость шокировала. Ух ты, вот это уже промышленный подход — они могут позволить себе Cray, теперь никто не сможет с ними конкурировать. Но позже в тот же день — я никогда не забуду — Карл, Гленн и я сидели на полу, обсуждая, что мы никогда не сможем позволить себе Cray и достойно конкурировать с ними, но через час я вернулся с расчетами и сказал: «Подождите минутку. Эти ребята не продержатся долго, они просто не могут себе этого позволить! Если у вас есть деловая хватка, вы знаете соотношение цена/качество и можете его рассчитать. Инвестиции в Cray никогда не отобьются в том бизнесе, которым мы занимаемся».
Джон и Гэри ввязались в рискованную авантюру, рассчитывая, что если получат доступ к Cray, то к ним будут охотно обращаться голливудские студии. Тем самым затраты распределятся между несколькими состоятельными клиентами. Но их ставка не сыграла. Покупка оказалась ошибкой и обрекла на гибель единственных конкурентов, которые действительно пугали нас в то время. Используя Cray, Digital Productions предприняла последнее благородное усилие в работе над фильмом «Последний звездный боец» (1984), но все же 12 минут фотореалистичной трехмерной графики были еще далеки от полнометражного фильма. Digital Productions фактически прекратила свое существование в том же 1986 году, когда мы основали Pixar. Впоследствии наших конкурентов в результате враждебного поглощения выкупила другая продюсерская компания.
Только значительно позже мы узнали, что Lucasfilm рассматривала Джона и Гэри в качестве кандидатов для сотрудничества, но вместо них выбрала нас. В 1978 году, еще работая в Triple-I, они сделали для Lucasfilm пробный эпизод с красивым космическим истребителем вроде X-wing из «Звездных войн», смоделированный в трех измерениях и визуализированный в очень высоком разрешении. Но они не стали делать антиалиасинг — не сгладили острые края на крестокрыльях. Они предположили, что высокое разрешение сделает зубчатость по краям слишком мелкой и практически невидимой. Но расчеты не оправдались. Ричард Эдлунд, тот самый мастер по спецэффектам из студии Лукаса, который приезжал к нам в Нью-Йоркский технологический институт с большой пряжкой «Звездные войны» на ремне, сразу же заметил огрехи. Идти на компромиссы он не желал.
Хотя мы визуализировали в гораздо более низком разрешении — более высокого не могли себе позволить из экономических соображений, — мы прилагали колоссальные усилия для сглаживания на всех видимых краях. С самого начала работы на Lucasfilm мы придерживались девиза «Никаких зубцов». Разница в подходах оказалась решающей. На самом деле наше стремление избавить цифровые фильмы от артефактов дискретизации как в пространстве, так и во времени и привело нас к успеху. На фотографии, сделанной в первые дни работы в студии Lucasfilm (рис. 8.13, слева направо), — Эд, я и один из первых гениев компьютерной графики студии, Лорен Карпентер, наш эксперт по фракталам. На мне футболка «Никаких зубцов», которая была у каждого из нас, этот логотип показан на рисунке 8.13 (справа).
Рис. 8.13
Ошибались ли мы тогда, считая Digital Productions нашими конкурентами? Джон и Гэри никогда не заявляли, что видят своей конечной целью создание полностью цифрового фильма. Они почти всегда занимались производством спецэффектов для чужих фильмов. Лишь в одной области они напрямую конкурировали с нами — по крайней мере, мы так считали. Когда мы предложили студии Disney систему производства компьютерной анимации (CAPS) — как я описывал в главе о фильмах и анимации, — сотрудники Disney сказали нам, что рассматривают и альтернативное предложение от Digital Productions.
Мы уловили сигнал, что они хотят заниматься полноценной персонажной анимацией. Правда это или нет, но Джон и Гэри вызвали уважение. Они были умны и готовы играть по-крупному. Много лет спустя, в конце 1990-х, когда Гэри обратился ко мне с просьбой о помощи в его борьбе с вашингтонской бюрократией за изменение стандарта цифрового телевидения HDTV, я с радостью поддержал его.
Работа Digital Productions в «Последнем звездном бойце» впечатляла, но обходилась без цифровых персонажей. Мы хотели сделать персонажную анимацию. Для достижения цели нам не хватало чего-то очень важного — настоящего аниматора персонажей, человека с мистической способностью вдохнуть жизнь в плоские линии эскизов или объемные визуализированные треугольники.
На самом деле такой великий мультипликатор уже посещал нашу студию у Джорджа Лукаса. Брэд Бёрд разыскал нас в 1980 году, когда мы с нашими компьютерами еще занимали этаж над антикварным магазином в Сан-Ансельмо и делили офис с Марсией Лукас. Он хотел сделать с нами мультфильм. Более забавного человека я никогда прежде не встречал (и до сих пор не встретил). Пока мы гуляли по улицам Сан-Ансельмо и оживленно болтали, он постоянно вызывал у меня приступы неконтролируемого хохота. Но я знал, что он слишком чувствителен к творческим условиям, чтобы мириться с суровыми требованиями, которые накладывали в те времена компьютерные технологии на пользователей. Компьютеры громко шумели, требовали холодного кондиционированного воздуха и часто выходили из строя. А еще они работали возмутительно медленно.
Но всего через несколько лет у нас появился второй шанс. Теперь у нас было достаточно инструментов и наконец-то достаточно вычислительных мощностей благодаря действию закона Мура, но нам не хватало аниматора. И тогда мы с Эдом Катмуллом встретили именно того человека, который требовался нам для создания Фильма, — Джона Лассетера. Мы познакомились с ним во время одного из наших ежегодных визитов в студию Диснея, которые продолжались и после нашего перехода в Lucasfilm. Джон ничуть не боялся нас, в отличие от большинства аниматоров в Нью-Йоркском технологическом институте. Напротив, Джон нами восхищался. Он уже работал с MAGI над коротким демороликом к фильму «Там, где живут чудовища». Он видел «Трон». Он понимал, что значит работать с компьютером.
Согласно нашим с Эдом записям, мы уже встречались с Джоном раньше: сначала на Lucasfilm 16 февраля 1983 года, а затем еще раз — 11 мая, но тогда он не произвел на нас особого впечатления. Однако после третьей встречи, которая состоялась в студии Disney, мы запомнили его имя навсегда. Он предложил нам сходить в архивы Disney и спросил, что бы мы хотели посмотреть. У меня сразу же вырвалось: «Танцующих бегемотов Престона Блэра из „Фантазии“!» И он отправился с нами, чтобы показать оригинальные рисунки Блэра! Большим пальцем он быстро перелистывал веер раскадровок, как это делают аниматоры, и Гиацинтовый Бегемот танцевал! Этот момент пронизывала мощная, удивительная магия. Затем я попросил показать сцену с розовым слоником из «Дамбо», и Джон принес нужные рисунки. Я чувствовал, что между нами образуется духовная связь.
Но для нас с Эдом Джон оставался неприкасаемым. Он работал на Disney. Тем не менее тогда он произвел на нас сильное впечатление. Несмотря на свою молодость, он уже дважды получал студенческую премию Академии за лучшую анимацию в Калифорнийском институте искусств — школе персонажной анимации, которую основал сам Уолт.
В самолете по пути с конференции Siggraph 1983 года мы с Эдом решили, что на
Итак, в нашей анимации андроид по имени Андре просыпался, вставал и сильно потягивался. Поднималось солнце, освещая богатый и красивый природный ландшафт (отъезд камеры). Персонажная анимация! Не скажу, что это очень хороший сценарий, но тогда ничего подобного я еще не видел.
К счастью, пару месяцев спустя Эд побывал на конвенте, проходившем на лайнере Queen Mary, который навсегда пришвартован в Лонг-Бич и превращен в локацию для проведения различных мероприятий. Мы беседовали по телефону, обсуждая наши ежедневные коммерческие дела, когда Эд удивил меня: «Кстати, я только что видел Джона Лассетера. Он больше не работает на Disney». «Клади трубку ПРЯМО СЕЙЧАС, — заорал я, — снова найди его и возьми на работу!» Эд, конечно же, знал, что это отличная идея, и именно так он и сделал.
Возникла только одна загвоздка. Джордж Лукас сказал Эду, что группа компьютерной графики не должна заниматься персонажной анимацией. Он настаивал, что ею может заниматься только Disney. Поэтому в конце 1983 года Джон устроился к нам «разработчиком пользовательских интерфейсов», а не «мультипликатором», чтобы Джордж ничего не заподозрил. Долгие годы мы даже не подозревали, что Джона уволили из Disney именно из-за желания заниматься компьютерной мультипликацией.
Джон посмотрел мои раскадровки «Завтрака с Андре» и деликатно спросил: «Могу ли я внести несколько предложений?» — «Конечно, ради этого ты здесь!» И он приступил к спасению проекта. Во-первых, он сделал андроида более круглым и симпатичным. Эд разработал для него более податливое тело каплевидной формы. Оно было гораздо более гибким, чем набор сфер. Тогда Джон предложил добавить еще одного персонажа — пчелу. Каплевидные модели Эда стали ее ногами. Чтобы окончательно отдать дань уважения «Моему ужину с Андре», пчелу пришлось назвать Уолли в честь Уоллеса Шона. В конечном счете она стала пчелкой Уолли. Мы изменили название на «Приключения Андре и пчелки Уолли». Это была первая работа Джона с группой, известной теперь как студия Pixar, и мой второй опыт в качестве режиссера.
Пока не появился Джон, роль аниматора отводилась мне. В конце концов, я ведь сделал восхитительные хлопающие ладоши. Я еще не понимал, какой удивительный талант нужен настоящему персонажному аниматору, — я таковым определенно не обладал. Я заставлял треугольники двигаться, но не знал, как заставить их проявлять эмоции. Я не мог вдохнуть в них жизнь. Я заставлял ладоши хлопать, но мне не под силу убедить вас, что они принадлежат сознательному существу. Джон делал все это легко и непринужденно.
Наша команда не совсем успела закончить «Приключения Андре и пчелки Уолли» к Siggraph 1984 года в Миннеаполисе, но руководители конференции все же разрешили нам показать, что у нас получилось. Нет ничего приятнее, чем наблюдать, как тысячи ваших коллег, которые точно понимают, чего вы достигли, кричат, топают, аплодируют и одобряют вашу работу. Теперь мы занимались персонажной анимацией и отчетливо об этом заявили под гордо развевающимся флагом.
«Приключения Андре и пчелки Уолли» совершили настоящий художественный прорыв и воспринимались именно так. Это не просто подвижные объекты в форме неких существ. Это два
Прорыв мы совершили и в технологической сфере. Короткий мультик продемонстрировал, что у нас есть программы для моделирования, анимации, рендеринга и записи фильмов, достаточно сложные, чтобы воплотить мечту о созданных полностью на компьютерах трехмерных персонажах на экранах кинотеатров. И он отличался двумя конкретными технологическими достижениями.
Билл Ривз модифицировал свою идею системы частиц, которая имитировала плавящий планету огонь в «Демонстрации Генезиса». Придайте частице зеленый цвет и сделайте так, чтобы она оставляла за собой визуализированную траекторию движения, и вы получите… траву. Он также разработал версию своей системы для генерации деревьев. Она создавала облака частиц, которые имитировали листья, прикрепленные к стволам и ветвям, — желтые и оранжевые для лиственных деревьев и темно-зеленые для хвойных. Как и в случае с фракталами, несколько несложных вычислений, повторенных миллионы раз, усилили простой набор числовых данных, превратив его в сложное изображение «настоящего» леса. Впервые.
Но, что самое важное, «Андре и пчелка Уолли» продемонстрировали миру на Siggraph в 1984 году, что мы решили проблему размытия в движении. Крылья пчелки Уолли были размыты. Быстрое бегство Андре размазало его по всему кадру. Компания Cray выделила нам время на одном из своих суперкомпьютеров, чтобы мы успели закончить фильм к началу конференции Siggraph (и, возможно, чтобы уговорить нас наконец сделать у них заказ). На рисунке 8.14 показаны четыре последовательных кадра. По словам Лорена Карпентера, руководившего расчетами на Cray, количество вычислений в одном из кадров было настолько велико, что оно «поставило Cray на колени». Он решил, что никто не заметит, что размытие персонажа не просчитано до конца, и ограничился неполным кадром. Никто не заметил.
Рис. 8.14
Мы очень обрадовались и удивились, что Джордж Лукас посетил просмотр «Андре и пчелки Уолли». На самом деле он приехал в Миннеаполис на концерт кантри-певицы Линды Ронстадт, но не упустил возможности заглянуть на нашу премьеру на Siggraph. Лукас наконец увидел, на что мы способны! И увидел, что мы собрали и привели в восторг большую аудиторию. Много лет спустя, читая замечательную книгу Майкла Рубина «Создатель дроидов» об истории студии Lucasfilm, я узнал, что Лукас ненавидел эту нашу работу. К счастью, он нам он ничего не сказал. Это разбило бы нам сердца.
Нашу работу нельзя было назвать законченной и еще по одной причине, хотя она обсчитывалась на суперкомпьютере Cray. В одной сцене на переднем плане все еще фигурировали каркасные персонажи, хотя вряд ли кто-нибудь из тех, кто присутствовал на просмотре, обратил на это внимание. Кроме того, она не достигла той степени безупречности, как более поздние анимации Лассетера. Это был его первый опыт создания полностью компьютерного фильма с трехмерными анимированными моделями. Почти все, кто находился в зрительном зале — тысячи человек, — оценили огромный прогресс, которого мы достигли, и увидели будущее. Но Лукас, по-видимому, видел только то, что находится прямо перед ним в настоящий момент. Итак, перед вами еще один пример того, как человек с отличным от нашего ви´дением непреднамеренно помог нам реализовать наше. Но и мы помогли ему реализовать его собственное — четко спланированное и не менее важное — видение применения компьютеров в кинопроизводстве. Более того, несколько лет спустя он все же изменил свои воззрения. Лукас более плотно, чем любой другой кинематографист того времени, насытил созданными с помощью компьютеров образами вторую серию саги «Звездные войны».
А Джон Лассетер и Билл Ривз впервые отработали принципы своего сплоченного художественно-технического дуэта во время работы над «Андре и пчелкой Уолли». Джон занимался художественной стороной, а Билл — технической. Они бы не справились друг без друга.
Я очень горжусь, что среда, созданная нами в Lucasfilm и позже перенесенная в Pixar, не допускала пагубных стычек между технарями и художниками. Мы сформировали команду из взаимно восхищающихся друг другом творческих людей — и технарей, и художников, — равных по престижу, зарплате, карьерным перспективам, льготам, а главное, достоинству и уважению.
Одно малоизвестное «почти» произошло в последние годы нашей работы в Lucasfilm. Несмотря на сопротивление Джорджа Лукаса нашему стремлению заниматься компьютерным анимационным кино, мы чуть не сделали первый фильм, тот самый Фильм, с японской компанией.
В 1984 году представители наследника основателя крупной японской полиграфической компании Shogakukan («Сёгакукан») обратились к нам с масштабной идеей: снять первый цифровой фильм на основе легенд про озорного Царя обезьян (Сон Гоку), любимца японских детей (на самом деле — большинства детей в Восточной Азии). В этой концепции мне чудилось какое-то волшебство, так как Сон Гоку сопровождал нас на протяжении многих лет. Лэнс Уильямс рассказал нам о нем еще в Нью-Йоркском технологическом институте. Не возникало даже сомнений, что именно мы отлично подходим для этой работы. Все знаки указывали на это. Джон Лассетер немедленно приступил к изучению характера героя (рис. 8.15).
Но сколько мы должны запросить за производство такого фильма? Еще не существовало никакой методики расчета стоимости полнометражного цифрового фильма, поэтому я создавал ее с нуля. Я крутил цифры так и сяк, пытаясь принять во внимание все, что знал о логистике анимации, пиксельном разрешении, стоимости и скорости компьютеров, необходимом дисковом пространстве, расходах на съемку, персонал и оборудование, — всё, кроме расходов на рекламную кампанию и дистрибуцию копий. Результаты выходили не очень хорошими. В 1985 году заказчику все это обошлось бы в 50 миллионов долларов (около 120 миллионов в пересчете на сегодняшние деньги). Получившаяся сумма в два-три раза превышала разумную смету, особенно с учетом рискованности всей затеи — первого цифрового фильма с трехмерными персонажами и декорациями. Но черт с ними, с деньгами, — главная проблема заключалась в другом: по моим расчетам выходило, что на все вычисления нам потребовалось бы три года. Лорин Херр, наш переводчик и организатор делового взаимодействия с японцами, сразу поняла, что три года — это решающий фактор. Поэтому мы максимально изящно поблагодарили за предложение и отказались от сделки.
И усвоили ценный урок: у нас все еще слишком мало вычислительной мощности, чтобы экономически эффективно делать цифровые фильмы. Нам требовалось улучшение еще на один порядок. В 1985 году мы с кристальной ясностью, основанной на законе Мура, осознали, что нужно ждать еще пять лет, чтобы создать Фильм.
Отказавшись от проекта «Царь обезьян», мы погрузились в размышления, будет ли достаточно наших программных технологий в том виде, в каком они уже существовали в 1985 году, для создания Фильма, когда закон Мура наконец обеспечит аппаратную производительность нужного порядка. Будет ли это просто вопросом времени? Мы поставили правильный вопрос, но дать на него точный ответ было очень трудно.
Когда мы впервые задумали Фильм в 1970-х годах, еще работая в Нью-Йоркском технологическом институте, мы полагали, что у нас уже достаточно технологий, таких как программа Tween Эда Катмулла и моя программа TintFill для переднего плана, моя программа Paint3 для фона, опыт съемок Дэвида Ди Франческо и альфа-канал для создания композитных изображений. Что касается оборудования, мы имели в своем распоряжении 18 кадровых буферов, первый управляемый компьютером покадровый видеорегистратор вещательного качества для тестов и несколько мощных компьютеров. Также мы располагали цифровым аудио и зачатками системы логистики мультипликации, работе с которыми научились в классической анимационной студии в нашем кампусе. И в некотором смысле мы имели доступ к персонажным аниматорам, таким как Джонни Гент, работавший над «Табби Тубой» для дяди Александра Шуре. Нас окружали люди, которые уже обладали опытом съемки полнометражных мультфильмов и работали над новыми. Так что нам Фильм казался вовсе не маловероятной возможностью.
Рис. 8.15
Но мы в своих прогнозах допустили несколько просчетов. Самое главное: мы быстро поняли, что работа над двумерной полностью компьютерной анимацией слишком сложна для настоящих художников-мультипликаторов (тех, кто обучен классической целлулоидной анимации) из Нью-Йоркского технологического института. И мы со временем осознали, что студия Александра Шуре не справляется с продюсерскими задачами.
Кроме того, наша концепция Фильма на тот момент не соответствовала Центральной Догме компьютерной графики. Это кажется удивительным, поскольку Pixar прославилась созданием первого полнометражного цифрового фильма в «симфонической» форме Центральной Догмы — персонажной анимации, основанной на трехмерных евклидовых геометрических моделях, действующих в мире ньютоновской физики, видимых в линейной перспективе через виртуальную камеру и визуализируемой в пиксели для отображения.
В то время подобная симфоническая форма не была чуждой нам концепцией, но цифровой фильм на ее основе по-прежнему оставался недостижимым. В конце 1970-х годов, когда Лэнс Уильямс предложил сделать «Роботов» в качестве первого фильма в форме, отвечающей концепции Центральной Догмы, время еще не пришло. Он с Диком Ландином и несколькими другими сотрудниками Нью-Йоркского технологического института сняли несколько секунд довольно впечатляющих кадров. Но мы с Эдом проверили цифры на соответствие закону Мура и поняли, что производство полнометражных «Роботов» обойдется в сотни миллионов. Другими словами, время еще не пришло.
Но что, если бы закон Мура нас не ограничивал? Предположим, что нам бы хватило вычислительной мощности по разумной цене, чтобы снять полнометражный цифровой фильм. Далее предположим, что аниматоры персонажей работали бы с нами. В какой момент у нас оказалось бы достаточно технологических знаний, чтобы снять Фильм?
Удивительный ответ заключается в том, что в таком случае нам бы ничего не мешало сделать Фильм, за исключением одного технологического момента. По сути, всегда требовались программы для моделирования, анимации и рендеринга, но их качество росло по мере роста коэффициента, определявшегося законом Мура, как серфер взлетает все выше по вздымающейся волне. Гениальность художественно изобретательных аниматоров, собственно, и состоит в том, что они всегда способны воплотить захватывающую историю с учетом текущего уровня технологий. В конце концов, в 1937 году аниматоры Диснея превратили рисунки карандашом и заливку в полнометражную «Белоснежку».
Один из необходимых технологических скачков для создания цифровых фильмов, отвечающих Центральной Догме, — это размытие движения. Его значимость мы осознали — еще не зная, как его достичь, — после того как испытали неприятные ощущения при просмотре знаменитой покадровой съемки битвы скелетов в «Ясоне и аргонавтах» Рэя Гаррихаузена. Единственный технологический барьер, сдерживающий, скажем, реализацию «Роботов» (конечно, без учета закона Мура), заключался в отсутствии подходящего решения для размытия движения. Но вернемся к реальности: размытие движения не имело эффективного решения до тех пор, пока трио Пролетариев (Кук, Карпентер и Портер) не использовало эту технологию при создании «Андре и пчелки Уолли» в 1984 году, как показано на захватывающей картинке Портера «1984» (рис. 8.9). Так что в 1985 году у нас
Ранее я подробно описал несколько технологических приемов: использование фракталов, системы частиц и патчей-лоскутов при моделировании сложных поверхностей, а также наложение текстурных и рельефных карт, затенение по Фонгу и трассировка лучей при рендеринге. Но я утверждаю, что для Фильма
В качестве аргумента отмечу, что, по моему наблюдению, с каждым пятилетним поворотом рукоятки закона Мура становится возможным использовать все больше и больше изощренных технологических приемов. И их часто используют, чтобы еще более драматическим образом продемонстрировать приверженность Центральной Догме. Хотя это и не обрело статуса закона, можно сформулировать гипотезу, что в природе существует некая закономерность «постоянства объема кинопроизводства». По мере того как закон Мура экспоненциально сжимает время вычислений, необходимых для уже известных технологий, методы моделирования, анимации и рендеринга становятся все более изощренными, чтобы поглотить высвободившиеся вычислительные мощности и поддерживать неизменным постоянное общее время кинопроизводства на уровне года или около того. Это «постоянство» иногда называют законом Блинна, приписывая его формулировку Джиму Блинну.
На практике это означает, что сообщество компьютерной графики непрерывно изобретает новые алгоритмы и совершенствует старые. И что производственный процесс совершенствуется еще более эффективными способами. Следовательно, в погоне за созданием Фильма мы поддерживали технологический прогресс на постоянно высоком уровне, пока ждали, когда сработает закон Мура.
Закон Мура 10 000X–10 000 000X (1985–2000)
Джордж и Марсия Лукас развелись в 1983 году. Поскольку по законам Калифорнии супруги владеют совместно нажитой собственностью в равных долях, Джордж фактически потерял половину своего состояния за одну ночь. В течение следующих нескольких лет компьютерное подразделение студии разделилось на несколько отдельных компаний, предназначенных для продажи. Первыми ушли Проект обработки звука и его продукт SoundDroid, а также Проект редактирования видео и его продукт EditDroid. Они стали частью спин-оффа под названием The Droid Works. В Lucasfilm Джордж обязательно хотел оставить игровой проект. Впоследствии он превратился в игровую студию LucasArts. Джорджу оставалось только решить, что делать с Проектом компьютерной графики.
Я зашел в кабинет Эда Катмулла, расположенный рядом с моим, и объявил: «Эд, Лукас собирается нас уволить. Он никогда по-настоящему не понимал, кто мы такие и чем занимаемся, и он больше не может позволить себе содержать нас». Затем я употребил религиозное слово, значимое для нас обоих: «Если мы позволим нашей группе мирового класса распасться, то совершим настоящий грех. Давай создадим компанию, которая станет домом для всех нас». Это был разговор двух компьютерных ботаников. Никто из нас не имел никакого предпринимательского опыта с соответствующей ответственностью за бюджет и ресурсы. Максимум, нам доводилось работать менеджерами среднего звена. Мы даже не догадывались, насколько сложно привлекать деньги под проект.
Эд, конечно, сразу же согласился со мной, и мы первым делом отправились в «Чистое, хорошо освещенное место для книг» — популярный книжный магазин в близлежащем городке Ларкспур-Лэндинг, по соседству с Сан-Рафаэлем, откуда отправляются паромы в Сан-Франциско. Каждый купил по две книги (мои — на рис. 8.16) о создании компаний. Вы, наверное, уже составили представление о минимальном уровне нашего опыта в бизнесе в те времена.
Рис. 8.16
«Что будет делать компания?» — резонно спросил Эд, поскольку мы оба знали, что из Проекта компьютерной графики не получится отдельная киностудия, по крайней мере сейчас. Или, что гораздо важнее, у нашей компании пока что не выйдет извлечь выгоду из подобной перспективы. Проект «Царь обезьян» убедил нас, что нужно дождаться еще одного скачка согласно закону Мура. Снять настоящий фильм, который окупит все затраты, можно будет не ранее чем через пять лет, когда компьютеры станут на порядок лучше. Тем временем мы должны были заниматься чем-то еще, чтобы не потерять команду. Расчеты показывали, что ни компания — разработчик программного обеспечения, ни компания, занимающаяся цифровыми эффектами и рекламой, не принесет доходов, достаточных для содержания сорока человек. Мы решили сосредоточиться на аппаратном обеспечении.
У нас имелся прототип специального компьютера Pixar Image Computer, который группа сделала для Джорджа Лукаса как часть системы оцифровки — оптического принтера. Мы собирались следовать стандартной практике Кремниевой долины, привлекая капитал для создания прототипа и запуская его в производство. Других идей у нас не возникло. Пусть это будет наш компьютер. Серийный выпуск оборудования для цифрового кино обеспечит выплату зарплат всем сотрудникам нашей группы и позволит сохранить ее в течение тех пяти лет. Конечно, если бы мы не спешили и задумались, то наверняка бы вспомнили, как мало знаем о маркетинге, продажах, аппаратной инженерии, производстве, финансах, человеческих ресурсах и так далее. Наши знания находятся на уровне наемных сотрудников исследовательского отдела. Предполагалось, что мы всему научимся из четырех тоненьких книжек. Мы отчаянно хотели сохранить группу, которую собрали с таким трудом, сделать первый Фильм и при этом получать зарплату, пока не сработает закон Мура.
Поэтому мы с Эдом составили бизнес-план по разработке, выпуску и продаже Pixar Image, «суперкомпьютеров для пикселей», а также по сохранению небольшой группы экспертов по компьютерной анимации, собранной вокруг Джона Лассетера и Билла Ривза. Конечно, при условии, что они согласятся с планом, а ведь его предстояло исполнять в течение следующих пяти лет и готовиться сделать Фильм, как только придет время. Теперь мы приступили к поиску средств на создание компании.
Но сначала нам пришлось продать эту идею 38 другим членам Проекта компьютерной графики студии Lucasfilm. Мы с Эдом водили каждого из них, обычно по одному, в наш любимый тайский ресторан в центре Сан-Рафаэля. Мы описывали наш план, подчеркивая, что все сотрудники станут совладельцами новой компании. Мы, закоренелые коллективисты, действительно подразумевали
И, конечно, новой компании требовалось имя. Тут мы тоже выступали за равноправие. Каждый получил возможность придумать название и попытаться убедить других, что оно прекрасно. Однажды мы уже потерпели неудачу в этом вопросе. Мы неоднократно пытались придумать компьютерному подразделению Lucasfilm какое-нибудь крутое название, вроде того, что было у Industrial Light & Magic. Даже сам Джордж Лукас поучаствовал. Но мы не добились, чтобы хотя бы два человека из нашей команды согласились на какой-либо из предложенных вариантов, так что переименование не состоялось. И вот мы снова столкнулись с той же проблемой. В первых документах, относящихся к проекту нашей компании, мы ставили местозаполнитель. Какое-то время в качестве названия использовалось GFX (произносится как
Но вместо того чтобы говорить «фальшивые» изображения, давайте лучше назовем их нереальными.
В середине 1985 года мы с Эдом Катмуллом начали методичную работу по поиску финансирования для нашей новой компании. Бизнес-менеджеры Джорджа Лукаса стремились помочь нам, поскольку Lucasfilm получила бы часть дохода от любой сделки. Но мы не знали, через какое время они просто перекроют нам финансовый кран.
Первая идея заключалась в том, чтобы обратиться к венчурным капиталистам, которые, как известно, финансировали большинство стартапов в Кремниевой долине. С помощью студии Lucasfilm и ее бизнес-менеджеров мы разослали бумаги 36 венчурным инвесторам или инвестиционно-банковским фирмам. Но мы не соответствовали их представлениям о стартапе с начальным капиталом, а потому от всех получили отказы.
Затем мы попытались создать «стратегическое партнерство» с крупной корпорацией. Из десяти человек, с которыми мы серьезно поговорили, восемь нам отказали. Но мы почти заключили сделки с двумя крупными корпорациями, General Motors и Philips, — в то время General Motors была крупнейшей по капитализации компанией в мире.
Мы взаимодействовали с подразделением General Motors, которое раньше было отдельной компанией Electronic Data Systems. Ее возглавлял Генри Росс Перо. Спустя несколько лет он баллотировался в президенты США. General Motors рассматривала нашу технологию как способ заменить их дорогостоящую и трудоемкую методику лепки из глины для визуализации новых моделей автомобилей.
Затем с General Motors решила сотрудничать компания Philips, чтобы разделить финансовую нагрузку. Мы предлагали новую технологию визуализации, позволяющую получать трехмерные изображения внутренних органов человека с помощью компьютерной томографии без хирургического вмешательства — потенциально революционное достижение в области медицины.
В конце концов дело дошло до решающей встречи в зале заседаний советов директоров Philips в их штаб-квартире в центре Манхэттена, возвышающейся над Центральным вокзалом. Мы подписали договор о намерениях между General Motors, Philips и Lucasfilm 7 ноября 1985 года.
Но сделка так и не состоялась. Человек, которого никто из нас и, возможно, никто из присутствовавших в тот день в зале заседаний не знал лично, мистер Росс Перо, тремя днями ранее устроил разнос совету директоров General Motors за покупку компании Hughes Tools более чем за 5 миллиардов долларов. Такого, чтобы один член правления устроил разнос другим, в General Motors не было со времен Великой депрессии! Произошло нечто невероятное. Прошел еще год, прежде чем Перо фактически выгнали из General Motors, вручив 700 миллионов долларов в качестве компенсации. Но когда в
Здесь самое время напомнить, что основная идея моей книги — Цифровой Свет, а не только цифровые фильмы. Обратите внимание, что ни визуализации автомобильных кузовов для General Motors, ни медицинская визуализация для Philips не имели ничего общего с цифровыми фильмами. Однако и то и другое относится к Цифровому Свету. Моделирование кузова автомобиля — это часть автоматизированного проектирования (САПР), хотя в нашем случае General Motors больше интересовались изображениями автомобилей, которые мы визуализировали из внутренних компьютерных моделей, чем самими объектами. Медицинская визуализация принадлежит к области обработки изображений — фотографирование (человеческого тела), а не их создание. Мы также исследовали еще несколько направлений Цифрового Света: визуализация нефтяных скважин для геологоразведки, разведывательные спутниковые снимки, испытания механических деталей на тепловые нагрузки, газодинамика. Мы готовились использовать любой шанс, чтобы получить финансирование и сохранить команду для достижения главной цели — Фильма.
Сорвавшаяся сделка с General Motors — Philips стала нашей сорок шестой попыткой получить финансирование. Мы с Эдом очень разозлились. А у студии Lucasfilm окончательно лопнуло терпение. В лимузине из аэропорта, на обратном пути в Калифорнию, мы решили совершить отчаянную попытку — вернуться к обсуждению сделки со Стивом Джобсом.
Тремя месяцами ранее, 4 августа 1985 года, Стив пригласил Эда, меня и Аджита Гилла, нашего финансового менеджера, в свой особняк в Вудсайде, недалеко от Пало-Альто. Стива только что выгнали из Apple. Он предложил купить нас у Lucasfilm и возглавить нашу новую компанию. Мы отказались, так как хотели сами управлять компанией, но согласились принять его деньги. Его устроил наш вариант.
Но когда Стив представил студии Лукаса свое финансовое предложение, его сразу отвергли. Он был готов заплатить в диапазоне от 7 до 14 миллионов долларов. На переговорах с General Motors и Philips шла речь о цене от 20 до 36 миллионов долларов. И сделка должна была вот-вот состояться.
Но теперь, когда переговоры с General Motors — Philips сорвались, мы с Эдом решили позвонить Стиву и попросить его снова сделать Лукасу то же самое предложение — на сумму меньше половины той сделки, которая только что потерпела крах. Мы полагали, что студия Lucasfilm, пребывающая в тяжелом финансовом положении, умерит свои запросы. Стив откликнулся на нашу просьбу, Lucasfilm пошла на снижение запрашиваемой суммы, и именно так Стив Джобс стал тем венчурным капиталистом, который профинансировал создание студии Pixar. Обратите внимание: он не купил студию Pixar, как очень часто и совершенно неправильно пишут об этой сделке. Он вложил свои средства в компанию, которая выделилась из более крупной компании — студии Лукаса — и частично принадлежала своим сотрудникам.
Сделку заключили практически на тех же условиях, которые мы обсуждали еще в августе. Мы с Эдом будем управлять компанией: он — в качестве президента, я — в качестве исполнительного вице-президента. Стив будет мажоритарным акционером, и мы втроем войдем в состав правления корпорации. Все наши сотрудники получат долю в компании. Стиву будет принадлежать 70 %, а сотрудникам — 30 %. Мы с Эдом получили по 4 % каждый, а 38 других сотрудников-основателей — соответствующие меньшие доли по градуированной шкале. Стив обеспечил компании капитализацию в 10 миллионов долларов. При подписании соглашения мы получили от него первый чек на 5 миллионов, и Эд немедленно передал его студии Lucasfilm как оплату за покупку прав на технологию, которую мы разработали там, включая Pixar Image Computer. Мы получили исключительные права, но Lucasfilm оставила за собой возможность использовать все эти технологии в том виде, в каком они существовали на момент нашего ухода.
Итак, студия Pixar родилась 3 февраля 1986 года в Сан-Рафаэле, к северу от Сан-Франциско. Нам удалось сохранить всю команду, включая наших самородков-аниматоров. И, как и положено всем начинающим предпринимателям, мы верили, что у нас есть замечательный продукт — компьютер Pixar Image. Тем временем Стив продолжал руководить компанией NeXT, еще одним проектом по производству мощного компьютерного оборудования, примерно в полутора часах езды к югу от Сан-Франциско. Это физическое расстояние оказалось для нас Божьим даром.
В течение следующих пяти лет мы сохраняли возможности для создания Фильма путем выпуска серии короткометражных мультиков, сделанных Лассетером, Ривзом и их командой. Таким образом они оттачивали свои навыки, а все мы развивали наши алгоритмы моделирования, анимации и рендеринга и просто поднимали себе настроение. Среди этих короткометражек был «Люксо-младший» (
Каждый из наших мультиков демонстрировал улучшения базовых внутренних технологий. Например, «Люксо-младший» включал первые сочлененные объекты, которые сами затенялись от нескольких источников света. Два источника света, две лампы, участвовали в самой сцене — еще одно достижение, которое мы реализовали первыми.
С художественной точки зрения посредством мультфильма «Люксо-младший» Джон Лассетер пытался убедить своих коллег-аниматоров не считать компьютер тупой, негибкой, прямолинейной, арифметической машиной для расчетов, противоречащей искусству. Со своей задачей он справился блестяще. Все, а особенно художники-аниматоры, воодушевленно отметили, насколько живыми выглядели лампы. У них, правда, еще возникал вопрос: какого они пола? Отец и сын? Мать и дочь? Правдоподобность лежащих в основе геометрических моделей и точность затенения аудиторию заботили гораздо меньше. Джон намеренно не обозначил гендерную принадлежность ламп, оставляя это на усмотрение зрителей.
Еще одна жемчужина — «Звезда цирка» — разрабатывалась, чтобы продемонстрировать наш аппаратный продукт — компьютер Pixar Image. Действие разворачивается в велосипедном магазине — этот фон стал самой сложной сценой трехмерной компьютерной графики, которую кто-либо пытался визуализировать в те времена.
Наша пятая жемчужина — это CAPS, компьютерная система для производства анимации, которую мы создали для Disney. Она позволяла поддерживать взаимно уважительные отношения между Pixar и Disney, а еще приносила нашей развивающейся компании основной доход. Все классические анимации Disney в течение многих лет выполнялись в системе с использованием компьютеров Pixar Image с программным обеспечением, написанным сотрудниками Pixar (и логистическим программным обеспечением, созданным сотрудниками Disney). Disney впервые использовал CAPS для одной сцены в «Русалочке» (1989). Первым фильмом, полностью сделанным с помощью нашей системы, были «Спасатели в Австралии» (1990). В итоге CAPS использовался для производства 18 художественных фильмов студии Disney, которая оставалась основным заказчиком Pixar Image Computers. Это было частью сделки CAPS.
Но как компьютерная компания Pixar была довольно паршивой. Нет, не компьютеры, а именно сама компания. Даже знаменитый производитель оборудования Стив Джобс, владеющий большей частью компании и входивший в правление, не сумел сделать ее успешной. За пять лет мы неоднократно терпели неудачи. Они обычно выражались в следующем: у нас заканчивались деньги и мы не могли оплатить наши счета или выдать зарплату сотрудникам. Будь у нас какой-нибудь другой инвестор, а не Стив, мы бы уже давно пошли ко дну. Но при каждой неудаче (по-видимому, Стив не мог смириться, что его очередное предприятие после изгнания из Apple потерпит крах) он ругал нас, руководителей… и выписывал очередной чек. Однако он не забывал эффективно обесценивать капитал своих сотрудников. После нескольких таких «рефинансирований» оказалось, что он вложил в Pixar около половины своего 100-миллионного состояния, полученного от Apple. В пересчете на сегодняшние деньги он вложил в Pixar около 115 миллионов долларов. На пятом году существования компании он наконец выкупил ее целиком, но выкупил у сотрудников 6 марта 1991 года, а не у Лукаса в 1986-м, как многие полагают. Теперь он стал единоличным владельцем компании. У нас, сотрудников, больше не осталось ни одной акции.
Но компания по-прежнему переживала серьезные финансовые проблемы. Мы пробовали заниматься всевозможными побочными проектами, например телевизионными коммерческими роликами, которые делала небольшая команда Джона Лассетера и Билла Ривза. Но все это не приносило достаточной прибыли, чтобы окупить нашу компанию. Джобс рассматривал идею объединения нас с NeXT, но его соучредители не поддержали такую инициативу. На самом деле оставался только один выход. Нас мог спасти только закон Мура, сделав наконец производство Фильма экономически оправданным. Только полнометражный фильм принесет достаточно денег, чтобы спасти нас.
Это была безумная скачка… Мое сотрудничество с Pixar было коротким и славным, но я считаю его одним из самых плодотворных и приятных периодов в моей карьере.
Шестой жемчужиной Pixar в годы, предшествовавшие Фильму, был RenderMan. Его название обыгрывало название плеера Walkman фирмы Sony.
Путь к RenderMan начался в 1970-х годах в Университете Юты с авторских методов затенения, таких как затенение по Гуро или затенение по Фонгу. Затем, как мы уже рассказывали, Роб Кук в начале 1980-х обобщил их понятия с помощью языка шейдинга, работая в Lucasfilm. Он написал свою систему в качестве внешнего интерфейса внутреннего программного решения для рендеринга, сделанного на Lucasfilm. Оно представляло собой программу Reyes, изначально написанную Карпентером, а затем существенно доработанную Куком. Имя Reyes (произносится как английское слово «rays» — «лучи») — это искусная аббревиатура, придуманная Лореном. Она расшифровывается как Renders Everything You Ever Saw («Визуализирует все, что вы когда-либо видели») или Renders Everything You’ll Ever See («Визуализирует все, что вы когда-либо увидите»). Кроме того, имя Reyes напоминало название местного национального заповедника на побережье Пойнт-Рейес. Программа была написана для работы на специальном оборудовании Lucasfilm.
Следующим большим шагом стало освобождение языка шейдинга от специфики оборудования Lucasfilm. Произошел переход от конкретного к
Вспомните универсальную машину Тьюринга — картонную карточку из главы о вычислениях. Она понимала язык с инструкциями вроде «3: 4 # [картинка]», что означает «если вы видите цифру 3 в ячейке ленты через отверстие, то замените ее на 4, переместитесь на один квадрат влево и поверните карточку, чтобы она выглядела как картинка». Каждый компьютер имеет похожий мучительный язык машинных инструкций, который уникален для этой конкретной модели.
Настоящий прорыв в вычислительной технике совершила разработка стандартных языков программирования высокого уровня, таких как язык C, придуманный в Bell Labs. Они работали на любом компьютере. Пользователь пишет программу на языке, похожем на английский. Получившийся текст пропускается через специальную программу-комплилятор, которую программисту не обязательно понимать, — она преобразует инструкции стандартного языка программирования в команды машинного языка конкретного компьютера. Например, когда кто-то покупает систему Unix, она поставляется в комплекте с высокоуровневым языком C и компилятором для C в низкоуровневый машинный язык машины покупателя. В некотором смысле для разных машин существуют разные C.
Точно так же RenderMan освобождает создателя изображений от необходимости знать особенности оборудования для рендеринга какой-либо одной компании. Когда вы покупаете RenderMan, вы получаете его язык затенения, компилятор этого языка и полную систему рендеринга для любого конкретного оборудования, которое поддерживает этот язык. Кинематографисту, скажем, достаточно знать язык затенения RenderMan, а система RenderMan позаботится обо всем остальном — о генерации пикселей, — так сказать, за кулисами.
Разработку стандарта RenderMan возглавил Пэт Ханрахан, один из первых сотрудников, нанятых Pixar после основания компании. Пэт, деликатный и улыбчивый человек, попал в мир компьютерной графики из мира червей.
В Университете Висконсина он писал дипломную работу по нейронной структуре
Традиция соблазнять компьютерной графикой специалистов из других отраслей продолжалась. Джим Лоусон (из эпиграфа) вначале работал в Проекте цифрового аудио студии Lucasfilm. Как и Пэт Ханрахан, он присоединился к Pixar вскоре после ее основания. Джим и Пэт вместе трудились над усовершенствованием внутреннего языка затенения Роба Кука и превращением его в язык затенения RenderMan, предназначенный для внешнего мира. Лоусон напишет «внутренний» генератор пикселей для RenderMan.
Подробно рассказывать о RenderMan я здесь не буду, но краткий список некоторых официальных определений на его теперь уже стандартном языке затенения вас точно не удивит:
RenderMan отделил художника от инструмента. У всех, кроме студий Lucasfilm и Pixar, возникли бы сложности с использованием программы для рендеринга Reyes Карпентера и Кука. RenderMan сделал технологию доступной для нового сообщества — как художников, так и технических специалистов — за пределами Pixar. С его помощью программа моделирования A могла общаться с модулем визуализации RenderMan X, а программа моделирования B могла общаться с модулем визуализации RenderMan Y. Все это функционировало, хотя все программы (A, B, X и Y) были разработаны совершенно независимо друг от друга. В некотором смысле существуют разные RenderMen [sic!] для разных компьютеров. Другими словами, люди используют язык для управления различными средствами визуализации RenderMan, которые совместимы с различными программами моделирования и работают на разных компьютерах. Переход от прямого программирования методов затенения к языку затенения (Кук) стал очень значительным шагом, а скачок от специфического языка к стандартному (Ханрахан) ознаменовал еще более колоссальный прогресс.
Создать хороший стандарт сложно — его необходимо очень тщательно продумать, чтобы он оставался универсальным и актуальным на протяжении долгого времени. Раньше существовало много графических стандартов, но Ханрахан первым включил в них программируемое затенение. Благодаря обеспеченной им гибкости RenderMan существует уже 30 лет.
RenderMan, опубликованный в 1990 году, стал основным голливудским продуктом для создания визуальных эффектов и анимации, основанным на Центральной Догме компьютерной графики. Вместо разработки различных алгоритмов затенения треугольников, каждый из которых несовместим со всеми остальными, RenderMan установил общую основу для всех таких алгоритмов. В результате производительность процесса визуализации существенно повысилась.
И индустрия щедро вознаградила разработчиков. Роб Кук, Лорен Карпентер и Эд Катмулл получили премию Американской киноакадемии за свой вклад в компьютерную киновизуализацию в 2001 году — первый «Оскар», присужденный за работу в области информатики. Пэт Ханрахан получил за RenderMan три награды Технической академии, одну из которых разделил с Лореном, Робом, Эдом и другими. Роб, Эд и Пэт удостоились премии Кунса, высшей награды Siggraph. Когда я заканчивал работу над книгой в марте 2020 года, мне сообщили, что Эду Катмуллу и Пэту Ханрахану присуждена премия Тьюринга.
Часы закона Мура неумолимо тикали, и наконец наш час пробил: компьютеры преодолели новый рубеж — шаг в 100 000 раз. И тогда — через пять лет после создания Pixar, в 1991-м, — на сцену вышла студия Disney, руководство которой предложило: «Давайте сделаем тот фильм, о котором вы всегда мечтали». Да, они профинансировали создание этого фильма и спасли репутацию (и инвестиции) Стива Джобса и компанию Pixar. Идея Фильма не принадлежит Стиву Джобсу, как иногда ошибочно считают. Джобс занимался компанией NeXT. Он никогда не говорил с нами о кино. Это была идея Disney, наша мечта и цель с 1970-х годов.
Мы пять мучительных лет ждали возможности начать работу над Фильмом. Но возникла серьезная проблема. Наш ведущий аниматор Джон Лассетер отказывался работать со студией Disney. Ведь его оттуда выгнали. И он полагал, что Джеффри Катценберг, возглавлявший отдел анимации Disney, — тиран, с которым невозможно работать. Итак, мы с Эдом снова ужасно разозлились.
Но нам повезло. Катценберг понял проблему и сам сделал шаг нам навстречу. В 1991 году он организовал совещание в штаб-квартире студии Disney в Бербанке — специально чтобы убедить Джона в
Совещание вел Катценберг. Он начал с сюрприза для нас с Эдом: «Я пытался переманить у вас Джона, но он оказался верен вам и не захотел вас покинуть». Мы этого не знали. Джон ничего не сказал нам. «Поэтому, чтобы использовать его талант, над созданием фильма студия Disney будет работать совместно с компанией Pixar». Я перефразирую Катценберга: «Джон, я знаю, что считаешь меня тираном, поэтому сегодня я собираюсь сделать следующее. Мы со Стивом покинем переговорную. Тогда остальные смогут сколько угодно общаться друг с другом, если захотят, и задавать самые откровенные вопросы, какие только смогут, о том, как здесь все устроено на самом деле и каков я в работе». Так, собственно, и получилось. В частности, остаток дня Джон провел в беседах с аниматорами и режиссерами студии Disney.
После совещания, когда мы шли к нашей арендованной машине, чтобы ехать в аэропорт Бербанка, я догнал Джона, и мы оказались немного впереди всех остальных. Наш разговор никто бы не услышал. «Ну и что ты думаешь?» — нервно спросил я его. «Я могу этим заняться», — ответил Джон. Я сразу понял, что сделка состоялась. Неважно, что нам предстояло обсудить и заключить контракт, решить технические и организационные вопросы, — все по-настоящему существенные препятствия уже устранены.
Но уйти пришлось мне — из-за конфликта со Стивом Джобсом. Примерно годом ранее на одном из рутинных совещаний совета директоров студии Pixar в ходе обычного спора он вдруг начал вести себя по отношению ко мне совершенно издевательским образом, что обернулось печально известным «инцидентом с презентационной доской». Более подробно об этом можно прочитать в книге Уолтера Айзексона «Стив Джобс».
Теперь, когда наш визионерский Фильм, о котором мы мечтали 15 лет, вот-вот воплотится в жизнь, мне предстояло покинуть Pixar. Поэтому я договорился об условиях своего ухода, чтобы основать новую компанию Altamira Software (в честь пещеры с рисунками первобытных людей и опять с испанским словом). Она занималась программой с альфа-каналом для редактирования пикселей. Программа появилась на рынке в 1994 году, а пару месяцев спустя компанию купила корпорация Microsoft.
Эд Катмулл подписал контракт с Disney в июле 1991 года. В студии Pixar, где я продолжал занимать свой кабинет до сентября того же года, мы отпраздновали сделку шампанским.
И вот это наконец случилось! За четыре года компания Pixar с помощью студии Disney завершила работу над полнометражным, полностью компьютерным анимационным Фильмом, и в 1995 году состоялась его премьера. Прошло 20 лет с тех пор, как костяк группы впервые собрался вместе в Нью-Йоркском технологическом институте, и 15 лет с тех пор, как эта группа в расширенном составе снова собралась в студии Lucasfilm. Приближалось десятилетие с момента основания компании Pixar. В «Истории игрушек» сконцентрировался мощный поток технического и художественного творчества тех талантов, о которых я рассказывал в этой главе и которые, в свою очередь, опирались на достижения талантов и гениев из предыдущих глав. Этот фильм наглядно показал, что значит Великая цифровая конвергенция. Хотя поначалу технологии Цифрового Света сконцентрировались в области цифровой анимации, вскоре их влияние распространилось и на другие области, такие как видеоигры и виртуальная реальность. Через несколько лет трехмерная компьютерная анимация практически заменила классическую двумерную. Цифровой Свет не просто ввязался в гонку — он одержал победу.
«История игрушек» имела бешеный успех почти сразу, как только над ней завершилась работа, как только фильм оказался «в банке» — так говорят киношники, имея в виду большие круглые жестяные коробки с кинопленкой. Когда Pixar и Disney привезли его в Нью-Йорк на премьерный показ, кинокритики встретили его восторженно.
Джобс не упустил момента и сделал блестящий ход, который помог ему поправить деловую репутацию и превратиться в миллиардера. Опираясь на довольно призрачные перспективы успеха цифровой анимации, Джобс решил, что на фоне премьеры «Истории игрушек» в ноябре стоит сделать Pixar публичной компанией. Pixar практически не приносила постоянной выручки, за исключением доходов от продажи не слишком успешной аппаратной продукции, процентов от продажи моей компании Altamira и лицензионных сборов за патент на размытие изображения, которые выплачивали Microsoft и Silicon Graphics, первая компания Джима Кларка. Выпуск акций Pixar состоялся 29 ноября 1995 года и оказался очень успешным, став самым крупным публичным размещением за год, превзойдя даже триумф второй компании Джима Кларка, Netscape.
Об успехах Pixar после «Истории игрушек» написано так много, что здесь я ограничусь лишь небольшим дополнением. Примерно к началу нового тысячелетия Pixar выпустила еще три успешных цифровых фильма: «Приключения Флика» (1998), «Историю игрушек 2» (1999) и «Корпорацию монстров» (2001). На момент написания этой книги (2020 год) Pixar выпустила уже 23 цифровых фильма. Студия Disney выкупила компанию — наконец-то! — в 2006 году более чем за 7 миллиардов долларов. Сумма особенно поражает, если учесть, что в 1970-х они могли заполучить нас бесплатно, когда мы молились на них, в середине 1980-х — купить за 10 миллионов долларов у Джорджа Лукаса, когда Джобс стал нашим последним шансом на спасение, в конце 1980-х — приобрести за 50 миллионов долларов у Джобса, когда он собирался продать нас кому угодно, чтобы избежать позора и сохранить репутацию компьютерного гения и предпринимателя.
Ребята из Pacific Data Images талантливо управляли своей компанией. Они не первыми начали заниматься компьютерной графикой, но пережили всех, кто стартовал примерно тогда же — в конце 1970-х и начале 1980-х годов. Они работали на готовых компьютерах и никогда не совершали ошибок вроде разработки собственных или покупки суперкомпьютеров. Они добились финансовой устойчивости, выполняя сотни заказов для телевизионных каналов, например делая трехмерные вращающиеся логотипы. В 1985 году они хотели снять цифровой фильм, но не нашли финансирования. Неудивительно, если учесть, что примерно в то же время мы констатировали невозможность снять «Царя обезьян» по финансовым соображениям. Но это также говорит о том, что Pixar, вероятно, стоило рассматривать их как конкурентов нашему Фильму.
PDI сделала несколько короткометражных фильмов в конце 1980-х годов, примерно тогда же, когда и Pixar свои «жемчужины». Мне сразу приходят на ум «Индустриальная опера» (
Не отказываясь от идеи снять полнометражный фильм, PDI сформировала в 1991 году группу персонажной анимации, чтобы получить навыки и художников, необходимых для цифрового кино. Затем к ним присоединился Эрик Дарнелл, аниматор, только что закончивший основанный Диснеем Калифорнийский институт искусств, где обучались Джон Лассетер и Брэд Бёрд (хотя Дарнелл получил диплом по экспериментальной, а не персонажной анимации). Вскоре он создал свою жемчужину «Газовая планета» (
В 1994 году Джеффри Катценберг покинул студию Disney после ожесточенной борьбы за власть с президентом компании Майклом Эйснером и племянником Уолта Роем Э. Диснеем. Затем в конце 1994-го он вместе со Стивеном Спилбергом и Дэвидом Геффеном стал соучредителем DreamWorks SKG (название — по именам основателей), получив существенное финансирование от одного из создателей Microsoft Пола Аллена.
DreamWorks SKG, в свою очередь, вложила довольно большие деньги в Pacific Data Images в 1995 году, получив в ней миноритарную долю. Новую компанию назвали PDI/DreamWorks, а переименовали в DreamWorks Animation, когда основатель PDI продал свою оставшуюся долю. Я дальше буду использовать название DreamWorks. 2 октября 1998 года компания выпустила свой первый цифровой полнометражный фильм «Муравей Антц», режиссером которого выступил Эрик Дарнелл.
После «Муравья Антца» Эрик работал в качестве сюжетного художника над «Шреком» (2001), вторым цифровым фильмом DreamWorks. В 2001 году Американская академия киноискусства учредила новую категорию премии «Оскар» — за лучший полнометражный анимационный фильм. «Шрек» стал первым цифровым фильмом, получившим ее, обойдя «Корпорацию монстров» студии Pixar (2001).
На момент написания этой книги (2020 год) DreamWorks выпустила множество полнометражных цифровых фильмов, в том числе четыре из франшизы «Мадагаскар», пять из франшизы «Шрек», шесть из франшизы «Кунг-фу Панда» и три из франшизы «Как приручить дракона».
PDI и DreamWorks заслуживают гораздо больше внимания, чем я могу уделить им в этой главе. Я упомянул их историю, чтобы вы поняли, какое они имеют отношение к событиям, переплетение которых привело к созданию Pixar. Многие технологические достижения, сделанные этой группой, заслуживают подробного и всестороннего изучения, как и каждый из тех, кто внес свой вклад в успех этой компании. То же самое следует сказать о MAGI и Blue Sky, о которых я вкратце упомяну дальше.
Они проецировали на них свое воображение, и оно накачивало их так, что казалось, будто персонажи выходят за пределы экрана. Пространство между зрительным залом и экраном заполнилось энергией вовлеченности, которую, кажется, можно было пощупать, а ее колебания — или ее интенсивность — стали единственным мерилом творческой целостности, о котором я когда-либо заботился впредь.
MAGI и Нью-Йоркский технологический институт, две студии компьютерной графики, в конце 1970-х располагались примерно в 20 милях друг от друга по прямой. Но только по прямой. Между ними находился Нью-Йорк.
Карл Людвиг, консультант фирмы Celco в MAGI, общался с Дэвидом Ди Франческо из Нью-Йоркского технологического института в конце 1970-х, когда Дэвид рассматривал возможность покупки видеомагнитофона Celco. MAGI использовала аппаратуру Celco для записи графики, которую они производили для диснеевского «Трона» (1982). Впоследствии они взяли на работу Людвига, который продолжил дорабатывать и улучшать программное обеспечение MAGI для трассировки лучей.
Крис Уэдж был главным аниматором MAGI во время работы над «Троном». Затем он и Джон Лассетер из «Диснея» вместе трудились над проектом «Там, где живут чудовища» в 1983 году: Лассетер делал двумерный передний план, а Уэдж — трехмерный задний.
В феврале 1987-го, после закрытия MAGI, Уэдж, Людвиг и еще четверо бывших сотрудников соучредили Blue Sky Studios на Восточном побережье. Это произошло почти через год после того, как мы с Эдом основали Pixar на Западном побережье. Blue Sky оставалась на плаву в течение первых нескольких лет с помощью телевизионных рекламных роликов и спецэффектов для художественных фильмов.
И у них тоже есть свои жемчужины. Две первые создал Крис Уэдж. Сначала он сделал серию эпизодов с компьютерной анимацией тараканов для игрового фильма «Квартира Джо» (1996). Компания 20th Century Fox в достаточной степени впечатлилась талантом Уэджа и купила студию Blue Sky в 1997 году.
Тем временем Уэдж работал над своей второй жемчужиной — короткометражным компьютерным мультфильмом «Банни» (
«Ледниковый период» (2002) Уэджа стал первым путешествием компании в мир цифрового полнометражного кино и дал старт множеству других успешных проектов. Он получил номинацию на «Оскар» в 2002 году как лучший полнометражный анимационный фильм. На момент написания этой книги (2020 год) компания выпустила 13 полнометражных цифровых фильмов, в том числе пять — только из франшизы «Ледниковый период».
Как я уже упоминал выше, MAGI и Blue Sky достойны более подробного исследования, но не в этой книге. Важно подчеркнуть, что Pixar,DreamWorks и Blue Sky почти одновременно отпраздновали пришествие Великой цифровой конвергенции выпуском полнометражных цифровых фильмов на рубеже третьего тысячелетия.
В финальной главе я снова начну обсуждение всего Цифрового Света. Как бы Фильм и его собратья ни ослепляли нас, мы постараемся осмыслить поистине гигантский размах пространства Цифрового Света. Цифровое кино — лишь его частный случай.
Подведение итогов
Мы завершаем наше стремительное путешествие по первым тридцати с лишним годам истории компьютерной графики Эпохи 2. Мы проследовали от первых цветных пикселей 1967 года до первых цифровых фильмов третьего тысячелетия. Закон Мура сопровождал нас на протяжении всего пути. Начиная с коэффициента 1 в 1965 году, он стремительно вырос в 10 000 000 раз на границе тысячелетия — на семь порядков! Это было необходимо для первых цветных пикселей, а тем более для первых цифровых фильмов. Их вообще бы не существовало без закона Мура и триумфа творческой инженерной мысли, которую он воплощает.
Мы остановились на границе нового тысячелетия, как раз перед тем, как большие студии компьютерной анимации начали зарабатывать многие миллиарды долларов. Я едва затронул события последующих почти двух десятков лет, в течение которых коэффициент закона Мура вырос до 100 000 000 000 — еще на четыре порядка! Это ракетное топливо продолжающейся революции и новых медийных успехов. Виртуальная реальность наконец-то стала практичной.
Цифровые фильмы — лишь капля в огромном океане Цифрового Света. Тем не менее многие уроки из их истории помогают понять географию остальной части этого океана. Например, виртуальная реальность — это, по сути, два цифровых фильма, которые вычисляются в реальном времени по одному для каждого глаза с целью создания стереоэффекта. Добавьте сюда интерактивность, и вы получите игровую форму виртуальной реальности. Все, что вы знаете о геометрическом моделировании, рендеринге, пикселях, дисплеях, сглаживании, анимации и Центральной Догме, непосредственно переносится из одной области в другую.
Во многих главах этой книги я придерживался общей схемы, состоящей из: (1) идеи, (2) хаоса, который ею движет, и (3) тирана — или, если взять слово с менее негативной коннотацией, покровителя, — который обеспечивает, часто неосознанно, достаточно ресурсов или поддержки для ее реализации. Идея, о которой я рассказывал в последний главе, — это способность компьютеров создавать полнометражные анимационные фильмы. Хаос, который привел к их появлению, заключается в разрушении привычной вселенной и вызван грандиозным взрывом закона Мура. Единственный способ понять значение взрыва на семь порядков — просто пережить его и оседлать поднятую волну, пока она вздымается на один порядок за каждый период.
Что касается тиранов, то первоначально компании Pixar покровительствовал Александр Шуре, который первым предоставил нам комфортабельный приют и подходящее оборудование (лучшее в мире на тот момент) для ранних стадий разработки. Дядя Алекс, пожалуй, самый странный из всех богатых покровителей нашей команды. Он был первым — значит, самым храбрым или самым безумным, а еще единственным, кто потерял все. Затем нас поддерживали Джордж Лукас и Стив Джобс, оба ставшие миллиардерами, причем свой первый миллиард Джобс получил непосредственно от инвестиций в Pixar. Неофициально существовал четвертый (и невоспетый) покровитель, Рой Дисней, племянник Уолта, о котором говорилось в главе о фильмах и анимации. Во время двух решающих моментов в истории Pixar он, используя свое влияние, помогал нам двигаться вперед. В результате компания Disney приобрела студию Pixar и заработала на ней миллиарды.
Нашим главным покровителем был Стив Джобс. Он же оказался и нашим самым страшным тираном. Он выделил нам — по-видимому, из своих эгоистичных соображений — деньги и время, которые позволили нам пережить последние несколько лет ада перед реализацией великой идеи Фильма.
Стив не имел никакого творческого отношения к «Истории игрушек». Ральф Гуггенхайм, который первым вступил в контакт с Lucasfilm в Нью-Йоркском технологическом институте и стал сопродюсером «Истории игрушек» в студии Pixar, заявил в своей недавней книге: «Я бы сказал, что между 1986 и 1995 годами, когда вышла „История игрушек“, Стив, вероятно, — и я не преувеличиваю — приезжал к нам не более девяти раз за девять лет». Стив хотел влиять на процесс и требовал, чтобы Джон Лассетер регулярно посещал его и показывал промежуточные результаты. Но точно так же, как мы с Эдом по возможности старались избегать визитов Стива в помещения Pixar, Лассетер никогда не допускал Джобса к участию в совещаниях творческой команды. Да и вряд ли это имело значение. Стив тогда сосредточился на своей компании NeXT, расположенной в полутора часах езды от нас, и ему не давали покоя более серьезные финансовые проблемы.
Но когда «История игрушек» вышла на экраны и получила положительные отклики критиков, Джобс ухватился за нее и — как блестящий предприниматель — превратил Pixar в публичную компанию. Чтобы обеспечить успех публичного размещения акций, Джобс придумал маркетинговый миф, будто он участвовал в создании Pixar и с самого начала руководил ею в качестве генерального директора. Все это неправда, чему есть документальные подтверждения. И, конечно же, Стив позаботился, чтобы на премьере «Истории игрушек» перед камерами красовался он сам, а не Эд Катмулл.
О понимании
Конечно, я не ожидаю, что вы сможете создать полнометражный мультфильм после прочтения этих глав, но надеюсь, что таинственный процесс извлечения кино из компьютера станет для вас немного прозрачнее. Процесс, по сути, таков: вычислить, какой средний цвет правильно представляет местоположение каждого пикселя. Это может быть — и чаще всего бывает — очень сложным вычислением. Но в дело вступает машина, то есть четко определенный алгоритмический процесс, состоящий из множества шагов. Компьютер легко справляется с такой работой. Он повторяет вычисления для каждого пикселя в кадре фильма — миллионы раз для каждого кадра. Затем он снова и снова повторяет эти вычисления, миллионы раз для каждого кадра, для более чем ста тысяч кадров. Здесь действует сверхспособность Усиления, благодаря которой огромное количество вычислительных шагов укладывается в разумное время — скажем, от нескольких месяцев до года для полнометражного фильма.
Но я не могу объяснить главную загадку, связанную с работой человека: художники создают истории с героями, вызывающими эмоции. Аниматоры вдыхают жизнь в персонажей, созданных из геометрических фигур. Программисты организуют миллионы бессмысленных компьютерных шагов в осмысленные вычисления, чтобы превратить истории и персонажей в кадры фильма. Инженеры улучшают базовые технологии создания микросхем, чтобы достичь еще более высоких скоростей согласно закону Мура. Все это чистое необъяснимое человеческое творчество.
В следующей, заключительной главе я снова вернусь к теме «идея — хаос — тиран» или к ее модификациям для каждой рассмотренной технологии, чтобы извлечь из нее некий урок. Я также рассмотрю несколько других уроков, последовательно извлеченных из происходившего в разных главах: о том, что не существует простых и прямолинейных историй, о происхождении технологий, об удивительных потоках, определяющих каждую из них, о реальной простоте — и красоте — технологических идей и о существовании настоящей магии, по крайней мере в том виде, в каком мы (не) понимаем ее сегодня, — магии, которую создают люди.
Одно из значений слова «канон» — «собрание или список священных книг, признанных подлинными». Я надеюсь, что эта книга положит начало канону Цифрового Света, основанному на истинных фактах, а не на мифах. Еще не поздно приступить к решению этой задачи. С начала нового тысячелетия прошло всего два десятилетия, а Цифровой Свет бесконечно расширяется в будущее.
Финал: великая цифровая конвергенция
Во введении я обещал объяснить, как картины отделились от своего носителя — как спустя десятки тысячелетий дикому вепрю удалось сбежать со стены пещеры в Альтамире или как героически напыщенный Наполеон Жака-Луи Давида на своем могучем коне ускакал со стены королевского дворца в Европе.
Объяснение потребовало от меня изучить пиксель — недооцененную ключевую идею. И это изучение привело непосредственно к Цифровому Свету, огромной по ширине охвата визуальной концепции, которая опосредована пикселями и доминирует в современном визуальном мире. На самом деле она настолько обширна, что мне пришлось выборочно отсекать некоторые ответвления, чтобы оставшиеся уместились внутри книги, но в то же время достоверно раскрывали тему в целом. Неожиданно сложный пиксель связывает все это воедино и распространяет специфику выбранных частей на всю область.
В последней главе я увеличу масштаб настолько, что мы снова охватим взглядом весь Цифровой Свет. Я предлагаю обсудить, что произошло за два десятилетия с момента, который я выбрал конечной точкой моей истории, а именно с начала нового тысячелетия. За истекшее время компьютеры улучшились на четыре порядка и стали в 10 000 раз мощнее в соответствии с законом Мура.
Революция продолжается, поэтому я также пытаюсь сделать то, что фраза «порядок величины» предполагает невозможным: предсказать, что произойдет дальше, когда коэффициент Усиления, согласно закону Мура, достигнет 1
Но сначала давайте рассмотрим и прокомментируем ключевые фундаментальные технологические моменты.
Отделение изображения от устройства отображения
Цифровой Свет — это
Ответ заключается именно в различии между
Элемент отображения получает цифровой пиксель в качестве входных данных и выводит аналоговое пятнышко цветного света. Мы говорим, что пиксель
Пиксели дискретны, не имеют протяженности во времени, отделены друг от друга в пространстве, они цифровые и невидимые. Элементы отображения — разбросанные пиксели — излучают аналоговое, непрерывное, накладывающееся на другие и, конечно же, видимое свечение.
Пиксели универсальны, но элементы отображения далеко не универсальны. Элементы отображения различаются от устройства к устройству и от производителя к производителю.
Пиксели лаконично представляют изображение. Элементы отображения, управляемые ими, показывают его. Именно отделение изображения от носителя и способа отображения изменило современный визуальный мир… и вынудило меня приложить столько усилий при написании этой книги, чтобы прояснить путаницу между пикселем и элементом отображения.
Когда оказалось, что все изображения могут быть представлены пикселями, необходимость в других типах носителей отпала. Наступил момент Великой цифровой конвергенции. Таким образом, отделение цифровых пикселей от элементов аналогового дисплея объединило многие типы аналоговых носителей в один цифровой, или универсальный, носитель.
Универсальность пикселей объясняет, почему работает Великая цифровая конвергенция. Я могу взять любые пиксели, находящиеся в мобильном телефоне, и отправить их на дисплей ноутбука, на огромный дисплей настольного компьютера, на струйный принтер, на телевизор, на экран телевизора в любом гостиничном номере, на телефон моей жены или ее ноутбук, на экран в любом лекционном зале через проектор и так далее. Или через интернет — для вас и ваших устройств. Элементы отображения этих устройств значительно различаются, но во всех случаях пиксели одинаковы.
В моем мобильном телефоне тысячи фотографий, каждая из которых содержит миллионы пикселей. Я подозреваю, что у вас практически то же самое. Понятно, что эти изображения находятся где-то «там, внутри», но вы их не видите. Если я попрошу вас показать одну из фотографий, то
Работа этой схемы обусловлена великой теоремой отсчетов — математическим триумфом. А ее быстротой и высоким разрешением мы обязаны закону Мура — инженерному чуду.
Незаметный, но революционный переход к этой схеме произошел по странному совпадению именно на рубеже тысячелетий. Тогда — совсем недавно — мы привыкли, что можем увидеть наши пиксели когда и где захотим. У нас под рукой всегда будет устройство отображения, понимающее универсальную среду и приносящее нам удовольствие от просмотра. В этом — смысл Великой цифровой конвергенции.
Пиксель как фундаментальный элемент цифровых изображений
Но что такое пиксель? И как дискретная сетка из пикселей — шипастое ложе из гвоздей — аккуратно отображает непрерывное поле зрения? Ответ дает фундаментальная теорема (этим словосочетанием ученые заменяют слово «истина») Цифрового Света. Это теорема отсчетов, которую в ее полном современном виде сформулировал Владимир Котельников в 1933 году. Ее удивительная математика лежит в основе всех современных визуальных (и аудио) средств передачи и отображения информации. Теорема гласит, что для точного представления поля зрения необходимо измерить яркость света (сделать выборку) в каждой точке регулярной сетки (отсчеты — отсюда и ложе из гвоздей), причем интервалы между точками должны соответствовать определенному критерию: частота интервалов между отсчетами должна вдвое превышать самую высокую частоту Фурье в визуальной сцене.
Это достаточно абстрактно и контринтуитивно, чем и объясняется, почему большинство еще не знает, что такое пиксель. Позвольте мне сформулировать определение кратко, сделав небольшие поправки в скобках для точности: пиксель — это (оцифрованная) выборка поля зрения, полученная с его (более чем) удвоенной максимальной частотой Фурье. Не забывайте уточнения в скобках, но опустите их, и вы получите просто определение:
Любопытное слово —
Я пишу эту последнюю главу в замке в Шотландии. Рифленые картофельные чипсы, продающиеся в ближайшем магазине (рис. 9.1), помогут вам визуализировать взаимосвязь борозд и складок в моем объяснении.
Волну яркости можно представить в виде бескрайнего куска гофрированного листового металла или рифленых картофельных чипсов. Ее частота — это скорость пространственных колебаний вверх и вниз (скажем, четыре колебания на дюйм для чипсов), а его амплитуда — максимальная высота (яркость) колебаний. Удивительно, что сложение гофр или борозд с разной скоростью колебаний и высотой яркости дает вам, скажем, фотографию вашего ребенка или собаки, Большого каньона или Млечного Пути. Волны яркости — пространственные, а волны громкости — временны´е, но математика не различает их. То, что работает для одних, работает и для других. Этому нас научил Фурье.
Я надеюсь, вы увидите музыкальную структуру визуального мира — его частоты. Они повсюду и быстро станут для вас новым способом видения.
Идея Фурье — это альтернативный
Другая цель главы 2 — показать, что цифровое ничем не хуже аналогового. Выборка дискретных образцов, кажется, подразумевает, что бесконечное количество информации между отсчетами теряется, что цифровое представление — это только приближение. На самом деле нет. Теорема Котельникова, если применять ее правильно, доказывает, что цифровая выборка ничего не отбрасывает. Напротив, цифровая выборка — это чрезвычайно умная переупаковка бесконечности.
Компьютерные вычисления как основа Цифрового Света
Часть Цифрового Света, относящаяся к его созданию (в отличие от той, которая его просто фиксирует), рождается в компьютерах. Поэтому в главе 3 я объясняю третью великую основополагающую идею Цифрового Света — вычисления и машины, называемые компьютерами, которые делают вычисления быстрыми… и порождают возможность делать компьютерные анимационные фильмы.
Центральную идею понять несложно: машинные вычисления — это кропотливый процесс, который выполняется путем разбиения задачи на последовательность более мелких и простых шагов. Но это безобидное предложение далеко не так банально, как кажется на первый взгляд. Оно скрывает колоссальное количество смыслов.
Алан Тьюринг — молодой студент из Кембриджа — в 1936 году первым полностью осознал это, дал этому процессу имя и обнаружил в нем множество сюрпризов. Конечно, у него имелось немало предшественников, которые в той или иной степени увидели и осознали перспективы идеи машинных вычислений (Лейбниц, Бэббидж, Лавлейс), но именно поразительный гений Тьюринга окончательно и полностью сформулировал ее. Он решил сложную математическую задачу, которую я в этой книге называю е-Проблемой, с помощью очень простой машины. Его решение — использование того, что мы сейчас называем машиной Тьюринга, — произвело революцию в мире. Это была бумажная машина, настолько поразительная по простоте, что наставник Тьюринга Макс Ньюман сначала воспринял ее как шутку или игрушку.
Я сконструировал машину Тьюринга из картонной карточки и бумажной ленты, чтобы продемонстрировать в главе 3, насколько она проста. Она «работает» в одном из четырех положений и использует алфавит из шести символов. Вот и все. Но она способна вычислить все, что поддается вычислению в окружающем мире. Вот в чем смысл изобретения Тьюринга: существует
Но прежде чем разбираться, что это значит, позвольте мне подчеркнуть чудо, кроющееся в машинных вычислениях, одну из самых глубоких идей всех времен, которая теперь кажется столь обыденной. Идея Тьюринга настолько всеобъемлюща, что объединяет все известные способы тщательного выполнения рутинного процесса. Другими словами, компьютер — это самый гибкий инструмент, который когда-либо создавало человечество. Количество возможных машинных вычислений выходит за рамки понимания. Но нет такого пошагового рутинного процесса, который нельзя выполнить с помощью компьютера с хранимой в памяти программой. Итак, после примерно 80 лет использования вычислительных машин мы теперь считаем, что две идеи, алгоритмический процесс и машинные вычисления, эквивалентны.
Компьютер иногда считают тупой, жесткой, детерминированной, очень сложной машиной для обработки чисел. Некоторые считают, что у него нет ничего общего с деликатностью, тайной, искусством, изяществом или интеллектом. Сделанные на основании подобного мнения выводы об изображениях, которые можно создавать с помощью компьютеров, слишком часто проникнуты негативной предубежденностью. Вот почему в главе 3 я развеиваю пять мифов и раскрываю истинную красоту компьютерных вычислений.
Во-первых, машинные вычисления — это нечто большее, чем просто обработка чисел. Это универсальный способ манипулирования узорами символов. Безусловно, числа — одни из самых популярных символов, которыми мы часто манипулируем, но заблуждение, будто компьютеры тесно связаны с числами, мешает нашему воображению. Такое непонимание часто проявляется в ошибочном представлении, что компьютеры в основном состоят из 0 и 1 и, следовательно, основаны на числах. Но в компьютере нет маленьких нулей и единиц. И то и другое — это просто названия двух состояний, в современном компьютере — обычно двух разных электрических напряжений. Точно так же мы могли бы, хотя это не так удобно, называть их Маттом и Джеффом. Компьютеры предназначены для изменения узоров состояний, а не для арифметики.
Во-вторых, рапространено ошибочное мнение, что компьютеры должны состоять из битов (а бит — это, конечно, два состояния, обозначаемые 0 и 1). Машина-карточка, которой мы «оперировали», имеет четыре состояния, а не два. Она четверичная, а не двоичная. И эти состояния — ориентации картонной карточки, а вовсе не числа. Но, как я объяснял в главе 4, все современные компьютеры состоят из битов. Такое решение оказалось нашим магистральным путем к потрясающей скорости — ко второму чуду вычислений под названием Усиление, но это вовсе не обязательное условие.
В-третьих, компьютеры не обязательно должны быть электронными. Однако, опять же из-за нашей неутолимой жажды скорости,
В-четвертых, компьютеры детерминистичны, но это вовсе не то, чем кажется. Среди различных аспектов вычислений именно детерминизм чаще всего понимают неправильно. Я переформулирую открытие Алана Тьюринга следующим образом:
Обычно это не влияет на Цифровой Свет — как правило, мы знаем, к чему приведут наши вычисления, — но я предлагаю осознать это для калибровки наших представлений о машинных вычислениях. Предположение, что компьютеры негибки и детерминированы, несправедливо по отношению к ним. Некоторые считали, что компьютеры не смоделируют работу человеческого мозга из-за отсутствия гибкости и врожденного детерминизма. Но ученые усердно трудятся над программами искусственного интеллекта (ИИ) — еще одной идеей, впервые предложенной Аланом Тьюрингом. Сравните следующее предложение с аналогичным предложением о компьютерах в предыдущем абзаце.
Пятый и последний миф заключается в том, что компьютеры сложны, тогда как на самом деле они очень быстро выполняют множество простых задач. Каждый шаг, который делает компьютер, прост и примитивен — операция вроде «сдвига битов влево (или, возможно, вправо) на одну позицию». Мистика комплексности существует, но не означает сложность самого компьютера. Это результат нашей неспособности объяснить, как человек может создать список из тысяч или даже миллионов примитивных и бессмысленных — на первый взгляд — шагов, которые делают что-то значимое, например вычисляют полнометражный художественный фильм. Это сложность — и даже тайна — человеческого творчества.
В первые дни Цифрового Света из-за пяти рассмотренных заблуждений люди думали, что компьютеры создают только ограниченные виды изображений. Например, изначально предполагалось, что компьютерам по силам только зубчатые картинки или что анимированное движение всегда происходит по некрасивым прямым линиям. Но на самом деле таких ограничений не существовало. Вскоре были рассчитаны и показаны на большом экране убедительные изображения людей с деликатными и точными движениями и сложными эмоциями.
Основополагающие идеи дают нам достаточно механизмов, чтобы построить классификацию Цифрового Света и с ее помощью рассказать о дорогах прогресса, по которым мы прошли.
Разновидности Цифрового Света
Конструкция: Проведите различие.
Содержание: Назовите это первым отличием.
Первое отличие в мире Цифрового связано с происхождением пикселя. Если он взят из реального мира, то мы говорим, что он
Если пиксель создается с нуля, то мы говорим, что он
Различие между фиксацией и созданием такое же, как между
Первое различие делит огромный мир Цифрового Света на две основные части. Аналитическую часть называют по-разному, но мы используем термин
Но пиксели аналитической (или отснятой) части Цифрового Света подчиняются тем же правилам, что и пиксели синтетической (или вычисленной). Применяется идея частот Фурье. Применяется теорема отсчетов Котельникова. Сохраняется различие между пикселями и элементами отображения. Форматы файлов изображений одинаковые. Устройства отображения одинаковые. Пиксели остаются пикселями. Цифровой Свет — это единое пространство. Различаются только методы заполнения пикселей значимыми битами. Если вы понимаете, как работают пиксели, то вы разберетесь со
Из-за ограниченного объема книги я дополнительно разделил синтетическую компьютерную графику на две области. Различие основано на их предназначении. Если основная цель заключается в создании объекта в реальном мире — скажем, автомобиля, дома или тостера, — то мы имеем дело с
Как я описывал в главе 6, история САПР и история иллюстративной компьютерной графики тесно переплетены и имеют общее происхождение. После их беглого рассмотрения я больше не упоминаю в этой книге САПР, оставив другим заниматься этой проблемой. Но опять же все, что мы говорили о пикселях, применимо и к пикселям в автоматизированном компьютерном проектировании.
Визуальная сцена, меняющаяся во времени, называется визуальным потоком. Это гладкий аналоговый поток, поэтому он может обрабатываться методами Фурье и Котельникова. То есть мы можем делать выборку из него как во времени, так и в пространстве. Все мы знакомы с выборками во времени: в кино и на телевидении их называют кадрами.
В этой книге для путешествия по всему Цифровому Свету я придерживаюсь пути, который пролегает через ответвление иллюстративной компьютерной графики, не создающейся в реальном времени. Таким образом, определение реального времени имеет большое значение, чтобы ограничить его сферу применения. Есть два понятия, которые означают реальное время, и мы должны различать их.
Первое понятие подразумевает, что следующий кадр в изменяющемся во времени визуальном потоке вычисляется в течение времени одного кадра — времени между временными выборками. Вычисления выполняются достаточно быстро, чтобы визуализировать следующий кадр в следующий такт часов — например, каждую шестидесятую долю секунды для цифрового видео в реальном времени. Это
Второе понятие реального времени заключается в том, что все происходит достаточно быстро, чтобы казаться мгновенным для человека, взаимодействующего с изменяющимся изображением. Это
В качестве основной темы и основного примера для этой книги я выбрал цифровое кино. Оно существует не в реальном времени, а в таком режиме, когда машине дается на вычисления столько времени, сколько необходимо для создания изображения. Для вычисления фильма в реальном времени требуется, чтобы каждый кадр вычислялся за одну двадцать четвертую долю секунды, а весь фильм — за 90 минут или около того. Чтобы показать, насколько нереально это сегодня, упомяну, что фильмы Pixar рассчитываются месяцами, а на один кадр уходит до 30 часов. В году около полумиллиона минут. Чтобы сократить год вычислений до 90-минутного фильма в реальном времени, потребуется ускорение компьютеров на четыре порядка — в 10 000 раз. Если предположить, что закон Мура продолжит действовать и впредь (а это очень серьезное допущение), мы можем ожидать появления кино в реальном времени примерно в 2040 году.
С другой стороны, компьютеры теперь настолько быстры, что способны генерировать реалистичные изображения в реальном времени. Такое часто встречается во многих современных видеоиграх. Кроме того, игры изменяют объект вычислений в зависимости от действий игрока. Таким образом, они используют оба типа реального времени, синхронизированное и интерактивное. Изображения в играх пока не такие фотореалистичные и сложные, как в фильмах, но единственная реальная техническая разница между цифровым кино, которое рассматривалось в этой книге, и видеоиграми заключается в количестве доступной вычислительной мощности. Все, о чем говорилось в этой книге, применимо и к компьютерным играм, хотя я не упоминал подробно ни о них, ни о конкретной истории их развития, ни о ее героях.
Триада «идея — хаос — тиран»
Один из специфических мотивов — назовем его тематическим аккордом, звучащим на протяжении всей книги, — связан с концепцией триады «идея — хаос — тиран», которая преследует технологические прорывы. Сначала мы узнаём, как этот мотив раскрывается в трех главах, объединенных под названием «Основы: три великие идеи» в первой части, где каждая триада связана с историей одного человека. Затем, когда мы обнаруживаем, что общепринятые истории технологий часто полны ошибок, появляется второй сквозной мотив. В последующих разделах мы проследим оба мотива на примере других технологий настолько, насколько они связаны с историями человеческих взаимоотношений.
История начинается с французского революционера Жозефа Фурье.
В главе 2 мы встречаемся с неизвестным большинству американцев русским инженером Владимиром Котельниковым. Он взял великую идею Фурье и возвел на ее фундаменте свою собственную: великая теорема отсчетов — это изящная и красивая идея, которая сделала Цифровой Свет возможным.
Идея теоремы отсчетов принадлежит
Третья великая основополагающая
История Тьюринга разворачивается параллельно с историей Джона фон Неймана. Удивительные интеллектуальные способности Джонни сделали его одним из немногих гениев в мире, которые поняли и оценили достижение Тьюринга — изобретение компьютера с хранимой в памяти программой. И, чтобы воплотить идеи Тьюринга, он занялся практической реализацией создания компьютеров с простой архитектурой, позже названной в его честь. Она доминировала в вычислительной технике на протяжении десятилетий.
Тьюринг изобрел концепцию программирования, а фон Нейман дал название этому виду деятельности. Они оба понимали, что программирование или программное обеспечение, а не аппаратура станет главным вызовом в области вычислений.
Две высокие технологии и мотив «Общеизвестная история ошибочна»
Две технологии — компьютеры и кинематограф — внесли свой вклад в развитие Цифрового Света. Во второй части этой книги мы рассмотрели два их ответвления: собственно Цифровой Свет в компьютерах и анимацию в кинематографе. Компьютеры, безусловно, имеют решающее значение для Цифрового Света, и мы обнаружили, что они тесно связаны с ним с момента своего появления. Но кинематограф также значительно повлиял на структуру и терминологию Цифрового Света, а особенно на технологию цифрового кино. Что еще более важно, кино основано на той же фундаментальной и прекрасной идее выборки, что и Цифровой Свет. Кинематограф переносит выборку из пространства во время и подкрепляет наш аргумент о ключевом технологическом значении теоремы Котельникова для современного мира. Одна теория объясняет все вокруг.
Эти две высокие технологии независимо друг от друга иллюстрируют еще один мотив, проходящий через всю книгу: общеизвестная история ошибочна. Он особенно очевиден, когда мы разбираем сложившиеся вокруг них мифы и снова находим для каждой триаду «идея — хаос — тиран», применимую даже к группам людей.
У изобретенного Тьюрингом компьютера обнаружился существенный недостаток: он работал невыносимо медленно. Универсальная машина под управлением человека вычислила бы «Историю игрушек» от Pixar, но ей бы потребовалось больше времени, чем существует Вселенная. Поэтому Тьюринг запустил проект по созданию электронной версии своего универсального компьютера с хранимой в памяти программой для повышения скорости работы. Он применил уже ставшее общеизвестным практическое правило: чтобы программное обеспечение работало быстрее, реализуйте его на аппаратном уровне. Другими словами, аппаратное и программное обеспечение принципиально эквивалентны, если не учитывать скорость. Я подчеркиваю это, потому что современные историки все еще приписывают создание компьютера с хранимой программой инженерам, разрабатывавшим аппаратное обеспечение в конце 1940-х годов, в то время как Тьюринг уже описал и использовал эту концепцию в своей знаменитой статье 1936 года. В главе 3 я привожу короткое описание его аргументов и объясняю, как его машина решала проблему универсальности.
Под словом «компьютер» мы сегодня подразумеваем именно это: электронную универсальную вычислительную машину с хранимой в памяти программой. Тьюринг отошел от чистой математики и в 1940-х годах присоединился к проекту под названием Pilot Ace по созданию первого такого компьютера. Проект обернулся провалом по причинам, которые я объясняю в главе 4, но саму идею подхватили другие. На самом деле в мире началась гонка за первенство в создании компьютера. Несколько команд бросились создавать электронные вычислительные машины, самые сильные из них — в США и Великобритании.
Впрочем, при тщательном изучении истории выясняется, что многие претенденты на первенство в создании компьютера не соответствуют формальным требованиям. Общепринятые версии в очередной раз оказываются ошибочными. Определенно не были первыми ни американский ENIAC, ни более ранний английский Colossus, поскольку они не отвечают критериям универсального компьютера с хранимой в памяти программой. Исходя из строгого определения компьютера, можно составить список из 10 или около того претендентов. Первым из них появился Baby, построенный в английском Манчестере. Он выиграл гонку благодаря первой успешной реализации электронной памяти. И ее, и сам Baby создали английские инженеры Фредди Уильямс и Том Килбурн на основании технического решения, которое обычно называют трубкой Уильямса. Тьюринг вскоре присоединился к проекту Baby, хотя непосредственно в проектировании и строительстве не участвовал.
Тем временем гениальный Джон фон Нейман намеревался создать первый компьютер в США. Его команда заключила контракт на создание электронной памяти с Владимиром Зворыкиным (известным в Америке как изобретатель телевидения) и возглавляемой им Лабораторией электронных исследований, подразделением Radio Corporation of America (RCA). Если вкратце, то команде Зворыкина не удалось выполнить работу в срок. Команда фон Неймана узнала, как создатели Baby решили проблему памяти с помощью трубки Уильямса, и сразу же взяла эту идею на вооружение.
Фон Нейман разыскал и проанализировал каждый компьютер или компьютероподобную машину в США. Он заметил, что ENIAC получится превратить в компьютер с хранимой в памяти программой, если добавить некоторые простые аппаратные средства. Новую, улучшенную версию я называю ENIAC+. Как я уже говорил, ведутся научные споры, действительно ли ENIAC+ опередил Baby. Две эти машины «родились» с разницей в несколько недель в соответствии практически с любым определением компьютера, а зафиксированные даты ненадежны и все еще обсуждаются историками.
В этой книге я акцентирую внимание на Baby, потому что он визуализировал первые пиксели. В конструкции Уильямса биты хранились на экране электронно-лучевой трубки (ЭЛТ): тире для 1 и точка для 0. Это были элементы отображения Baby (или визуализированные пиксели). Они располагались в виде регулярного массива (растра). Килбурн сделал фотографию, которую я назвал «Первый Свет», в 1947 году, незадолго до официального запуска Baby, состоявшегося в 1948-м.
Из-за совпадения между первым компьютером и Первым Светом в главе 4 излагается история не только компьютеров, но и раннего Цифрового Света. В ней я также начинаю развивать другую тему книги — несводимость истории высоких технологий к повествованию об одном-единственном творческом гении. Даже поверхностный рассказ о создании первых компьютеров я сопровождаю блок-схемой, где указываю, как много людей участвовало в этом процессе.
Но конкретно история создания компьютеров — единственная в книге, которая, так сказать, почти подходит под шаблон одного-единственного творческого гения. На самом верху блок-схемы расположен Алан Тьюринг. Но нет единственного прямого пути от Тьюринга к Baby, первому компьютеру. Фон Нейман также находится в верхней части блок-схемы, как и некоторые другие талантливые инженеры и ученые. На ней в более или менее в правильном хронологическом порядке показано, кто на кого влиял. Также она демонстрирует, как распространялись идеи и как они влияли на первые компьютеры. Подводя итог, можно сказать, что Тьюринг изобрел концепцию компьютера — то есть компьютер с хранимой в памяти программой, а фон Нейман помог создать архитектуру, которая позволила инженерам реализовать идею Тьюринга «в железе» — с помощью электронных схем. На самом деле все переплетено между собой. Baby использовал архитектуру фон Неймана, хотя и построен в Англии. А американская команда фон Неймана применила британское решение для реализации памяти, трубку Уильямса, чтобы совершить прорыв, создав компьютер под названием EDVAC, породивший многочисленных потомков.
В этой же главе мы знакомимся с законом Мура — в формулировке, которую легко применять на практике на протяжении всей оставшейся книги:
Между тем блок-схема помогает легко визуализировать как взаимодействие, так и соперничество между странами на заре истории компьютеров. Также она позволяет визуализировать самые ранние разработки в области Цифрового Света, потому что все первые прорывы совершались на первых компьютерах. Для этой книги особенно важно то, что одна из ветвей первой блок-схемы напрямую тянется к блок-схеме из главы 6. Это та ветвь, которая в конечном итоге ведет к современной компьютерной графике через компьютер Whirlwind, построенный в Массачусетском технологическом институте, источник многих самых ранних сохранившихся изображений Цифрового Света, включая, возможно, и первую анимацию. Затем мы последуем по этой ветви в блок-схему из главы 7.
Но пока что я прерву плавное течение рассказа о Цифровом Свете, чтобы упомянуть еще одну высокую технологию, повлиявшую на цифровое кино. Глава 5, не упоминавшаяся в этом кратком обзоре, посвящена старинной технологии традиционного аналогового кинематографа.
Когда я готовился писать эту книгу, я с тревогой обнаружил, что, имея более чем 50-летний опыт создания компьютерных фильмов, сам не смогу ответить на вопросы, кто создал первый компьютер и кто изобрел кинематограф. Я предположил, что никто другой тоже не сможет. В самом изложении истории технологий таился некий системный изъян, и я намеревался понять, какой именно. Чтобы добиться нужного результата, я, во-первых, тщательно определил терминологию, а во-вторых, использовал генеалогический подход, а не примитивное линейное описание.
Выше я только что описал результаты подобного подхода к истории создания первых компьютеров. Большая часть проблем исчезает, если четко сформулировать определение для понятия «компьютер». Остальные проблемы устраняются, когда вместо претензий на национальное первенство акцент смещается на взаимодействующие команды разработчиков. В результате получилась простая для понимания история, которая включает в себя основных игроков и места, где велась работа. Она позволяет с легкостью соотнести прорывы в Цифровом Свете с соответствующими группами и организациями из истории создания компьютеров. Я, конечно, не могу претендовать на непогрешимость, но считаю, что именно такой подход дает правдивую структуру истории, которая легко корректируется по мере получения новой информации. Поэтому в главе 5 я применяю тот же подход к истории кинематографа.
До того как я занялся этим вопросом, я предполагал — как и почти все, кого я спрашивал, — что кинематограф изобрели Томас Эдисон, Эдвард Мейбридж или братья Люмьер. Но я не знал точно, кто именно. На самом деле, воспользовавшись строгим определением и проанализировав блок-схему, мы увидим, что никто из них не создал кинематограф. Более корректно утверждать, что все они внесли свой вклад в его создание, однако некоторые из ключевых новаторов просто исчезли из общепринятой истории или даже никогда в нее не попадали. В особенности это относится к американцу Уильяму Кеннеди Лори Диксону и французу Жоржу Демени. Но и они не супергерои, действовавшие в одиночку. На блок-схеме показано, кто с кем работал, кто что и у кого украл, кто кого предал и так далее. Она также позволяет увидеть действия различных игроков в перспективе. При таком подходе Эдисон производит впечатление тирана, который обманывал доверившихся ему изобретателей и присваивал их славу. Мейбридж оказывается отличным торговым представителем изобретения, которое он не воплотил в жизнь. И легендарная святость братьев Люмьер тускнеет, если детально разобраться, что они на самом деле делали. Я даже не представлял, что история окажется настолько сложной.
Как и в случае с компьютерами, внести ясность помогло точное определение
В технологическом плане глава о кино и анимации дает повод обсудить особенности применения теоремы Котельникова в третьем измерении, по оси времени, где отдельный кадр будет отсчетом для визуального потока. Я начинал писать эту главу, полагая, что объясню, почему кино передает движение, используя теорему отсчетов, но я обнаружил, что связанный с ней подход не совсем правильный. Можно снять идеальный фильм, используя теорему отсчетов, но пока что этого никто не сделал. Я называю такой подход «до зрачка», когда дискретные отсчеты (кадры) преобразуются в непрерывные аналоговые изображения еще до того, как свет попадает в человеческий глаз.
В качестве альтернативы кинематограф, даже цифровое кино, использует технику проецирования отдельных последовательных «кадров» в человеческий глаз. Кажется, это работает путем использования перцептивных механизмов человеческого мозга «после зрачка». То есть отдельные кадры подаются непосредственно на сетчатку и оттуда в мозг, который и воссоздает плавное движение из дискретных кадров. Я не пытаюсь объяснить механизм работы мозга, но указываю, что, судя по имеющимся данным, он делает что-то вроде реконструкции из выборки согласно теореме отсчетов.
Глава о кинематографе также исследует анимацию, в особенности феномен персонажной анимации и ее технологии и ключевых персоналий. Здесь я рассказываю про Уолта Диснея и про часто упускаемого из виду Аба Айверкса. Предполагается, что классические приемы мультипликаторов — сжатие и растяжение, упреждение и преувеличение — интуитивно решают проблему с выборкой. Меня вновь ожидал сюрприз, хотя я и работаю в этой сфере более 50 лет: альтернативные системы двумерной анимации появлялись еще на заре кинематографа. Только хорошо известная система покадровой целлулоидной анимации дожила до сегодняшнего дня. Так что именно ее «группа, ныне известная как Pixar» адаптировала для системы производства компьютерной анимации (CAPS) студии Disney в середине 1980-х годов. Это была единственная известная нам технология.
Триада «идея — хаос — тиран» для двух ключевых высоких технологий
Здесь великая
И Тьюринга, и фон Неймана затронула
Великолепная
Очевидного внешнего источника хаоса, движущего развитием кино, не наблюдалось.
А вот явный
С французской стороны такого явного тирана не наблюдалось. Но ложный миф об идеальных отношениях между братьями Люмьер и их совместном изобретении кинематографа тиранической хваткой вцепился в умы французов. На самом деле братья наносили друг другу удары в спину, не брезговали воровством идей у других изобретателей, таких как Жорж Демени, и проиграли битву форматов кинопленке Диксона.
Анимационное кино не привязано к реальному времени. Первоначальная
Восход и сияние Цифрового Света
Третья часть этой книги посвящена собственно Цифровому Свету. Я, взяв за основу иллюстративную компьютерную графику, рассказываю его историю на протяжении трех глав (с шестой по восьмую), которые охватывают события, предшествовавшие формулировке закона Мура (Эпоха 1) и последовавшие за ней (Эпоха 2). Но давайте на мгновение вернемся к главе 4, ко времени восхождения Цифрового Света, и вспомним, что мы там обнаружили.
Первые пиксели были отображены в конце 1947 года, 75 лет назад, на электронно-лучевой трубке, ставшей первым устройством отображения — дисплеем. Я называю первое цифровое изображение «Первый Свет». Мы обнаружили его пиксели, первые пиксели, на самом первом компьютере Baby. Глава 4 «Восход Цифрового Света» посвящена происхождению как пикселей, так и компьютеров. Я уже подвел итог части, посвященной компьютерам, так что теперь перехожу к пикселям и изображениям.
Первые цифровые изображения появились в конце 1940-х, а в начале 1950-х возникли первые интерактивные игры и анимация. На раннем этапе создание изображений с использованием драгоценного компьютерного времени обычно считалось легкомысленным занятием, отнимающим ресурсы у более серьезных дел, таких как расчеты ядерной бомбы. Но невозможно воспрепятствовать стремлению создавать изображения на компьютерах. Имея устройство отображения, люди просто не могли не делать картинки. Даже если бы это стоило миллионы долларов.
Впервые рисование картинок перестали воспринимать как легкомысленное занятие в начале 1950-х в Массачусетском технологическом институте, где работал компьютер Whirlwind. Именно на дисплее его различных модификаций появились первые сохранившиеся изображения, включая, возможно, первую цифровую анимацию и ранние интерактивные игры, а также первые трехмерные изображения (но еще без правильной перспективы). Блок-схема из главы 4 приводит нас прямо к схеме из главы 6 и сиянию Цифрового Света.
Главу 6 я начинаю с одной из самых красивых фигур в компьютерной графике — со сплайна. Это изящная форма, которая опровергает укоренившееся ошибочное мнение, что компьютеры способны рисовать только грубые, зубчатые, угловатые, линейные объекты. Оказывается, сплайн тоже легко объяснить с помощью теоремы отсчетов! На самом деле он является ее оборотной стороной. Обращение к сплайнам позволяет нам ввести в повествование еще одного претендента на изобретение теоремы выборки, англичанина сэра Эдмунда Тейлора Уиттекера, чья работа опередила статью Котельникова на 18 лет. Его формулировка была почти (обратной) теоремой отсчетов, но «почти» все-таки удерживает нас от присвоения ему лавров первооткрывателя. Поскольку он использовал подход, отличавшийся от подхода Котельникова, он упустил один из важных пунктов, входящих в полную теорему (то, что инженеры называют полосой пропускания). С точки зрения Котельникова, задача состояла в следующем: если дан гладкий непрерывный сигнал, разбить его на дискретные отсчеты, а затем реконструировать его из них (мы говорим «разбросать» их) обратно в первоначальный непрерывный сигнал. С точки зрения Уиттекера, задача заключалась в обратном: по заданному набору дискретных точек данных найти проходящую через них гладкую непрерывную кривую, которая точно предсказывает, какие точки могут находиться между заданными точками. Техника, использованная Уиттекером для интерполяции значений между заданными точками данных, неотличима от той, которую мы называем «разбрасыванием» и суммированием при восстановлении аналогового сигнала из дискретной выборки. Но в то время как Котельников восстанавливал существующую кривую, Уиттекер строил или изобретал новую. Он считал, что точки на построенной кривой важнее самой кривой, а данные важнее форм.
Оставшаяся часть главы 6 посвящена моделированию трехмерных фигур с помощью треугольников. Я рассказываю истории некоторых первопроходцев в этой области, впоследствии ставшей компьютерной графикой. Первые исследователи, такие как Стивен Кунс и Пьер Безье, а также почти забытый Поль де Кастельжо, не особо интересовались изображениями. Они использовали компьютеры, чтобы управлять станками, обрабатывавшими дерево или пенопласт, или иным образом вычислять и создавать модели или реальные объекты, например кузов автомобиля или крыло самолета. Так что, строго говоря, они были пионерами автоматизированного проектирования (САПР). Но на ранних этапах САПР и иллюстративная компьютерная графика еще не разделились. Оба направления опирались на геометрическую модель в памяти компьютера.
Историю компьютерной графики обычно излагают в виде линейного повествования об одном человеке, Айвене Сазерленде. В то же время безо всякой связи с ней чествуют других отцов-основателей — например, называют высшую награду в области компьютерной графики в честь Стивена Кунса или метод построения кривых в честь Пьера Безье. Итак, повторю еще раз: общепринятые истории редко соответствуют действительности, а чаще всего вообще неверны. Поэтому я попытался предложить более убедительную и целостную картину, используя еще одну генеалогическую блок-схему, которая, как я уже упоминал, связана с блок-схемой из главы 4 («Восход Цифрового Света»).
С помощью такой повествовательной техники я заменяю простой линейный нарратив о том, что компьютерная графика началась с программы Sketchpad, написанной Айвеном Сазерлендом в 1962 году, более надежным основанием, не забывающим про вклад Кунса, Безье и забытого де Кастельжо, работавших в автомобильной и авиационной промышленности. Также я не оставляю без внимания еще троих участников, которых часто упускают из виду. Каждому из них пришлось бежать от ужасов нацизма, чтобы внести свой вклад в появление компьютерной графики: Херба Фримена спас Альберт Эйнштейн; Бертрам Херцог остался жив благодаря программе эвакуации еврейских детей Kindertransport; отец Марсели Вейна значился в списке Шиндлера.
Айвен Сазерленд продолжает оставаться важной фигурой, но разделяет роль основателя с триумвиратом однокурсников из Массачусетского технологического института, куда помимо его самого входили Тим Джонсон и Ларри Робертс. Действительно, Сазерленд создал первую интерактивную двумерную графическую систему Sketchpad. Примерно в то же время его однокурсник (очень похожий на Сазерленда) Тим Джонсон создал первую интерактивную трехмерную графическую систему под названием Sketchpad III. Цифра III означает три измерения, а не номер версии. По-видимому, это действительно была первая интерактивная трехмерная графическая система, хотя трехмерная система DAC-1 от General Motors появилась примерно тогда же. Sketchpad III определенно превосходил DAC-1 в использовании перспективы, применяя метод, разработанный третьим однокурсником из триумвирата, Ларри Робертсом. Этим методом пользуются до сих пор.
Сазерленд и Робертс, наряду с Робертом Тейлором из нового агентства NASA, распоряжались инвестициями в другом новом агентстве — ARPA (теперь оно называется DARPA). Отрасль на начальном этапе получала большую часть финансирования от NASA и ARPA. Затем Сазерленд со своим другом Дэвидом Эвансом основал компанию Evans & Sutherland, занимавшуюся поставками оборудования для компьютерной графики, а также знаменитый факультет компьютерной графики в Университете Юты, где учились многие профессионалы экстра-класса. Тейлор основал известную компьютерную лабораторию Xerox Palo Alto Research Center (PARC), а Робертс принимал непосредственное участие в создании интернета.
Далее в истории развития Цифрового Света начинает принимать участие совершенно иная сила, сила искусства. В этой главе подчеркивается тесная связь между фигурантами истории Цифрового Света и знаковыми событиями в мире искусства, такими как знаменитая книга и одноименная выставка «Кибернетическая прозорливость». Начиная с этого момента, мир искусства и мир технологий внимательно следили друг за другом, мгновенно подхватывая все новое, что появлялось в области изображений. Их связь продолжается и по сей день.
Черно-белые фигуры из линий, описанные в главе 6, становятся цветными фотореалистичными изображениями в главе 7 — от форм мы переходим к оттенкам. Да, закон Мура и взрывной рост компьютерного Усиления, обеспеченный созданием микросхем и компьютерами Эпохи 2, сделали всё это возможным: от первых цветных пикселей в 1967 году до первого короткого, но полностью цифрового мультика — первой попытки приблизиться к Фильму — в конце 1970-х. Как и прежде, здесь блок-схема продолжает блок-схему из предыдущей главы. Сложность и многочисленность описываемых концепций и событий побудили меня разбить блок-схему на части, или на три «шага», названных согласно коэффициентам Усиления в соответствии с законом Мура: от 1X через 10X и до 100X.
Первый шаг (когда множитель закона Мура составлял 1X) касается создания первых цветных пикселей. Где и когда они появились? Классическая работа Джина Янгблада «Расширенное кино», написанная в 1970 году и посвященная медиаискусству, неожиданно дала ключ к разгадке этой тайны. Колыбелью цветных пикселей оказалась лунная программа «Аполлон». Мы выяснили, что инженеры компании General Electric Род Ружло и Боб Шумахер сделали первую цветную компьютерную визуализацию в процессе разработки симулятора спускаемого модуля «Аполлон» для NASA. Это был 1967 год, и они использовали первые плоды закона Мура. Мы узнали, что значит рендеринг геометрических моделей в цветные пиксели и как он делается.
Второй шаг (множитель закона Мура 10Х) охватывает ранний Цифровой Свет в лаборатории Xerox PARC, в Университете Юты и в Корнеллском университете. Лаборатория Xerox PARC произошла как от ARPA, так и от NASA. Факультет компьютерной графики Университета Юты корнями тоже восходит к ARPA. А на увлечение компьютерной графикой в Корнеллском университете повлияли инженеры компании General Electric Ружло и Шумахер, а также случайность, которая некогда свела Ружло и Дона Гринберга в одной палатке скаутского лагеря для первокурсников. В Xerox PARC появились первые в мире визуализации цветных пикселей на компьютерах общего назначения и первая визуализация со сглаживанием. Однако компания Xerox впоследствии отказалась заниматься цветными изображениями. Студенты из Юты и Корнелла создали первую цветную трехмерную компьютерную анимацию — «путешествие» по кампусу Корнелла. В этом разделе я описал базовые техники рендеринга: наложение текстур, модели затенения и, среди прочего, частичную прозрачность.
Третий шаг (множитель закона Мура 100X) знакомит нас с Нью-Йоркским технологическим институтом на Лонг-Айленде под руководством эксцентричного предпринимателя Александра Шуре. Он мнил себя новым Уолтом Диснеем и первым начал финансировать цифровое кино. В итоге он потерял все свои вложения, но не раньше, чем «выпускники» лаборатории Xerox PARC и Университета Юты собрались там вместе и сформировали команду, которая впоследствии стала студией Pixar. Именно здесь впервые формируется визионерская идея о Фильме — первом полнометражном художественном кино, полностью созданном на компьютере. В этом разделе я рассказал об удивительном открытии, что для компьютера двумерная анимация сложнее, чем трехмерная, и познакомил вас с крайне важной концепцией альфа-канала.
Продолжающийся взрывной рост коэффициента закона Мура привел нас к главе 8, в которой на стыке тысячелетий возникает тот самый Фильм, а еще начинается Великая цифровая конвергенция, которую он символизирует. Компьютерная графика уступает место истории цифрового кино. Рассказывая о происходивших событиях, сопровождаемых ростом доступной вычислительной мощности — с 1000- до 10 000 000-кратного увеличения согласно закону Мура, — я снова подразделяю их на этапы по порядку величины.
Четвертый шаг (множитель закона Мура 1000X) касается компании Lucasfilm, основанной Джорджем Лукасом в округе Марин, штат Калифорния. Группа компьютерной графики в Нью-Йоркском технологическом институте наблюдала, как Шуре терпит неудачу с полнометражным мультфильмом «Табби Туба» (1975). С другой стороны, Лукас успешно снял насыщенный спецэффектами прорывной фантастический фильм «Звездные войны» (1977). Так что, когда Лукас в 1980 году пригласил часть этой группы работать у него, все с радостью перебрались к нему в Калифорнию. Здесь эта команда впервые показала результаты своей работы на большом экране, по контракту с компанией Disney работала над внедрением компьютера в классической целлулоидной анимации и нашла своего первого настоящего аниматора. Японская компания обратилась к группе с предложением сделать первый полнометражный мультфильм, но проект «Царь обезьян», как известно, не реализовали из-за недостаточной мощности компьютеров по закону Мура. Затем Джордж и Марсия Лукас развелись, что сделало содержание группы слишком накладным и привело к созданию дочерней компании Pixar. Принципиальным технологическим достижением на этом шаге стал переход от набора разрозненных техник рендеринга к программному языку для выражения их бесконечного количества — языку затенения. Другим технологическим достижением был революционный метод создания эффекта размытия движения, который имел решающее значение для развития трехмерной компьютерной анимации. По сути, появилась первая цифровая трехмерная персонажная анимация. Также почти одновременно к персонажной анимации пришли компании Pacific Data Images (PDI) и Mathematical Applications Group Inc. (MAGI).
Пятый шаг (множитель закона Мура 10 000X–10 000 000X) касается создания первых цифровых фильмов. И самым первым стала «История игрушек» (1995) студии Pixar, компании, выделившейся из Lucasfilm в 1986 году. Затем появился фильм «Муравей Антц» (1998) студии DreamWorks Animation, возникшей из компании PDI. Вышедшая из MAGI студия Blue Sky, третья из трио первых цифровых кинокомпаний, вскоре выпустила «Ледниковый период» (2002). Эти три фильма послужили заметными вехами на пороге нового тысячелетия и знаком того, что Великая цифровая конвергенция наконец состоялась. Соответствующая блок-схема показывает, насколько много общих потоков переплелись при создании первых цифровых студий.
В заключительной главе триада «идея — хаос — тиран» начинается с великой
Центральная Догма
Незаметно и неосознанно сообщество компьютерной графики в 1960-х годах приняло Центральную Догму, которой неявно следовал триумвират. Тим Джонсон и Ларри Робертс использовали ее в 1963 году в Sketchpad III, а в 1968-м к ним присоединился Айвен Сазерленд со своим наголовным дисплеем. Как предписывает оригинальная формулировка Центральной Догмы, визуализация происходит на моделях, построенных на основе трехмерной евклидовой геометрии и рассматриваемых как двумерный кадр виртуальной камеры в линейной перспективе. Это Догма, потому что в компьютерах или компьютерной графике нет ничего, что обуславливало бы такой выбор. Компьютерам доступны все варианты создания изображений, от абстрактных геометрических узоров до экспрессионистских брызг. Тем не менее магистральное направление компьютерной графики придерживается Догмы.
В конце 1960-х годов, когда стала возможной цветная компьютерная графика, Центральная Догма незаметно расширилась, включив в себя ньютоновскую физику, которая также не является обязательным требованием для компьютеров. Эта полная «симфоническая форма» Догмы сегодня соблюдается в цифровом кино, виртуальной реальности (VR), видеоиграх, авиасимуляторах и так далее. Вот ее краткое изложение:
Центральная Догма = стереометрические модели в евклидовой геометрии, линейная перспектива, ньютоновская физика.
Хотя эта форма накладывает строгие структурные ограничения, она допускает удивительную свободу фантастического творчества, в чем легко убедиться, взглянув на список цифровых фильмов, снятых накануне нового тысячелетия и позже. Но за пределами Центральной Догмы раскинулись устрашающе огромные субпространства Цифрового Света, которые так и просятся, чтобы их исследовали. Программы для рисования — самые очевидные творческие инструменты Цифрового Света, которые с первых дней его существования не подчинялись Центральной Догме.
Обратите внимание, что в аналитической части Цифрового Света, связанной с обработкой существующих изображений, Центральная Догма не выступает догмой. Там это просто факт. Так устроен реальный мир. Или, лучше сказать, по крайней мере, это наша лучшая модель нормального реального мира в человеческом масштабе.
Обратите внимание, что программы автоматизированного проектирования по определению подчиняются Центральной Догме. Их объекты должны существовать в реальном мире, подчиняющемся ньютоновским законом, и выдерживать физические испытания. Именно наличие общих исторических корней у компьютерной графики и САПР сделало Центральную Догму настолько естественной — и принятой по умолчанию — для иллюстративной компьютерной графики.
Специалисты по компьютерному зрению любят заявлять, что занимаются инверсией компьютерной графики. Они имеют в виду, что мозг на основе двумерных входных данных, полученных с сетчатки, генерирует трехмерные внутренние модели того, что воспринимает зрение. На самом деле мозг выполняет операцию, обратную той части компьютерной графики, которая подчиняется Центральной Догме.
И что дальше
Описанное в финальной главе обобщает содержание моей книги и развитие Цифрового Света к началу нового тысячелетия. Но прошло еще два десятилетия, в течение которых постоянно действующий закон Мура подпитывал еще более удивительные достижения в области Цифрового Света. Далее я кратко опишу лишь некоторые из них.
В современных системах виртуальной реальности (VR) стереопара изображений — по одному для каждого глаза — создается в режиме реального времени и в соответствии с данными, поступающими от пользователя (например, о положении его головы). Пользователь надевает специальные очки или шлем. Выполнение огромного объема вычислений в реальном времени непросто и требует значительных усилий. Но вспомните эмпирическое правило: если вы хотите, чтобы вычисления выполнялись быстрее, используйте специализированное оборудование. Алгоритмы те же, но ускорение реализуется на аппаратном уровне. Другими словами, те же методы, которые используются для создания цифровых фильмов, заложены в аппаратную часть оборудования для создания виртуальной реальности. Понимание того, как создаются пиксели для цифрового фильма, по большей части объясняет, как появляются пиксели виртуальной реальности. А для аппаратной части иногда достаточно возможностей вашего мобильного телефона (для понимания: iPhone появился в 2007 году, а система Android — годом позже, по большому счету буквально вчера).
Блок-схема из главы «Оттенки значения» естественным образом продолжается в направлении виртуальной реальности. Эрик Дарнелл, аниматор студии DreamWorks Animation, вместе с Морин Фан (в качестве генерального директора) основал в Кремниевой долине компанию Baobab Studios, занимающуюся виртуальной реальностью. Ключевые фигуры компании, такие как Ларри Катлер (технический директор), — выходцы из DreamWorks и Pixar. Консультантами стартапа стали Гленн Энтис из DreamWorks, Глен Кин из Disney и я — из Pixar. Компания Baobab уже создала и выпустила несколько короткометражных персонажных анимационных фильмов — в виртуальной реальности, — отмеченных профессиональными наградами. Точно так же сейчас создают VR-контент многие студии визуальных эффектов и игровые компании.
В настоящее время практический интерес в области Цифрового Света вызывает дополненная реальность (AR), где синтезированное изображение в режиме реального времени комбинируется с отображением реального мира. В ней сочетаются фиксация и создание, аналитический и синтетический Цифровой Свет. Реальный мир оцифровывается в режиме реального времени. Устройство дополненной реальности синтезирует вымышленный мир в реальном времени и объединяет его пиксели с пикселями реального мира, чтобы создать новый вид визуального восприятия. В простейших случаях происходит наложение синтетической сцены на реальную с использованием альфа-канала. Реальный мир — просто двумерный фон для синтетического переднего плана. На самом деле иногда реальный мир вообще не оцифровывается, а просто оптически комбинируется с синтетическими изображениями с помощью специальных очков.
Художница Дарси Гербарг — пионер исследований границ Цифрового Света с помощью дополненной реальности. Ее работа иллюстрирует категории этой книги. В качестве основных инструментов она использует программу для рисования в виртуальной реальности Tilt Brush от Google и Adobe Photoshop, классический двумерный пиксельный фоторедактор. Tilt Brush позволяет рисовать в трех измерениях с помощью мазков, соответствующих Центральной Догме. Они смоделированы в пространстве евклидовой геометрии, к ним применены текстурные карты, придающие им вид рельефных мазков, они отбрасывают тени в соответствии с ньютоновской физикой и рассматриваются в линейной перспективе. Художница совмещает рисунки в виртуальной реальности с изображениями из реального мира с помощью специальной программы в своем мобильном телефоне. Другими словами, она перемещается, рассматривая с выбранных точек зрения на экране мобильного телефона свои трехмерные VR-мазки, наложенные на двумерные изображения, скажем, интерьера студии. Затем она переносит понравившиеся сцены дополненной реальности в Photoshop и творчески изменяет содержимое пикселей по своему желанию. Ее работы затягивают вас в двумерное пространство новым и очень сильным способом, который не подчиняется Центральной Догме, а использует ее (рис. 9.2).
В настоящее время самой передовой областью Цифрового Cвета выступает еще более сложная концепция, которую часто называют смешанной реальностью (MR). В ней, в отличие от AR, компьютер воссоздает трехмерную структуру из реального мира, так что кажется, будто синтезированный мир осмысленно взаимодействует с ней — например, синтезированное животное вполне убедительно ходит по вашему столу в реальном мире. Это похоже на то, что делает наш мозг — операция, обратная компьютерной графике, разумеется, с учетом Центральной Догмы. В AR сочетаются только пространства Отображения реального и синтезированного миров. В MR объединяются пространства Творчества — переплетаются внутренние модели двух миров.
Сейчас, когда я пишу эту книгу (в 2020 году), существует несколько технологических подходов к MR: компания Microsoft продвигает свое устройство HoloLens, а стартап Magic Leap — прямую проекцию изображения на сетчатку. Мы пока еще ждем, когда эти — и другие — необычные устройства вступят в пору зрелости. Обратите внимание, что они представляют, соответственно, решения «до зрачка» и «после зрачка», используя терминологию из главы о фильмах и анимации. Зрачок здесь выступает жесткой границей между тем, что происходит снаружи и внутри нашего мозга.
Пока мы ждем взросления технологий смешанной реальности, в изобилии возникают технические вопросы. Будут ли объекты реального мира скрывать вычисляемые объекты? И отбрасывать на них тени? Будут ли вычисляемые объекты видны сквозь прозрачные объекты реального мира? Будут ли источники света реального мира изменять расположение теней на вычисляемых объектах? Эксперты, которым я задавал эти вопросы на Siggraph 2019 года, заверили меня, что некоторые ответы уже даны, но пока что защищены коммерческой тайной. Настоящее смешивание виртуального и реального мира кажется очень сложной проблемой. Это полная интеграция «фиксации и создания», «съемки и вычислений», синтез компьютерной графики и операции, обратной компьютерной графике, при том что обе подчиняются Центральной Догме. Несомненно, это достаточно серьезный вызов, чтобы подпитывать энтузиазм нового поколения специалистов по компьютерной графике и художников (а еще нейробиологов и авторов научной фантастики).
И только что появился новый термин, готовый охватить множество возможных направлений, в которых все это будет развиваться, — «расширенная реальность» (XR), означающая любое сочетание реальной и виртуальной среды.
В 1996 году сотрудники студии Pixar получили специальную техническую награду Американской академии кинематографических искусств и наук, первую из многих, последовавших далее. Технические награды раздают на церемонии, столь же гламурной, как и телевизионная церемония вручения премии «Оскар», — те же смокинги и платья, лимузины и кинозвезды, роскошный банкет и короткие благодарственные речи. Разница только в том, что телевидение не транслирует ее на весь мир и знаменитые журналисты не берут интервью у номинантов на красной ковровой дорожке. Академия вполне обоснованно считает, что широкой публике едва ли интересны генераторы тумана или паутины и другие технические достижения, за которые вручается премия на протяжении многих лет.
Рис. 9.2
Мероприятие всегда ведет кинозвезда. В 1996 году это был Ричард Дрейфус, известный нам по множеству ролей, но особенно по роли Курта в «Американских граффити» Джорджа Лукаса. Я, Эд Катмулл и еще несколько человек из Pixar, номинированные на премию, сидели за одним столиком. Всего несколькими месяцами ранее прошла триумфальная премьера «Истории игрушек».
В начале своей торжественной речи Дрейфус отметил, что актеры и технические специалисты зависят друг от друга и эта другая, не транслируемая по телевидению церемония вручения премии «Оскар» очень важна для таких актеров, как он сам. «Мы все, и актеры, и технари, вместе идем в будущее», — сказал он. Но потом добавил иронии. Он указал на наш столик и сказал: «Заметьте, ребята из Pixar, что я сказал
В 2000 году мне предложили написать статью для журнала
Я называю это
Это то, что сделал Тьюринг, когда изобрел машинные вычисления и компьютер с хранимой в памяти программой, казалось бы, из ничего. Это удивительный творческий скачок, один из величайших за всю историю. Это техническое творчество теоретической разновидности — в башне из слоновой кости. Котельников сделал то же самое, создав теорему отсчетов, совершив еще один великий творческий скачок. И, конечно же, он отталкивался от великой творческой идеи Фурье.
Это то, что делают программисты или что позволяет им создать из очень длинного списка внешне бессмысленных компьютерных инструкций программу, которая делает что-то осмысленное — например, вычисляет «Историю игрушек». Это инженерное техническое творчество — в зловонной лаборатории, как я называю это в своей книге. Постоянное совершенствование невероятно быстрых компьютеров, описанное законом Мура, — еще один пример этого. Другой пример — создание внутри компьютера сложных моделей, скажем персонажей, с использованием геометрии и языка затенения.
И это то, что делают аниматоры, когда вдыхают жизнь в своих персонажей и заставляют нас поверить, будто стопка треугольников осознает себя и чувствует боль. Это художественное творчество. Им занимаются и актеры, убеждающие нас, будто в их телах обитает разум, принадлежащий совсем другим людям. На самом деле актеры и аниматоры считают, что используют один и тот же навык. Как уже говорилось выше, Pixar на собеседовании отбирает аниматоров, обладающих актерскими способностями.
То, что я написал в 2000-м, остается актуальным и сегодня, два десятилетия спустя: мы понятия не имеем, как заменить живых актеров. Но мы можем заменить
Я предсказал в 2000 году, что мы сможем снять фильм с живыми актерами, не используя кинокамеру, если актеры будут контролировать свои аватары. Предсказание, в котором я экстраполировал результаты непрерывного развития компьютерной анимации, сбылось через восемь лет в «Загадочной истории Бенджамина Баттона».
Навыки аниматоров и актеров практически неотличимы, только для их выражения используются разные средства: у актеров это человеческое тело, а у аниматоров — треугольники. И те и другие, практикуя свое искусство, убеждают нас в наличии некой внутренней жизни, отличной от жизни самого актера или аниматора. Как мы видели в главе 8, к началу третьего тысячелетия по крайней мере три компьютерных анимационных фильма доказали, что у анимированных треугольников есть внутренняя жизнь, когда ими манипулируют те, кого мы называем аниматорами. Скачок во времени, который я попробовал совершить в том году, заключался в предположении, что реализм персонажей будет неумолимо возрастать благодаря магии закона Мура и вскоре достигнет такого уровня, что они смогут убедительно имитировать внешний вид на22рону реалистичных аватаров. Единственной заботой аниматоров и актеров, «управляющих» ими, останется убедить нас в том, что они живые.
Тогда, в 2000 году, я сделал несколько магических пассов и предположил, что, поскольку потребовалось 20 лет для перехода от идеи компьютерного анимационного фильма в 1975 году к его реализации в 1995 году, возможно, еще 20 лет потребуется, чтобы прийти к первому фильму «без камеры», но не «без актеров». Итак, 2020 год, когда я вношу последние правки в эту главу, уже наступил, так что, очевидно, мои магические пассы не возымели эффекта. Нет никаких свидетельств, что возможно снять эмоционально убедительный фильм с участием одних только человеческих аватаров, без настоящих людей в кадре. И, конечно же, нет никаких свидетельств близящейся замены актеров или аниматоров их компьютерными симуляциями. Ричард Дрейфус может расслабиться, их не предвидится и в обозримом будущем.
Но… В 2020 году появились свидетельства прогресса, которые намекают на кое-что другое. Возьмем недавно вышедший фильм «Ирландец» (2019). Каждый из великих семидесятилетних актеров — Роберт Де Ниро, Джо Пеши и Аль Пачино — играет в нем самого себя в молодости. Такое «омоложение» находится где-то посередине между
Здесь, однако, я хотел бы сделать предостережение: недобросовестные люди могут воспользоваться этими удивительно обманчивыыми художественными технологиями не ради нашего развлечения, а во вред. Такие подделки называются
Подведение итогов…
Пиксель — казалось бы, простая, но хитроумная концепция — объединяет все способы создания и обработки цифровых изображений в одно пространство, пространство Цифрового Света, которое охватывает почти все современные изображения. Цифровой Свет легко понять, разобравшись в трех великих основополагающих идеях, лежащих в его основе: волнах Фурье, отсчетах Котельникова и машинных вычислениях Тьюринга.
К Цифровому Свету имеют непосредственное отношение две фундаментальные высокие технологии — компьютеры и кинематограф, — которые тоже можно понять на интуитивном уровне. Очевидно, что компьютеры лежат в основе всего «цифрового». Кино тоже, потому что оно использует теорему отчетов и от него Цифровой Свет унаследовал терминологию и концепции. В своей книге я подробно излагаю историю этих двух технологий. Лучший способ разобраться в ней — составить генеалогическую блок-схему, включающую все ключевые персоналии. Этот подход радикально отличается от соблазнительной простоты сказочного повествования об одном героическом изобретателе, которое так популярно у публики, но почти всегда искажает факты. Душой книги стали «семейные» истории, отраженные на блок-схемах. В них проявились характерные для человеческих отношений дружелюбие и ссоры, сотрудничество и конкуренция, возвышенность и низменность. Те же методы исследования применяются к истории самой технологии Цифрового Света, в частности того пути, который привел нас к появлению первых цифровых фильмов.
Во всех этих историях фундаментальных идей и высоких технологий обнаруживается триада «идея — хаос — тиран»: великая идея; хаос или вихрь перемен, требующие ее реализации; тиран или некая форма тирании, которые защищают, часто сами того не желая, создателя, бьющегося над реализацией своей идеи.
Часы тикают всё громче и громче по мере приближения к концу книги, а особенно когда мы достигаем последней главы. Каждые пять лет мощность компьютеров увеличивается на порядок в соответствии с законом Мура. Я уделяю пристальное внимание этому феномену, этому взрыву сверхновой, этому революционному развитию, которое мы с трудом осознаем. Он на порядки величин расширяет границы наших способностей как человеческих существ. Он Усиливает нас. Цифровой свет — лишь одно из блестящих следствий закона Мура.
…И еще дальше
Любая система, достаточно простая, чтобы быть понятной, не будет достаточно сложной, чтобы вести себя разумно, в то время как любая система, достаточно сложная, чтобы вести себя разумно, будет слишком сложной для понимания.
Пару лет назад, когда я был в Королевском колледже в Кембридже, где моя жена проводила свой научный отпуск, — в том самом, где Алан Тьюринг написал свою основополагающую работу, — ко мне подошел мой старый коллега по играм с пикселями Джон Бронскилл. «Элви, нам больше не нужно будет программировать!» — он ошарашил меня заявлением. Джон сделал себе имя, создавая расширения для графического редактора Adobe Photoshop, пожалуй самого популярного пиксельного приложения в профессиональном мире.
«Что ты имеешь в виду?» — спросил я. «Прочитай вот это», — сказал он, сунув мне в руки научный журнал. Он был открыт на статье из Исследовательской лаборатории искусственного интеллекта Калифорнийского университета в Беркли. В ней описывалась нейросеть определенного типа, которую обучили с помощью 1000 немаркированных произвольных фотографий лошадей и 1000 немаркированных произвольных фотографий зебр. Фотографии лошадей содержали разное количество лошадей разного цвета, расположенных в произвольном порядке. Фотографии зебр тоже использовались разные, хотя цвета зебр, конечно, не отличались. Все эти фотографии были цифровыми, состоящими из пикселей. После соответствующего обучения (не буду описывать его технологию) сеть научилась проделывать следующий поразительный фокус: получив на входе произвольную фотографию зебры, сеть заменяла каждую зебру на лошадь. На самом деле она просто перекрашивала зебру в цвета лошади или наоборот (рис. 9.3, верхняя пара).
«Как это работает? — спросил я и добавил: — Я даже не думаю, что эта проблема имеет четкое определение». Что такое для компьютера лошадь? Что такое зебра? Как он сопоставляет одно с другим?
Джон просто отмахнулся: «Я не знаю. И никто не знает. Оно просто делает это! Это слишком сложно для обратного проектирования».
Та же нейронная сеть способна и на другие удивительные вещи. Если обучить ее на пейзажных фотографиях и картинах Ван Гога, она сделает из любого снимка природы картину в стиле Ван Гога. Или наоборот. Или в стиле Моне. Или превратит летние пейзажи в зимние. Или наоборот.
Я упоминаю здесь об этом, чтобы задаться вопросом: что будет дальше в Цифровом Свете? Признаюсь, я не понимаю, что происходит и насколько это важно в долгосрочной перспективе. Но давайте немного поразмышляем.
Тьюринг позволил своей универсальной машине Тьюринга — или компьютеру с хранимой в памяти программой — выполнять операции над самой программой, как над данными. Именно в этом и заключается суть его изобретения — компьютера с хранимой в памяти программой. Относится ли работа программы «лошадь-зебра» к числу операций, в которых программа сама модифицирует себя? Тьюринга особенно привлекала подобная возможность, как и перспектива создания искусственного интеллекта. Как я уже упоминал, операционные системы современных компьютеров обычно запрещают программам самомодифицироваться, чтобы не привести к полному хаосу.
Нейронная сеть моделируется на обычном компьютере, поэтому программа, выполняющая моделирование, не модифицирует себя. Но предположим, что нейронная сеть была бы настоящей нейронной сетью, а не просто симуляцией. Можно ли ее истолковать как программу, модифицирующую саму себя? Я думаю, что да. Наш мозг — это, несомненно, нейронная сеть, и, насколько нам известно, в нем нет хранилища программ, отдельного от хранилища данных. И, вероятно, он не делает ничего, выходящего за рамки вычислений Тьюринга. Мы не нашли ни одного иного алгоритмического процесса за 80 лет с момента появления этой концепции.
В 1965 году я поступил в аспирантуру Стэнфорда, потому что он входил в число двух известных мне университетов, где преподавали увлекательный новый предмет — искусственный интеллект (в наши дни его часто сокращенно называют ИИ). Еще его преподавали в Массачусетском технологическом институте. Я учился у Джона Маккарти, отца-основателя искусственного интеллекта в Стэнфорде. И я несколько раз обстоятельно беседовал с Марвином Мински из МТИ, еще одним отцом-основателем этого направления.
Через пару лет я бросил заниматься ИИ, решив, что при моей жизни прорыва в этой области не случится. Возможно, я сделал преждевременный вывод, если учесть, что у меня в запасе, вероятно, есть еще два десятилетия, но тем временем я помог снять первый цифровой фильм. Поскольку я сделал это, у меня теперь есть время вернуться к размышлениям об ИИ. Хотя на самом деле я никогда и не переставал о нем думать.
Меня озадачило замечание Джона Бронскилла. Я всегда предполагал, что, когда, мне будут объяснять принцип работы ИИ, я все пойму. Тем не менее передо мной был пример машинного обучения — возможно, недостаточно развитого, чтобы называться ИИ, — и я ничего не понял. Возможно, потому что сеть модифицирует свою собственную программу? Мы знаем, что, как правило, нельзя быть уверенным даже в такой простой вещи, как остановится ли в конце концов программа, — поэтому, вероятно, и нет ничего удивительного в том, что мы не можем понять, как работает эта программа «зебра-лошадь».
Как бы то ни было, ее умение делать зебру из лошади далеко от идеала. В статье, которую мне показал Бронскилл, приводился пример, где в программу загрузили знаменитую фотографию Владимира Путина с голым торсом верхом на лошади. В результате президент России и лошадь слились в двухголового полосатого кентавра (рис. 9.4).
Сама природа нынешней революции заключается в том, что мы не можем предсказать ее, не можем заглянуть вперед дальше, чем на один порядок величины. Нам просто нужно оседлать волну и увидеть, в какое захватывающее и даже загадочное место она нас вынесет.
Рис. 9.3
Перед прощанием: магический ковер
Что мы сделали в этой книге? Мы заменили физическое изображение абстрактным математическим объектом и тем самым открыли огромное новое царство воображения. Этот объект сбивает с толку: он повторяющийся и дискретный, а каждый из его повторяющихся локусов ожидает применения своей маленькой капли бесконечности. Но из этого объекта можно создать все картины мира или всех миров. Я заканчиваю книгу отрывком из романа Итало Кальвино «Невидимые города», в котором молодой путешественник Марко Поло рассказывает стареющему монгольскому императору Хубилай-хану об удивительном ковре-самолете в городе Евдоксии. Это разговор на границе реального и воображаемого:
Рис. 9.4
В Евдоксии, уходящей вверх и вниз, с ее извилистыми улочками, лестницами, тупиками и лачугами, сохраняется ковер, позволяющий увидеть истинную форму города. На первый взгляд, ничто столь мало не напоминает Евдоксию, как рисунок этого ковра, где вдоль верениц кругов и параллельных им прямых повторяются симметричные мотивы, образуемые чередованием блестящих разноцветных уточных нитей. Но, внимательно всмотревшись, убеждаешься, что каждому месту узора соответствует какое-нибудь место в городе, а все наличествующее в городе отражено в узоре в своих истинных взаимоотношениях, ускользающих от взгляда, отвлекаемого толпами народа, суматохой, толчеей. Столпотворение, рев мулов, пятна сажи, запах рыбы — вот что предстает перед тобой в Евдоксии, но ковер доказывает: есть место, откуда город обнаруживает свои истинные пропорции, геометрическую схему, ощутимую в мельчайшей из деталей.
О таинственной взаимосвязи столь несхожих меж собой явлений, как ковер и город, спрошен был оракул.
— Один из них имеет форму, данную богами звездному небу и орбитам, по которым движутся миры, — ответил он, — другой же — приблизительное его отражение, как все рукотворное.
Благодарности
Чрезвычайные благодарности
Моя глубочайшая благодарность предназначена Элисон Гопник — моей жене, моему компаньону и помощнику. Она с самого начала, десять лет назад, вдохновила меня на написание этой книги, а затем научила меня, как это делать. Я жадно слушал ее, так как она написала несколько бестселлеров. «Распаковать эти предложения», — порекомендовала мне она, поскольку заметила, что в моих академических пассажах едва ли отыщется хотя бы пять нормальных предложений. А вот еще один пример ее руководящей мудрости: «Потребуется не менее пятидесяти правок, прежде чем слова хотя бы начнут приобретать такой вид, будто они вытекают из твоего бессознательного естественным и плавным образом». Вместо того чтобы извиняться перед супругой за мое десятилетнее «отсутствие», я горячо благодарю ее за то, что она позволила мне разделить с ней мир литературы — со всеми радостями и невзгодами.
Глубокую благодарность другого рода я выражаю Барбаре Робертсон. Барбара известна в мире компьютерной графики благодаря десятилетиям журналистской работы, отмеченной престижными наградами. Она была моим главным редактором на протяжении всего многолетнего созревания этой книги. Она одна из немногих людей в мире, кроме Элисон, кто имеет право свободно критиковать мои тексты и знает, что я внимательно — хотя, возможно, и с раздражением — отнесусь к ее комментариям и буду действовать в соответствии с ними. Обычно Барбара прибегала к хитрой уловке, предлагая простую перестановку моих предложений. Почти в каждом случае ее вариант работал лучше, чем мой оригинальный текст. Слова все еще оставались моими, но воспринимались лучше. Поток слов становился более плавным, логика повествования — прозрачнее, а ритм — четче. Мы с Барбарой дружили на протяжении большей части моей карьеры в области компьютерной графики, и наша дружба пережила совместную работу. Да, я считаю, что теперь она крепче, чем когда-либо прежде.
Особые благодарности
Здесь я выделяю несколько человек, которые оказали особую, иногда решающую помощь по различным темам, затронутым в книге.
В целом: Шон Кубитт пригласил меня выступить с докладом на конференции под названием «Цифровой Свет» в Мельбурне десять лет назад, и прочитанный там доклад лег в основу этой книги. Эрик Чински вдохновил меня использовать мотив триады и первым назвал «биографией» мою еще не законченную книгу. Роберт Чарльз Андерсон, Нилон Кроуфорд, Дэвид Ди Франческо, Лорин Херр и Боб Кадлек оказывали мне неизменную дружескую и читательскую поддержку на протяжении всей работы над книгой.
Искусство: Дарси Гербарг и Ясия Рейхардт предложили художественные идеи, вплетенные в повествование.
Отсчеты: Федор Урнов вдохновил меня на исследование и помог с контактами для изучения российских материалов, связанных с теоремой отсчетов. Крис Бисселл помог мне с техническими подробностями.
Машинные вычисления: Мартин Дэвис, друг и математик мирового класса, очень помог мне с теориями из области логики и машинных вычислений, особенно со знаменитой проблемой неразрешимости. Сэр Джон Дермот Тьюринг поделился мыслями о своем знаменитом дяде.
Компьютеры: Крис Бертон проложил мне путь к первым компьютерам. В частности, он организовал мой визит к Baby в Манчестер. Джордж Дайсон предоставил документы из архива Джона фон Неймана. Марина фон Нейман-Уитман исправила мое мнение о личности и спортивных способностях ее отца Джона. Мартин Кэмпбелл-Келли, Саймон Лавингтон и Брайан Рэнделл помогли мне разобраться в хитросплетениях ранней истории компьютеров.
Восход Цифрового Света: Криста Ферранте допустила меня к важнейшему и богатейшему фотоархиву Whirlwind в корпорации MITRE. Даг Спайсер уговорил меня превратить главу о «Восходе» в журнальную статью. Джек Коупленд задавал трудные вопросы, которые помогли уточнить мои цифровые определения.
Кино и анимация: я благодарю покойного Пола Шпера за его обширные знания об Уильяме Кеннеди Лори Диксоне, Лорана Маннони — за экспертизу в истории французского кино, Дональда Крафтона — за экспертизу в истории анимации и Лесли Айверкс — за рассказ об Абе Айверксе (ее деде).
Формы: Робин Форрест позволил увидеть первые дни и первых игроков в перспективе. Айвен Сазерленд, Тим Джонсон и покойный Ларри Робертс поделились подробностями о зарождении интерактивной компьютерной графики в Массачусетском технологическом институте. Барретт Харгривз поделился редкой информацией о General Motors DAC-1. Джарон Ланье конкретизировал мое понимание ранней виртуальной реальности. Кристиан Бойер познакомил меня с удивительными аспектами и подробностями карьеры Пьера Безье.
Оттенки: Джин Янгблад помог мне разгадать тайну первых цветных пикселей. Роб Ружло и Боб Шумахер с радостью дополнили недостающие детали. Коллеги Кристин Бартон, Джим Блинн, Эд Катмулл, Роб Кук, Том Дафф, Дон Гринберг, Пэт Ханрахан, Джим Лоусон, Марк Левой, Джим Каджия, Алан Кэй, Эбен Остби, Том Портер, Билл Ривз, Боб Спроулл, Стив Апстилл и Тернер Уиттед — и многие другие — напомнили мне о деталях многих совместных разработок.
Будущее: я благодарен Джону Бронскиллу за историю с машинным обучением; Эрику Дарнеллу, Морин Фан и Пэм Кервин — за виртуальную, дополненную и смешанную реальность; и Барбаре Робертсон — за омоложение и дипфейки.
MIT Press: Мэри Бэгг, редактор, с которой приятно работать, взялась за мою рукопись для финальной огранки, сделав ее более четкой и ясной, а также доказав, что всегда есть место еще более качественной литературной правке. Шон Кубитт замкнул круг, начатый 10 лет назад. Дуг Сери руководил всем этим и говорил со мной о мотоциклах. Ноа Спрингер провел меня через этап получения разрешений на публикацию иллюстраций. Джудит Фельдманн, оторвавшись от своих более серьезных обязанностей, развеяла мои опасения по поводу выбора шрифта. А Леонард Розенбаум сделал указатель для моей рукописи.
В память о тех, кто помог мне, но не дожил до выхода книги
Майкл Каро, Малкольм Айзенберг, Гарри Хаски, Уильям Ньюман, Ларри Робертс, Дик Шауп, мои родители Элви и Эдит Смит, Пол Шпер, Боб Тейлор и Лэнс Уильямс.
Поставщики контента, историки, читатели, консультанты и другая помощь и хостинг (еще не попавшие в список)
Сэм Эннис-Браун, Майкл Арбиб, Бобби Окатт, Линн Окатт, Рон Бекер, Дон Битцер, Нед Блок, Ленор Блюм, Мануэль Блюм, Джон Боханнон, Келлог Бут, Адриан Гопник Бонди, Томас Бонди, Стюарт Брэнд, Джек Брезенхэм, Базз Брюггеман, Марк Бурштейн, Кэти Кейн, Дэниел Кардосо [и] Ллах, Сьюзен Кэри, Шелли Каро, Артур Чемперноун, Ричард Чуанг, Элейн Коэн, Эфраим Коэн, Сьюзен Кроуфорд, Лем Дэвис, Вирджиния Дэвис, Брайан Дир, Том ДеФанти, Ллиса Деметриос, Гэри Демос, Николас де Моншо, Даниэла (Принц) Дербишир, Дэвид Дербишир, Сьюзан Дики, Пит Доенджес, Вики Доенджес, Джон Дойл, Дай Эдвардс, Джуди Экхоф, Сара Айзенберг, Ник Инглэнд, Гленн Энтис, Сара Фавре, Пауло Феррейра, Дэвид Э. Фишер, Маршалл Джон Фишер, Юджин Фиуме, Джим Фоули, Розмари Форрест, Сюзанна Форрест, Кристин Фриман, Херб Фриман, Генри Фукс, Ричард Гилберт, Сандра Гилберт, Машхуда Гленкросс, Кен Гёррес, Ноа Гудман, Ольга Гудман, Адам Гопник, Блейк Гопник, Ирвин Гопник, Морган Гопник, Мирна Гопник, Уна Луна Гопник-Макманус, Триша Горман, Фиона Гринфилд, Том Гриффитс, Франсуа Хаас, Шейла Спербер Хаас, Сара Харрисон, Роуленд Хиггинс, Джейн Хиршфилд, Тоби Ховард, Джон (Спайк) Хьюз, Даг Хаски, Джордж Джоблав, Стивен Джонсон, Скотт Ким, Янгму Ким, Марк Кимбалл, Дон Кнут, Пэт Кул, Дэвид Линк, Таня Ломброзо, Джадсон Ловингуд, Алан Макфарлейн, Чарльз Манн, Терренс Массон, Джим Майер, Чарльз МакЭлиз, Джерри МакКарти, Том МакМахон, Жеральдин Маркес, Эндрю Мельцофф, Джин Миллер, Дон П. Митчелл, Джеймс А. (Энди) Мурер, Дэниел Мороз, Брайан Малхолланд, Уолтер Марч, Чарльз Мюссер, Майкл Мутукришна, Ева Наварро-Лопес, Николас Негропонте, Тед Нельсон, Эндрю Нойройтер, Мартин Ньюэлл, Питер Норвиг, Робин Оппенгеймер, Карл Пабо, Дон Панетта, Лор Пархоменко, Флип Филлипс, Дэниэл Пиллис, Брюс Поллак, Джойс Поттэш, Пол Поттэш, Дэвид Прайс, Рич Ризенфельд, Питер Робинсон, Дэйв Роджерс, Ронда Ружло, Майкл Рубин, Джинни Раффнер, Донна Рут, Философский клуб Сан-Франциско, Пьеро Скаруффи, Дана Скотт, Ирена Скотт, Эван И. Шварц, Лоренс Шварц, Лиллиан Шварц, Том Сито, Джесси Смит, Сэм Смит, Ли Смолин, Джон Стайнер, Нил Стивенсон, Джек Стайфл, Клиффорд Столл, Б. В. Суреш, Филип Томсетт, Паскаль Торрасинта, Боб Триподи, Дмитрий Урнов, Джон Уорнок, Бен Уотсон, Марсели Вейн, Сьюзан Вейн, Мэри Уиттон, Стивен Вольфрам, Джим Вудворд, Джули Вудворд, Кэти Вудворд, Джейн Янгблад.
Архивы и архивисты
Библиотека имени Бодлея. Оксфордский университет, Оксфорд, Великобритания. Архив Кристофера Стрейчи (в частности, папки CSAC 71.1.80/C.20–C.33).
Библиотека Честера Фрица, Гранд-Форкс, Северная Дакота. Элвин Б. Робинсон, Отдел специальных коллекций, Университет Северной Дакоты. Курт Хэнсон, заведующий.
Библиотека Французской синематеки, Париж. Лоран Маннони, директор.
Музей компьютерной истории, Маунтин-Вью, Калифорния. Даг Спайсер, куратор.
Музей «Колыбель авиации». Джуди Лаурия Блум, кураторский отдел.
Центр оборонной технической информации (DTIC), Национальная библиотека технических отчетов (NTRL). Дженнифер Кука, библиотекарь справочного отдела.
Google
Университет Хофстра. Джери Э. Соломон, заместитель декана отдела специальных коллекций и архивариус университета.
Институт Гувера. Стэнфордский университет, Пало-Альто, Калифорния. Пол Х. Томас, библиотекарь, и Молли Моллой.
Архив интернета Internet Archive.
Личные архивы Мартина Кэмпбелла-Келли.
Корпорация MITRE, фотоархив Whirlwind, Бедфорд, Массачусетс. Криста Ферранте, архивариус, Пэтси Йейтс, руководитель отдела по связям с общественностью, и Сьюзан Карпенито, сотрудник по выпуску информации.
Музей науки и промышленности (MOSI), Манчестер, Великобритания. Архивы Ferranti Ltd. Брайан Малхолланд, Ян (Харгривз) Хикс, старший архивариус, Джон Тернер и Рут Лайнез.
Оригинальные генеалогические записи в интернете: Ancestry.com, newspapers.com, www.FamilySearch.org.
Видеозаписи онлайн: www.YouTube.com.
Архив Pixar, Эмеривилль, Калифорния. Кристин Фриман и Лиз Борхес-Херцог, архивариусы. Архивный центр Шелби Уайта и Леона Леви, Институт перспективных исследований, Принстон, Нью-Джерси.
Программное обеспечение
Adobe: Acrobat, Illustrator и Photoshop.
Microsoft: PhotoDraw, PowerPoint и Word.
Wolfram Research: Mathematica.
Предыдущие издания некоторых текстов и рисунков
Универсальная машина Тьюринга в виде картонной карточки и описание, основанное на фрагменте в главе 3 («Вычисления Тьюринга»), выдавались всем абитуриентам Калифорнийского университета на собрании первокурсников Беркли в 2013 году в рамках мероприятия On the Same Page, предназначенного для их подготовки к началу занятий. Каждому первокурснику (около 8000 человек) была представлена реализация машины Тьюринга в виде карточки и книга Джорджа Дайсона «Собор Тьюринга: истоки цифровой вселенной» (
Примечания
Электронные письма адресованы автору, если не указано иное.
Сокращения, используемые в цитатах:
ACM Ассоциация вычислительной техники
AFIPS Американская федерация обществ обработки информации
IEEE Институт инженеров по электротехнике и электронике
JPL Лаборатория реактивного движения, Калифорнийский технологический институт
NYIT Нью-Йоркский технологический институт, Олд-Вестбери, Лонг-Айленд, Нью-Йорк
PARC Исследовательский центр Xerox, Пало-Альто, Калифорния
Siggraph Специальная группа ACM по компьютерной графике и интерактивным методам
Начало: Сигнальное событие
Appletons’ Cyclopaedia of American Biography. Т. 6 / ed. by J. G. Wilson, J. Fiske. New York: D. Appleton and Company, 1887. С. 1:311–312.
Комментарии к этой книге размещены на сайте http://alvyray.com/DigitalLight/. Они упорядочены по номерам страниц английского издания, а затем привязаны к первым трем словам каждого абзаца, для которого приводится дополнительная информация, исходные материалы или математическая документация.
1. Частоты Фурье: Музыка мира
Ibid. P. 284.
Oeuvres de Fourier / ed. by M. Gaston Darboux. 2 vols. Paris: Gauthier-Villars et Fils, 1888–1890. Vol. 2. P. 97–125;
The Eiffel Tower: The Eiffel Tower Laboratory // The 72 Savants. URL: https://www.toureiffel.paris/en/the-monument/eiffel-tower-and-science.
2. Отсчеты Котельникова: Нечто из ничего
Annus mirabilis (с лат. «год чудес») — в культуре англоязычных стран наименование некоторых календарных годов, отмеченных необычными, важными и позитивными событиями.
Death of G. M. Krzhizhansovsky // Current Digest of the Soviet Press. 1959. № 11. С. 31;
The Amtorg Trading Company Case // Recollections of Work on Russian. Document 3421019. P. 1–2. URL: http://www.gwu.edu/~nsarchiv/NSAEBB/NSAEBB278/06.PDF (accessed Feb. 28, 2020); Arthur Fielding: The Perseus Legend: blog. Sept. 5, 2010. URL: http://arthurfielding.blogspot.com/ (accessed Feb. 28, 2020);
Digital Imaging and Communications in Medicine (DICOM). Part 14: Grayscale Standard Display Function. Rosslyn, VA: National Electrical Manufacturers Association, 2004.
The KGB File of Andrei Sakharov / ed. by J. Rubenstein, A. Gribanov. New Haven: Yale University, 2005. P. 193–196.
Ibid.;
3. Вычисления Тьюринга: Одиннадцатьдесят одиннадцать дизиллионов
Alan Turing // Biographical Memoirs of Fellows of the Royal Society. 1955. November 1. URL: https://doi.org/10.1098/rsbm.1955.0019;
Касательно выдуманных чисел Скруджа и Бэггинса см. Walt Disney’s Uncle Scrooge. New York: Dell Publishing Company Inc. 1954. Mar. — May. № 5. P. 11;
Slang and Its Analogues: Past and Present / ed. by J. S. Farmer, W. E. Henley. Multiple vols. printed for subscribers only. 1903. Vol. 6. P. 368.
Colossus: The Secrets of Bletchley Park’s Codebreaking Computers / ed. by B. J. Copeland. Oxford: Oxford University Press, 2006. P. 157–158.
Ibid. P. 380–381.
Alan Turing and His Contemporaries: Building the World’s First Computers / ed. by S. Lavington. London: British Informatics Society, 2012. P. 82.
The Essential Turing. P. 383; Дайсон Д. Частная переписка, март 2013 года, выдержки из трех датированных писем из Управления финансового контролера, архив Джона фон Неймана. White S., Levy L. Archives Center, Institute for Advanced Study, Princeton, NJ.
Там же.
Там же.
The Essential Turing. P. 388, 390, 391;
4. Заря цифрового света: Ускорение
Manchester Baby. URL: https://www.youtube.com/watch?v=cozcXiSSkwE.
Ibid.
Colossus. P. 301;
Ibid. P. 64, 113–116.
The Essential Turing. P. 378–379, 383; Alan Turing’s Electronic Brain: The Struggle to Build the ACE, the World’s Fastest Computer / ed. by B. J. Copeland. Oxford: Clarendon Press, 2005. P. 455–456;
Alan Turing’s Electronic Brain. P. 369;
Alan Turing’s Electronic Brain. P. 114; Ходжес Э. Указ. соч.; Alan Turing and His Contemporaries… P. 13, 80.
The Essential Turing. P. 368–369, 388.
Ходжес Э. Указ. соч.; Alan Turing and His Contemporaries… P. 25, 81–82;
Alan Turing’s Electronic Brain. P. 115.
Faster than Thought: A Symposium on Digital Computing Machines / ed. by B. V. Bowden. London: Sir Isaac Pitman & Sons, 1953. P. 174;
Faster than Thought. P. ix; The Essential Turing;
Hanley R. From Googol to Google //
Whirlwind Bi-Weekly Reports. 1949. September 16. № 899. P. 1.
Филиппо Брунеллески (1377–1446) — итальянский ученый, инженер, математик и геометр, архитектор, скульптор, художник-ювелир и декоратор эпохи Возрождения. Считается одним из создателей новой европейской архитектуры.
The Essential Turing. P. 356–357;
Фред Брукс в частной беседе. 2018. 13 августа;
ASCII Artwork: The RTTY Collection. URL: http://artscene.textfiles.com/rtty/; Sheetz J. URL: https://www.youtube.com/watch?v=c1Beg5qb4is.
5. Фильмы и анимация: Время выборки
The Oxford Handbook of Chinese Cinemas / ed. by C. Rojas, E. Chow. Oxford: Oxford University Press, 2013. P. 5.
Spehr P. Op. cit. P. 618.
Ibid. P. 422.
Lettres d’Étienne-Jules Marey à Demenÿ, 1880–1894 / ed. by T. Lefebvre, J. Malthête, L. Mannoni. Paris: Association française de recherche sur l’histoire du cinéma, Bibliothèque du Film, 2000;
Lettres d’Étienne-Jules Marey à Demenÿ…;
Ibid. P. 417–421, 442–450.
Ibid. P. 446–449.
Ibid. P. 434–439.
Wikipedia. Motion Picture Patents Co. vs. Universal Film Manufacturing Co.
Ibid. P. 110.
Ibid.
Ibid. P. 61.
Ibid. P. 112–116.
Ibid. P. 58–89;
Ibid. P. 192–200.
Ibid. P. 137–150.
Ibid. P. 150–157.
Ibid. P. 244–246.
Gentilella J. URL: https://www.imdb.com/name/nm0313101/.
Ibid. P. 15.
Ibid. P. vi.
Ibid. P. 301.
Ibid. Ch. 9.P. 300–321.
6. Формы грядущего
Личное общение с Р. Форрестом 12 июня 2017.
Ibid. P. 19–20.
Эпиграф к:
TX-0 Computer, MIT, 1956–1960. URL: https://www.youtube.com/watch?v=ieuV0A01-c.
Whole Earth Catalog / ed. by S. Brand. Menlo Park, CA: The Portola Institute, 1968; Brand. Op. cit.
Там же. Глава 3.
Ibid. P. 54–56.
Ibid.
2002 Outstanding Service Award: Bertram Herzog. URL: https://www.siggraph.org/about/awards/2002-service-award/; Siggraph history. URL: https://www.siggraph.org/about/history/.
Bézier obit // Computer Aided Design. 1990. № 9 (22). November;
Ibid. March 30.
Ibid. March 24.
Larry Roberts, Fellow // Computer History Museum. URL: https://computerhistory.org/profile/larry-roberts/?alias=bio&person=larry-roberts.
Cybernetic Serendipity: The Computer and the Arts // ed. by J. Reichardt. Studio International Special Issue. London, 1968. July. P. 5.
Cybernetic Serendipity. URL: http://www.historyofinformation.com/detail.php?entryid=1089.
Cybernetic Serendipity: The Computer and the Arts. P. 66–68, 86–90, 92–93, 95–96.
Schindler’s List. URL: http://auschwitz.dk/schindlerslist.htm.
Idem.
Intel Corporation. Excerpts from «A Conversation with Gordon Moore: Moore’s Law». URL: http://large.stanford.edu/courses/2012/ph250/lee1/docs//Excepts_A_Conversation_with_Gordon_Moore.pdf;
7. Оттенки смысла
К рисунку 7.1: GE, Computer Image Generation, Simulation and Control Systems Department, General Electric Company, Daytona Beach, Fla., 19-page color marketing pamphlet (including covers), ca. 1977; GE — NASA. Visual Three-View Space-Flight Simulator: Final Report. Contract NAS 9-1375, GE, Defense Electronics Division, Electronics Laboratory, Ithaca, NY. 1964. August 1.
Ibid. P. 205.
Ibid. P. 205;
NASA. Coloring the Mariner 4 Image Data. URL: https://mars.nasa.gov/resources/20284/coloring-the-mariner-4-image-data/; NASA. Mars TV Camera. URL: https://nssdc.gsfc.nasa.gov/nmc/experiment/display.action?id=1964-077A-01.
Ibid. P. 29; URL: https://photojournal.jpl.nasa.gov/catalog/PIA14033.
Cybernetic Serendipity. P. 65; Youngblood G. Op. cit. P. 215–222.
Lapis. URL: https://www.youtube.com/watch?v=kzniaKxMr2g; Binary Bit Patterns. URL: https://archive.org/details/binarybitpatterns.
Evans & Sutherland Computer Corporation History. URL: http://www.fundinguniverse.com/company-histories/evans-sutherland-computer-corporation-history/;
Ibid.
Цит. по
Cornell in Perspective. URL: http://www.graphics.cornell.edu/online/cip/;
URL: http://alvyray.com/Pixar/documents/Disney1977Visit_EdAlvyDick.pdf;
Gartel L., Streich J. L. NYIT Puts Computers to Work for TV //
Mrs. Guest Buyer of Du Pont Estate: Wife of British Air Minister Makes Purchase Through Her Brother, Howard C. Phipps: Price Paid was $470,000: Mother Says That Mrs. Guest, Now Abroad, Will Be Suprised [
«Солнечный камень».
Dream Dance: The Art of Ed Emshwiller / ed. by J. Pires. Philadelphia: Lightbox Film Center Anthology Editions, 2019.
Ibid. P. 3–4.
8. Новое тысячелетие и фильм
Hair Simulation Overview. URL: https://www.khanacademy.org/partner-content/pixar/simulation/hair-simulation-101/v/hair-simulation-intro.
Animation World Magazine. URL: https://www.awn.com/mag/issue3.8/3.8pages/3.8lyonslasseter.html; Popular Mechanics. 2010. December 9. URL: https://www.popularmechanics.com/culture/movies/a11706/are-tron-legacys-3d-fx-ahead-of-their-time/.
MAGI/SynthaVision Sampler. 1974. URL: https://youtu.be/jwOwRH4JpXc; MAGI SynthaVision Demo Reel. 1980. URL: https://youtu.be/lAYaX6NuI4M; MAGI SynthaVision Demo Reel. 1984. URL: https://youtu.be/Ivk_LPQP6Ag.
Looker. URL: https://pro.imdb.com/v2/title/tt0082677/details.
Документы из архива автора:
Документ из архива автора: GFX Inc. Animation Services Business Plan. 1985. January.
Документы из архива автора: Potential Investors III. 1985. 21 июня.
Документы из архива автора: Potential Investors I. 1985. 21 июня.
Документы из архива автора: Подписанное письмо о намерениях, 1985. 7 ноября.
Levin D. P.
Документ из архива автора: Pixar’s 1986 Stock Purchase Plan, Schedule B-1; Учредительные документы Pixar. URL: http://alvyray.com/Pixar/.
30,48 см.
Ibid. P. vii.
US Patent № 4,897,806. Pseudo-Random Point Sampling Techniques in Computer Graphics. 1990. January 30.
Burning Love. URL: https://youtu.be/O7SycLUH-NM; Locomotion. URL: https://youtu.be/gATcdqgkWVA; Opéra Industriel. URL: https://youtu.be/qLEg_P5Crt0; PDI Historical Compilation. URL: https://www.youtube.com/playlist?list=PLJv789O10fmzl_YpDecrd3wI1qUg7XD4M.
Pixar IPO prospectus. 1995. November 25. P. 47;
Oxford Living Dictionaries. URL: https://www.lexico.com/definition/canon.
Финал: Великая цифровая конвергенция
Darcy Gerbarg (website). URL: http://www.darcygerbarg.com/.
68th Scientific & Technical Achievement Awards. 1996. March 2. URL: https://www.imdb.com/event/ev0000003/1996/1.
Изображения
Аббревиатуры
CC: Creative Commons, BY: with Attribution, CC0: norights reserved, NC: Non-Commercial, ND: No Derivatives, SA: Share Alike.
Начало: сигнальное событие
0.1 — любезно предоставлено Испанским обществом Америки.
0.2 — Wikimedia Commons (общественное достояние).
1. Частоты Фурье: музыка мира
1.1–2, 4–5, 7 — автор.
1.3 — любезно предоставлено Кэном Пауром (Ken Power).
1.6 — Indiamart, https://www.indiamart.com/proddetail/gi-corrugated-sheet-4450703088.html, image downloaded Feb. 9, 2020.
1.8 — Wikimedia Commons.
2. Отсчеты Котельникова: нечто из ничего
2.1–2, 4–7, 10–19 — автор.
2.3 — фотография статьи:
2.8 — из доклада Ричарда Ф. Лайона (Richard F. Lyon): Lyon R. F. A Brief History of Pixel // Invited paper presented at the IS&T/SPIE. Symposium on Electronic Imaging. San Jose, CA. 2006. January 15–19.
2.9 (слева) — благодарю Кристофера Бисселла, Российскую академию наук и семью Котельниковых.
2.9 (справа) — предоставлено музеем Массачусетского технологического института.
3. Вычисления Тьюринга: одиннадцатьдесят одиннадцать дизиллионов
3.1 — библиотека Королевского колледжа Кембриджского университета. AMT/K/7/8.
3.2 — CC BY-NC-ND 3.0 Unported license. Схема автора, 2014.
3.3–5, 7 — Элви Рэй Смит.
3.6 — фото братьев Колб, оригинал негатива из коллекции Библиотеки Клайна Университета Северной Аризоны. Любезно предоставлено Мариной Уитман.
4. Заря Цифрового Света: ускорение
4.1 (слева) — Кристофер Рич Эванс (Christopher Riche Evans), 1975.
4.1 (справа) — Кэролин Джаноглы (Carolyn Djanogly), Wikimedia Commons.
4.2–3 — из:
4.4 — предосталвено факультетом компьютерных наук Манчестерского университета.
4.5, 7–9 — Элви Рэй Смит.
4.6 — CC BY-ND 3.0 Unported license. Элви Рэй Смит, 2017.
4.10–13, 16, 21–23 — использовано и напечатано с разрешения компании MITRE, 2016.
4.14 — предоставлено Музеем компьютерной истории, Маунтин-Вью, Калифорния, датировано музеем ок. 1949 года. Подарок Мака Маклафлина (Mac McLaughlin), ID: 102710661.
4.15 — Ян Райчман (Jan Rajchman) / Лаборатория электронных исследований RCA. Предоставлено Джорджем Дайсоном (George Dyson).
4.17 — изображение воспроизведено по публикации, которая хранится в Музее науки и промышленности, Манчестер, Англия.
4.18 — с разрешения The Camphill Village Trust Limited.
4.19 — А. С. Дуглас (A. S. Douglas), любезно предоставлено Мартином Кэмпбеллом-Келли (Martin Campbell-Kelly).
4.20 — руководство по программированию, Report R-196, Массачусетский технологический институт, разрешено для публикации, дело 06-1104,55.
4.23 (справа) — Элви Рэй Смит.
4.24 (слева) — образец текстиля, Wikimedia Commons.
4.24 (справа) — Мозаика Марии и Иисуса между ангелами в базилике Сант-Аполлинаре-Нуово в Равенне, Италия. Фото wjarek, Adobe stock, 310119847, расширенная лицензия.
4.25 (слева) — Мадонна, автор Майер Хилл, оператор Associated Press, Балтимор, 1947. Собрано по тексту Элви Рэя Смита.
4.25 (справа) — Хаммаршёльд, 1962, Wikimedia Commons, CC BY 3.0 Unported license, фото Йонна Леффманна (Jonn Leffmann).
4.26–27 — Ричард Шоуп (Richard Shoup). С разрешения Университета Карнеги-Меллон и Нэнси Дикенсон Шоуп (Nancy Dickenson Shoup).
5. Фильмы и анимация: время выборки
5.1 — Wikimedia Commons, CC BY-SA 2.5 Generic license. Kto288.
5.2 — Коллекция Французской синематеки, фото Стефана Домбровски (Stephane Dabrowski). Любезно предоставлено Лораном Маннони (Laurent Mannoni).
5.3 — задняя обложка книги:
5.4 —Kircher А. Ars Magna Lucis et Umbrae. Amsterdam, 1671. P. 768.
5.5 — Pixar.
5.6 (слева) — Wikimedia Commons, общественное достояние.
5.6 (справа) — Библиотека Конгресса, фото Фрэнсиса Бенджамина Джонстона (Frances Benjamin Johnston), ок. 1890.
5.7–9, 15–16, 18 — Элви Рэй Смит.
5.10 — CC BY — ND 3.0 Unported license. Элви Рэй Смит, 2015.
5.11 (слева) — Getty Images, 115961049.
5.11 (справа) — Документы по истории кино Гордона Хендрикса, Архивный центр, Национальный музей американской истории, Смитсоновский институт, AC0369-0000009.
5.12 — Национальный исторический парк Томаса Эдисона, общественное достояние.
5.13 — Этьен-Жюль Маре, 1887, общественное достояние.
5.14 — Wikipedia.
5.17 — Элви Рэй Смит. Изображения любезно предоставлены Нью-Йоркским технологическим институтом.
5.19 (слева) — Шэрон Грин (Sharon Green)/Ultimate Sailing, Windmark Productions Inc.
5.19 (справа) — Дуг Гриффорд (Doug Gifford).
5.20 CC BY-SA-3.0 Unported license, фото неназванной дочери Джуди Мартин.
6. Формы грядущего
6.1 — ClipArt ETC Paid Commercial License.
6.2 (слева) — любезно предоставлено Питом Петерсоном (Pete Peterson).
6.2 (справа) — любезно предоставлено Бобом Перри (Bob Perry).
6.3–9, 12, 23–25, 28, 30, 39 — Элви Рэй Смит.
6.10 — Wikipedia Commons, CC BY-SA 2.0 Generic license. Маршалл Астор (Marshall Astor).
6.11 (справа) — FAVPNG Commercial License.
6.13 — CC BY — ND 3.0 Unported license. Элви Рэй Смит, 2020.
6.14 (слева) — Wikimedia Commons, CC BY 2.0 Generic license. Джой Ито.
6.14 (справа) — использовано и напечатано с разрешения The MITRE Corporation. 2016.
6.15 — реклама компьютера IBM Sage, 1960, https://www.youtube.com/watch?v=iCCL4INQcFo, 1:00.
6.16 — Graetz J. M. The Origin of Space-war // Creative Computing. № 7 (8). 1981. August. 39 (41 из 80), https://archive.org/details/creativecomputing-1981-08/
6.17 — фото сделано и предоставлено студентом Стивена Кунса Эбботом Вайсом (Abbott Weis). Напечатано с его разрешения.
6.18 — CC0 1.0 Universal Public Domain Dedication license. Войцех Мула.
6.19 — фото сделано и любезно предоставлено Энтони Хэйром (Antony Hare), 2010.
6.20 (слева) — CC BY-SA 3.0 Unported license. Фото Томаса Форсмана (Thomas Forsman).
6.21 (по центру) CC BY-SA 3.0 Unported license. Charles01.
6.21 (справа) — Bézier P. E. Examples of an Existing System in the Motor Industry: the Unisurf System // Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences. 1971. № 321. P. 208, fig. 2.
6.21 — фото сделано и любезно предоставлено Тиной Мерандон (Tina Merandon).
6.22 —
6.26 — фото сделано и предоставлено Дэйвом Коулманом (Dave Coleman).
6.27 — фото сделано и предоставлено Мишель Боси (Michele Bosi), http://VisualizationLibrary.org
6.29 (Left) — фото сделано и предоставлено Дэниелом Пиллисом (Daniel Pillis).
6.29 (по центру) — Sketchpad, https://www.youtube.com/watch?v=hB3jQKGrJo0, ок. 2:30.
6.29 (справа) — любезно предоставлено Ларри Робертсоном (Larry Roberts).
6.31 — Элви Рэй Смит, 1973.
6.32 — Феттер и Бернхарт, US Patent No. 3,519,997.
6.33 — Zajac E. E. Computer-Made Perspective Movies as a Scientific and Communication Tool // Communications of the ACM. 1964. № 3 (7). March. P. 70: 170, fig. 2. С разрешения ACM.
6.34 — Sketchpad III, https://www.youtube.com/watch?v=t3ZsiBMnGSg, 1:22, 1:23, 2:11, 2:55.
6.35 —
6.36 — Кен Ноултон (Ken Knowlton), 1998, коллекция Лори М. Янг (Laurie M. Young). http://knowltonmosaics.com/
6.37 — Cybernetic Serendipity, 1968, дизайн Францишки Темерсон (Franciszka Themerson). С разрешения Ясии Рейхардт (Jasia Reichardt).
6.38 — анимация Эфраима Коэна (Ephraim Cohen), которая создана с использованием Genesys, разработанной разработанной и запрограммированной Роном Бекером по совету Эрика Мартина (Eric Martin) и Линн Смит (Lynn Smith). Публикуется с разрешения Беккера и Коэна.
6.40 —
7. Оттенки смысла
7.1 — Отдел компьютерной генерации изображений, моделирования и систем управления, General Electric Company, Дейтона-Бич, Флорида, изображение НАСА, общественное достояние. Предоставлено Джимом Блинном (Jim Blinn).
7.2 — NASA/JPL–Caltech/Dan Goods, общественное достояние.
7. 3 — NASA, публичное достояние. Предоставлено Рональдом Панеттом (Ronald Panetta).
7. 4 — NASA image, общественное достояние. Предоставлено Питером Камницером (Peter Kamnitzer) и Джином Янгбладом (Gene Youngblood).
7.5–11, 14–17, 19, 28–29 — Элви Рэй Смит.
7.12 — CC BY — ND 3.0 Unported License license. Элви Рэй Смит, 2019.
7.13 (слева) —
7.13 (по центру) —
7.13 (справа) — Корнелл. https://www.youtube.com/watch?v=3iQqqv_bcXs, ок. 0:07. Публикуется с разрешения Дона Гринберга (Don Greenberg).
7.18 — Лукаша Буричина (Lukáš Buričin). Wikimedia Commons, общественное достояние.
7.20 — Ричард Шоуп. Публикуется с разрешения Университета Карнеги-Меллон и Нэнси Дикенсон Шоуп
7.21 — Preston Blair, Animation (Walter T. Foster, ca. 1940s), http://www.welcometopixelton.com/downloads/Animation%20by%20Preston%20Blair.pdf, загружено 1 марта. 2020, обложка, 22, 24. Любезно предоставлено поместьем Престона Блэра.
7.22–23, 26–27, 33 — опубликовано с разрешения Нью-Йоркского технологического института.
7.24 — Wikimedia Commons, общественное достояние, любезно предоставлено виконтессой Трапье.
7.25 — Эфраим Коэн, 1977 год, опубликовано с его разрешения.
7.30 — Wikimedia Commons, CC BY-SA 3.0 Unported license. Брайан Виббер (Brion Vibber), Маклоаф (McLoaf)и Даллимор (GDallimore).
7.31 — предоставлено Джимом Блинном (Jim Blinn).
7.32 (слева) — опубликовано с разрешения Нью-Йоркского технологического института.
7.32 (справа) — «Солнечный камень» (Sunstone), 1979, режиссер Эд Эмшвиллер (Ed Emshwiller), текстурная анимация Элви Рэя Смита.
8. Новое тысячелетие и Фильм
8.1 — Элви Рэй Смит. Любезно предоставлено Pixar.
8.2 — М. К. Эшер (M. C. Escher), «Рука с отражающей сферой», 1935. The M. C. Escher Company — The Netherlands.
8.3 —
8.4 — Жиль Тран (Gilles Tran), «Очки», 2006. Опубликовано с разрешения автора.
8.5
8.6 — Элви Рэй Смит.
8.7 — концепт и изображение Томаса Портера (Thomas Porter). Pixar.
8.8 — Элви Рэй Смит. Концепт предоставлен Томасом Портером, Pixar.
8.9 — Тормас Портер, 1984. Pixar.
8.10 — Элви Рэй Смит. Изображение предоставлено Pixar Animation Studios.
8.11 — композиция Элви Рэя Смита из компонентов Лорена Карпентера (Loren Carpenter), Тома Даффа (Tom Duff), Криса Эванса и Томаса Портера. Изображение любезно предоставлено Pixar.
8.12 — Tron (1982), https://www.youtube.com/watch?v=-BZxGhNdz1k, 0:29.
8.13 (слева) — фото использована с разрешения Эда Катмулла, Элви Рэя Смита и Карпентера. Любезно предоставлено Pixar.
8.13 (справа) — концепт Крэйга Рейнольдса (Craig Reynolds), графика Элви Рэя Смита.
8.14 — Pixar.
8.15 — Джон Лассетер (John Lasseter). Любезно предоставлено Pixar.
8.16 —
Финал: великая цифровая конвергенция
9.1 — Элви Рэй Смит.
9.2 — Vibrant Band — L2–205552D2eC2, Дарси Гербарг (Darcy Gerbarg), 2018.
9.3–4 —