Sketchpad
Sketchpad — это интерактивная компьютерная программа для создания и редактирования векторной графики, разработанная в 1963 году американским инженером Айвеном Сазерлендом в рамках его докторской диссертации в Массачусетском технологическом институте (MIT). Sketchpad считается первой в мире системой компьютерного проектирования (CAD) и одним из ключевых прототипов современного графического интерфейса пользователя (GUI), а также прямым предшественником концепций объектно-ориентированного программирования и интерактивной машинной графики.
История создания
В начале 1960-х годов компьютерная графика находилась в зачаточном состоянии. Большинство вычислений производилось путём ввода перфокарт или команд с клавиатуры, а вывод осуществлялся на принтеры или осциллографы. Айвен Сазерленд, работая в лаборатории Линкольна MIT, поставил задачу создать систему, позволяющую человеку рисовать непосредственно на экране электронно-лучевой трубки (ЭЛТ) с помощью светового пера.
Диссертация Сазерленда «Sketchpad: A Man-Machine Graphical Communication System» была защищена в 1963 году. Программа была написана на ассемблере для компьютера TX-2 (машина, построенная на транзисторах, с объёмом оперативной памяти около 64 Кбайт). TX-2 имел 36-битную архитектуру и был оснащён дисплеем с растровым сканированием, что позволяло отображать простые линии. Для работы Sketchpad требовался не только сам компьютер, но и массивный внешний шкаф с электроникой, а также световое перо — устройство, напоминающее ручку, которое при касании экрана фиксировало координаты точки на дисплее.
В 1964 году Сазерленд, вместе с коллегами из MIT, основал компанию Evans & Sutherland, которая стала одним из пионеров в области коммерческой компьютерной графики и симуляторов полёта.
Принцип работы и устройство
Sketchpad работал на основе векторного дисплея, где изображение строилось из отрезков прямых линий. Основным инструментом взаимодействия было световое перо. Пользователь прикасался пером к экрану, и компьютер определял, на какую точку или линию указывает перо. Затем пользователь мог перемещать перо, и линия следовала за ним, создавая чертёж.
Ключевые особенности системы:
- Векторная графика: Все изображения состояли из линий, дуг и точек, а не из пикселей. Это позволяло масштабировать чертежи без потери качества и хранить их в компактном математическом виде.
- Объектная модель: Sketchpad ввёл понятие «мастер-объекта» (master) и его «экземпляров» (instance). Пользователь мог нарисовать один объект (например, шестерёнку), а затем разместить на чертеже множество его копий. Изменение мастер-объекта автоматически обновляло все его экземпляры — это прямой предшественник классов и объектов в объектно-ориентированном программировании.
- Геометрические ограничения: Программа позволяла задавать отношения между элементами: параллельность, перпендикулярность, равенство длин, касание, горизонтальность и вертикальность. При перемещении одного элемента система автоматически пересчитывала положение всех связанных с ним элементов, поддерживая заданные ограничения. Это была первая в истории реализация параметрического моделирования.
- Иерархическая структура: Чертежи могли состоять из вложенных подчертежей. Например, деталь машины могла включать в себя подчертёж колеса, который, в свою очередь, содержал подчертёж оси.
- Интерактивность: Пользователь мог не только рисовать, но и перемещать, вращать, масштабировать и копировать объекты в реальном времени.
Технические характеристики
- Аппаратная платформа: Компьютер TX-2 (MIT Lincoln Laboratory).
- Ввод: Световое перо (первичный инструмент), кнопки на пульте управления TX-2, клавиатура (для ввода текстовых команд и числовых значений).
- Вывод: Векторный дисплей на ЭЛТ (разрешение около 1024x1024 точек).
- Память: Программа занимала около 10% ресурсов TX-2, остальное использовалось для хранения данных чертежа и системных процессов.
- Скорость работы: Система могла обрабатывать до 1000 линий в секунду, но при большом количестве объектов возникали заметные задержки (мерцание экрана).
Влияние и значение
Sketchpad оказал фундаментальное влияние на несколько областей информатики и инженерии:
- Системы автоматизированного проектирования (CAD): Sketchpad стал прототипом всех современных CAD-систем (AutoCAD, SolidWorks, CATIA, КОМПАС-3D). Идеи параметрического моделирования, слоёв, библиотек стандартных элементов и интерактивного редактирования напрямую происходят из работы Сазерленда.
- Графический интерфейс пользователя (GUI): Световое перо Sketchpad было предшественником компьютерной мыши (изобретённой Дугласом Энгельбартом в 1964 году). Концепция прямого манипулирования объектами на экране (перетаскивание, выделение) заложила основу для оконных интерфейсов, которые появились в Xerox Alto (1973) и затем в Apple Macintosh (1984).
- Объектно-ориентированное программирование (ООП): Принцип «мастер-объект — экземпляр» и наследование свойств от мастер-объекта к экземплярам предвосхитили концепции классов и объектов в языках программирования (Simula-67, Smalltalk, C++).
- Интерактивная компьютерная графика: Sketchpad доказал, что компьютер может быть не просто вычислительной машиной, а средством творческого самовыражения. Это стимулировало развитие первых графических редакторов, анимационных систем и видеоигр.
Критика и ограничения
Несмотря на революционность, Sketchpad имел ряд существенных недостатков:
- Высокая стоимость и сложность: Система базировалась на уникальном и дорогом компьютере TX-2, который был доступен только в нескольких исследовательских лабораториях. Массового распространения Sketchpad не получил.
- Ограниченная функциональность: Программа могла работать только с двумерными (2D) чертежами. Трёхмерное моделирование (3D) появилось позже, в работах того же Сазерленда (например, в симуляторе полёта).
- Неудобство ввода: Световое перо требовало точного наведения и утомляло глаз. Экран дисплея был монохромным (обычно зелёным или белым), что делало работу некомфортной в течение длительного времени.
- Отсутствие цветопередачи и заливки: Все изображения были линейными (wireframe). Закрашивание областей, градиенты и текстуры стали возможны только с появлением растровых дисплеев в 1970-х годах.
Наследие
В 1988 году Айвен Сазерленд получил премию Тьюринга — высшую награду в области информатики — с формулировкой «за его новаторский вклад в компьютерную графику, включая Sketchpad, и за его последующие работы в этой области». Sketchpad хранится в архивах Музея компьютерной истории (Computer History Museum) в Маунтин-Вью, Калифорния. В 2013 году, к 50-летию программы, была проведена реконструкция её работы на эмуляторе TX-2.
Источники
- Sutherland, I. E. (1963). Sketchpad: A Man-Machine Graphical Communication System. Doctoral dissertation, Massachusetts Institute of Technology.
- Sutherland, I. E. (1964). «Sketchpad: A Graphical Man-Machine Interface». AFIPS Conference Proceedings, vol. 25, pp. 329–346.
- Kay, A. C. (1977). «Microelectronics and the Personal Computer». Scientific American, vol. 237, no. 3, pp. 230–244.
- Myers, B. A. (1998). «A Brief History of Human-Computer Interaction Technology». ACM Interactions, vol. 5, no. 2, pp. 44–54.
- Музей компьютерной истории (Computer History Museum). Sketchpad: A Man-Machine Graphical Communication System. Экспозиция и архивные материалы.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →