Пиксель. История одной точки - Элви Рэй Смит
Шрифт:
Интервал:
Интерактивные возможности 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. Более того, изначально он даже не имел никакого отношения к программам создания компьютерной графики. Робертс работал в отделе обработки изображений — совсем иной ветви Цифрового Света. Он изучал фотографии из журнала Playboy — цифровые, в виде растра пикселей, — чтобы понять, сколько битов из описания каждого пикселя получится сэкономить, сохранив качество изображения.
Гораздо более впечатляющая тема, в работе над которой он участвовал, заключалась в распознавании трехмерных форм на оцифрованных фотографиях — не кроликов Playboy, конечно, а простых геометрических объектов, таких как кубы и призмы. Он извлекал линейные контуры таких объектов, находя на фотографии их прямые края и углы с учетом перспективы. Затем он восстанавливал их трехмерную структуру и отображал ее на дисплее TX-2, для чего ему требовалось пересечь границу между областями Цифрового Света — обработкой и созданием изображений. Чтобы успешно выполнять свою работу, ему пришлось освоить математику видимой перспективы. Впоследствии ему удалось внести фундаментальный вклад в компьютерную графику.
Его способ отображать перспективу сегодня повсеместно используется в компьютерной графике. Это один из эзотерических разделов математики, который называется проективной геометрией, — и в нем есть странное понятие «однородная координата». Это неочевидный и довольно сложный для понимания прием.
Он предлагает нам добавить четвертую координату к каждой точке нашей геометрии. Начальная геометрия — планиметрия, изложенная в моем учебнике для средней школы, — использует точки с двумя координатами: первая для положения на горизонтальной оси x, а вторая для положения на вертикальной оси y. Такую геометрию использует Sketchpad Сазерленда — как для внутренней модели, так и на дисплее.
В старшей школе мы немного изучали объемную, или трехмерную, геометрию — стереометрию. Она добавляет к каждой точке третью координату, ее местоположение по глубине z в трехмерном пространстве. Стереометрия описывает внутренние модели в Sketchpad III Джонсона. Для отображения Джонсону требовались только двумерные точки x и y, но самое интересное, что он заставил Sketchpad III также отображать внутреннюю модель в перспективе. Тут-то и пригодилась математика его однокурсника Робертса.
Прием Робертса добавлял четвертую
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!