📚 Hub Books: Онлайн-чтение книгРазная литератураПиксель. История одной точки - Элви Рэй Смит

Пиксель. История одной точки - Элви Рэй Смит

Шрифт:

-
+

Интервал:

-
+
1 ... 87 88 89 90 91 92 93 94 95 ... 170
Перейти на страницу:
белые шашки О. Mark I не обладал достаточной скоростью, чтобы интерактивно отображать даже X, перемещая его с клетки на клетку. С крестиками-ноликами Дугласа на древнем EDSAC в Кембридже дело обстояло аналогичным образом. Но примерно через 10 лет TX-2 в Массачусетском технологическом институте уже стал настолько быстрым, чтобы мгновенно (или по крайней мере достаточно быстро для человеческого восприятия) отображать несколько десятков отрезков.

В распоряжении Сазерленда был гигантский TX-2, и он первым использовал скоростные возможности этого компьютера графически. Мы уже обсуждали «резиновую нить». Еще он реализовал такие вещи, как фиксирование одной конечной точки отрезка и вращение другой конечной точки вокруг нее. Эффект состоял в повороте отрезка (с непрерывным отображением на экране), когда пользователь перемещал световое перо по поверхности дисплея. Также Сазерленд добился возможности, поворачивая ручку, вращать в реальном времени целый объект, состоящий из нескольких отрезков. Ключевое отличие его экспериментов от интерактивных игр начала 1950-х заключалось в мгновенном рендеринге отрезков (или по крайней мере рендеринг казался мгновенным). Программа Sketchpad не имела ни малейшего представления, где будут расположены новые отрезки, а поэтому не могла выполнить их предварительную визуализацию.

Итак, с помощью программы Sketchpad Сазерленд впервые добился интерактивного рендеринга в компьютерной графике. Это определение не так легко слетает с языка, как «первая интерактивная компьютерная графика», которую часто приписывают Сазерленду и Sketchpad, но у него есть важное преимущество: оно точное. Идея заключается в мгновенной замене геометрической модели, визуализированной на дисплее, другой визуализацией модели, содержащей изменения, которые зависят от действий пользователя и, следовательно, не могут быть предсказаны программой.

TX-2 был первым однопользовательским компьютером с достаточно быстрым дисплеем, и Сазерленд использовал его должным образом.

Sketchpad обладал еще одним новшеством, которое интерактивный рендеринг делает возможным, но не объясняет; его мы пока еще не упоминали. Любопытно? Новшество заключалось в том, что пользователь ощущал свое взаимодействие с программой, как будто он (как правило, в те времена это был он, а не она) изменяет модель, «прикасаясь» к ней — взаимодействуя с ее изображением на дисплее. Мы называем это «изображение как интерфейс». В первых интерактивных компьютерных играх пользователь изменял внутреннюю модель, печатая текст, а не взаимодействуя с самим изображением. А для управления игрой под названием «Овцы и ворота», которая работала на EDSAC, требовалось взмахом руки прерывать световой луч на устройстве чтения перфоленты. Но для пользователя Sketchpad новый опыт заключался в том, что изображение изменялось от прикосновений к нему. Если бы вы были дизайнером, конструктором или проектировщиком, вы впервые могли видеть свою модель в процессе ее создания. DAC-1 делал примерно то же самое и примерно в то же время.

Я использую здесь понятие «прикосновение» довольно широко, подразумевая под ним приближение светового пера или светового пистолета к дисплею. Поскольку управление курсором мыши мы воспринимаем как прикосновение, его я тоже включаю. Точно так же я включаю сюда перемещение курсора с помощью трекбола, джойстика, пальца на тачпаде или взмахов волшебной палочки в виртуальной реальности.

На самом деле прикосновение к экрану одним или несколькими пальцами, как мы это делаем сегодня на мобильных телефонах и сенсорных панелях, кажется довольно недавней разработкой — достижением последнего десятилетия или около того. Но это не так. Проект 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. Массачусетский технологический институт умело подошел к маркетингу своей разработки

1 ... 87 88 89 90 91 92 93 94 95 ... 170
Перейти на страницу:

Комментарии

Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!

Никто еще не прокомментировал. Хотите быть первым, кто выскажется?