¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

16 но€бр€ 2012

Sketchpad јйвена —азерленда и сила случа€

≈вгений Ћебеденко

ќт редакции isicad.ru: — любезного разрешени€ коллег из редакции  омпьютерра ONLINE, мы публикуем статью ≈вгени€ Ћебеденко, посв€щенную создателю первого в мире —јѕ– јйвену —азерленду. ќригинал статьи опубликован на сайте  омпьютерры 9 но€бр€ 2012 г.
”дивительно, какую важную роль играл случай в становлении привычных теперь технологий.   одной из самых важных программ в истории вычислительной техники это относитс€ в полной мере.

¬ конце п€тидес€тых годов прошлого века руководство ћассачусетского “ехнологического »нститута (MIT) передало университетскому городку вычислительную машину TX-0.  аждый студент и аспирант MIT получил право использовать TX-0 дл€ любых целей раз в день в течение часа. ¬р€д ли кто-то подозревал, что из этого выйдет.

Ѕез того компьютера, возможно, не по€вилась бы одна из первых компьютерных игр — Spacewar. Ќе будь Spacewar, молодой аспирант јйвен —азерленд, веро€тно, выбрал бы совсем другую тему дл€ своей докторской диссертации. “огда, скорее всего, не увидел бы свет и его Sketchpad — уникальный программно-аппаратный комплекс, оказавший огромное вли€ние на развитие систем автоматизированного проектировани€ и формирование базовых принципов графических пользовательских интерфейсов. »стори€ вычислительной техники пошла бы по иному пути.

¬ычислительный «¬ихрь»
¬ середине прошлого века MIT стал одним из центров, где совершенствовались американские системы противовоздушной обороны. ¬ 1940 году на его базе была организована лаборатори€ сервомеханизмов под управлением профессора √ордона Ѕрауна. «адача, сто€ща€ перед лабораторией, была не из простых: реализовать взаимодействие корабельных радарных установок и бортовой артиллерии с компьютером.  роме того, лЄтчики хотели получить универсальный авиасимул€тор, который мог быть легко перенастроен под любой тип самолЄта.

јспирант Ѕрауна ƒжей ‘оррестер быстро пон€л, что аналоговые вычислители, традиционно примен€емые в этой области, недостаточно эффективны. ј успешное применение дл€ баллистических расчЄтов цифрового компьютера ENIAC только закрепило в нЄм это убеждение.

“рудность заключалась в том, что существовавшие тогда способы взаимодействи€ операторов с цифровыми вычислительными машинами решительно не годились ни дл€ симул€ции, ни дл€ автоматизированного управлени€ артиллерией. ќператор не мог получать результаты вычислений в режиме реального времени или быстро вводить информацию. —амые простые операции требовали длительной возни с перфокартами или перфолентами.

¬ычислительна€ машина Whirlwind

„тобы преодолеть эти проблемы, была начата разработка интерактивной вычислительной системы Whirlwind («¬ихрь»). ƒл€ своего времени это была неверо€тно мощна€ машина. јрифметический модуль Whirlwind состо€л из 12500 электронных ламп и трудилс€ на частотах 1 и 2 мегагерца, выполн€€ двадцать тыс€ч операций в секунду. Whirlwind обеспечивал параллельную обработку шестнадцатибитных данных, использу€ дл€ этого тридцать две команды.

ƒл€ визуализации компьютерных данных решили применить хорошо зарекомендовавшие себ€ в радарных установках экраны на электронно-лучевых трубках. „тобы указать координаты цели, оператор крутил руко€тки, расположенные вокруг диспле€. Whirlwind стал, веро€тно, первым компьютером, использующим дл€ взаимодействи€ с человеком графические образы.

ƒисплей Whirlwind имел немало общего с экраном радарной установки

¬ п€тидес€тые годы его вычислительна€ мощь стала основой SAGE (Semiautomatic Ground Environment) — автоматизированной системы ѕ¬ќ, объединившей Whirlwind с радарными установками на обеих побережь€х —Ўј. »з главного кампуса MIT занимавший целый этаж Whirlwind переехал в мозговой центр SAGE — лабораторию Ћинкольна.
ѕервые шаги —јѕ–
»нженеры лаборатории Ћинкольна существенно усовершенствовали средства ввода-вывода Whirlwind. ƒисплей, отображавший всего 256 точек, получил матрицу 64×64 точки. ќператору Whirlwind больше не приходилось запоминать координаты объектов и возитьс€ с руко€тками ввода координат. ¬место этого он использовал «световой пистолет», которым можно было указать на дисплее нужный объект.  омпьютер вычисл€л координаты светового п€тна и по ним идентифицировал св€занный с ним объект.

ќператор использует световой пистолет

Whirlwind и его преемники, компьютеры TX-0 и TX-2, годились не только дл€ управлени€ системами ведени€ огн€. ¬ 1949 году лаборатории поручили разработку системы компьютерного управлени€ фрезерным станком. ƒело в том, что создание новых реактивных истребителей требовало изготовлени€ компонентов корпуса с высочайшей точностью, котора€ была недостижима даже самыми квалифицированными фрезеровщиками.

–езультатом работы учЄных MIT стала представленна€ в сент€бре 1952 года система „ѕ”, считывающа€ данные об обрабатываемой детали с перфоленты и управл€юща€ трЄхосевым фрезерным станком. “рудоЄмкий процесс разработки и отладки программ-перфолент „ѕ” вскоре был полностью автоматизирован с использованием Whirlwind и TX-0. Ёта технологи€ автоматизации получила название APT (Automatically Programmed Tool) и фактически стала прародителем современных —јѕ–.

јлюминиева€ деталь, выточенна€ под управлением APT III

¬ажнейшую роль в формировании программной части APT сыграл ƒуглас –осс, одним из первых осознавший необходимость унификации описани€ обрабатываемых деталей и создани€ независимой от типа контроллера среды программировани€.

ѕод руководством –осса были решены задачи программной унификации компонентов чертежа с использованием высокоуровневых операторов. ѕодобный подход позволил устранить непреодолимый ранее барьер между инженером-проектировщиком и компьютером, превраща€ последний из специализированного вычислител€ в инструмент общего назначени€.

—уммиру€ технологии
–ассказ о Sketchpad не случайно началс€ с истории Whirlwind и APT. “ехнические решени€, использованные јйвеном —азерлендом, по€вились именно в ходе реализации этих проектов. Whirlwind и его последователи обладали уникальным дл€ своего времени интерфейсом — экраном и световым пистолетом, или пером, — который, однако, использовалс€ лишь дл€ узкого круга военных задач. —истема автоматизированного проектировани€ APT оперировала описани€ми графических объектов, но их приходилось задавать с помощью традиционных перфокарт и перфолент. Sketchpad объединил лучшие стороны этих проектов.

Ќаучную карьеру јйвена —азерленда можно назвать блест€щей. ≈щЄ школьником он увлекс€ программированием, самосто€тельно собрав простенький релейный компьютер SIMON, придуманный попул€ризатором вычислительной техники Ёдмундом Ѕеркли. Ѕакалавром —азерленд стал в “ехнологическом институте  арнеги, выиграв стипендию за разработку умной робомыши ‘рэнкен. ƒокторскую диссертацию, дл€ написани€ которой —азерленд перебралс€ в MIT, вызвалс€ консультировать сам  лод Ўеннон.

ѕанель управлени€ TX-0 и TX-2

Ќа идею, из которой вырос Sketchpad, молодой аспирант MIT наткнулс€ в институтском кампусе, куда руководство лаборатории переместило TX-0. »спользовать машину мог кто угодно и как угодно, благо компьютер был совершенно автономен и, что важно, обладал ЁЋ“-дисплеем.  онечно же, студенческа€ брати€ приспособила его дл€ игр.

Ёто само по себе было очень необычным. Spacewar, которую разработали студенты MIT, считаетс€ едва ли не первой компьютерной игрой в истории. ѕо экрану перемещались космические корабли, стрел€ющие друг в друга. „тобы победить, нужно было уничтожить вражеский корабль и уцелеть самому.

¬ этой игрушке —азерленд увидел то, что другие прогл€дели: люди, не имеющие навыков программировани€, легко взаимодействовали с компьютером, использу€ его дисплей.

Spacewar! — перва€ компьютерна€ игра

  тому времени ƒжек √илмор, один из предшественников —азерленда в лаборатории Ћинкольна, разработал Scopewriter — видимо, первый интерактивный текстовый редактор, способный отображать на экране числа, символы алфавита и простые блок-схемы. ƒо этого программистам приходилось работать с рулонами распечаток своих программ.

—азерленд решил пойти дальше. ≈сли экран компьютера можно использовать в качестве интерактивного «визуального принтера», то почему бы его вкупе со световым пером не превратить в «визуальный плоттер» — инструмент проектировщика? ¬едь наиболее естественный способ передать компьютеру чертЄж — нарисовать его на экране компьютера! —ейчас иде€ кажетс€ очевидной, но пришла бы она —азерленду на ум без той обстановки, в которую он погрузилс€, будучи аспирантом MIT?

Sketchpad изнутри
—азерленд начал трудитьс€ над Sketchpad (в переводе название означает «блокнот дл€ набросков») в 1960 году. ƒл€ начала он реализовал рисование пр€мых линий. –ешение —азерленда было простым и из€щным: чтобы нарисовать отрезок, пользователь должен был навести световое перо на точку его начала, нажать на пульте клавишу LINE и указать пером конечную точку отрезка. Sketchpad считывал координаты точек и соедин€л их линией.

—азерленд за Sketchpad

¬дохновлЄнный успехом, —азерленд в декабре 1961 года показывает прототип системы  лоду Ўеннону и... получает от него р€д критических замечаний.  онсультант докторской —азерленда предлагает расширить функциональность «блокнота», добавив возможность рисовани€ окружностей и максимально приблизив функции аппаратных клавиш Sketchpad к стандартным инструментам проектировщика.

ѕроцедура рисовани€ окружностей отн€ла у —азерленда массу сил и времени. –азработать подпрограмму, с помощью которой можно было бы указать центр окружности и точку, ограничивающую еЄ радиус, было просто. Ќо вот описать границу дл€ дуги, завершающей рисование окружности, было весьма непросто.

ѕод указательным пальцем на световом пере находилась кнопка спуска

–ешение этой проблемы вылилось в разработку обобщЄнного пон€ти€ «ограничитель» (constraint), описывающего границы самых разнообразных объектов, формируемых Sketchpad. “огда же —азерленд пришЄл к мысли об унификации элементов, составл€ющих рисунок в Sketchpad. ќн предложил представл€ть любой нарисованный элемент n-компонентной структурой, в которой атомарной единицей был бы компонент.

—труктура n-компонентного элемента «лини€»

Ќапример, компонент «отрезок» представл€лс€ двум€ компонентами «точка», каждый из которых представл€лс€ двум€ компонентами «X»- и «Y»-координаты. ¬ свою очередь, треугольник составл€етс€ из трЄх компонентов «отрезок». — помощью компонентов типа «ограничитель» можно было задать отношени€ между визуальными компонентами. ”становив ограничитель «параллельность» между двум€ отрезками, можно было мен€ть координаты одного из них, не забот€сь об изменении координат другого отрезка. “от автоматически перерисовывалс€ параллельным первому. “очно так же, выбрав ограничитель «равенство», можно было сделать все грани многоугольника одинаковыми, превратив его в равнобедренный.

—ледующий логичный шаг, сделанный —азерлендом, заключалс€ в применении рекурсии дл€ масштабировани€ изображений. ¬место того, чтобы многократно вручную рисовать элементы разного масштаба, процедура рекурсии позвол€ла пользователю Sketchpad сгенерировать подмножество любого элемента в разных масштабах и под разными углами, просто пересчитав значени€ его дочерних компонентов.

¬ыравнивание фигур с помощью ограничител€ «параллельность». ќбратите внимание на р€д функциональных клавиш у левого кра€ диспле€

–азработав базовые подходы к визуализации элементов рисунка, —азерленд озаботилс€ его хранением. ƒл€ быстрого вывода рисунка на экран компьютеру требовалась структура, хран€ща€ координаты массива точек, составл€ющих рисунок. ¬ Sketchpad кажда€ точка описывалась 36-разр€дным словом, двадцать бит которого содержали координаты X и Y, а шестнадцать были указателем на элемент n-компонентной структуры, к которой принадлежит точка. ƒл€ проектировщика же требовалось хранить сведени€ обо всех элементах n-компонентоной структуры, составл€ющей рисунок.

„тобы унифицировать эти данные, —азерленд позаимствовал подход, примен€вшийс€ в редакторе Scopewriter, где файл, содержащий сведени€ о том или ином символе, представл€л собой стек шестнадцатибитных указателей на элемент. —азерленд расширил это представление, введ€ так называемую «кольцевую структуру» — замкнутый буфер, содержащий указатели на элементы n-компонентной структуры.

–одительские элементы в кольцевой структуре именовались «курица» (hen), а следовавшие за ней дочерние элементы логично обзывались «цыпл€тами» (chicken). —пециальна€ процедура позвол€ла дополнить любую n-компонентную структуру новыми дочерними элементами, разместив «цыпл€т» позади «курицы».  ольцева€ структура обеспечивала компьютеру возможность быстро просматривать множество родительских и дочерних элементов, выбира€ необходимые дл€ отображени€ на экране.

—оздав в Sketchpad элементы лица, —азерленд научил картинку подмигивать

”сили€ми —азерленда в библиотеку хранимых компонентов Sketchpad попали не только геометрические фигуры, но и символы алфавита, цифры, научные символы, радиотехнические элементы и даже такие элементы, как «глаз», «нос», «рот», позвол€ющие нарисовать, например, такое лицо.

ѕрограмма позвол€ла не только рисовать, но и визуализировать результаты расчЄтов других программ, необходимые на этапе проектировани€. Ќапример, создав проект арочного моста с определЄнными пропорци€ми элементов, проектировщик мог в режиме реального времени получить на экране сведени€ о напр€жени€х, возникающих в разных точках конструкции, что существенно облегчало процесс оптимизации чертежа.

—деланный на Sketchpad чертЄж моста с «прив€занными» к элементам его конструкции расчЄтами механических напр€жений

¬ 1963 году втора€ верси€ Sketchpad, а также полное описание структур хранимых «компьютерным блокнотом» данных и математических процедур, обеспечивающих реализацию ограничений и рекурсии элементов, была готова.

ƒемонстраци€ программы вызвала насто€щий фурор. —тало €сно, что дл€ специалистов, использующих системы проектировани€, по€вилс€ инструмент, обеспечивающий удобный ввод чертЄжной информации в систему. –азработанные чертежи можно хранить в пам€ти компьютера и многократно использовать их или же легко редактировать при необходимости.

Ѕезусловно, представленна€ верси€ Sketchpad была лишь прототипом. ƒл€ своей работы «рисовалка» требовала всей мощности компьютера TX-2, занимающего несколько комнат лаборатории. «ѕолученный опыт — самый важный результат разработки Sketchpad. ¬ насто€щее врем€ использовать компьютер стоит, если вы хотите получить нечто большее, чем просто рисунок, — писал —азерленд. — ƒл€ обычных рисунков всЄ же пока экономнее примен€ть обычные карандаш и бумагу».

ќпыт действительно оказалс€ бесценным. — одной стороны, из Sketchpad выросли современные системы автоматизированного проектировани€. — другой — эта программа стимулировала разработки в области человеко-машинного взаимодействи€ и, в конечном счЄте, стала прародителем всех систем с графическим интерфейсом пользовател€, в том числе Windows и Mac OS.

ћечтал ли о таком развитии событий јйвен —азерленд?  онечно! ¬ основе Sketchpad лежала иде€ простого общени€ людей и компьютеров, подмеченна€ им однажды в университетском кампусе. ј ведь именно такие идеи и обеспечивают очередной рывок вперЄд мира технологий.

”ченики —азерленда

–абота€ в исследовательском центре Xerox, јлан  ей создал первый объектно-ориентированный €зык Smalltalk и первые компьютеры с GUI, окнами и мышью — Xerox Alto и Xerox Star.

Ёдвин  атмулл — один из основателей анимационной студии Pixar и основоположник исследований в области трЄхмерной компьютерной графики. ƒостаточно сказать, что именно он изобрЄл наложение текстур и z-буфер.

јнри √уро — ещЄ один известный специалист в области трЄхмерной компьютерной графики, изобретший один из первых алгоритмов тонировани€ 3d-моделей, который так и называетс€ — «метод √уро».

 омментариев: 1
id 8928     20 но€бр€ 2012, 1:37
 ¬ладимир “алапов
«нание истории открытий и изобретений - это понимание нашего пути в будущее.

ќтветить   ÷итировать выделенное


ѕол€, помеченные * об€зательны дл€ заполнени€

  »м€ *

  e-mail

  web

¬ы можете ввести не более 3000 символов, осталось:

¬ведите
первые 3 символа:

 *

ќбновить



    

„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

-->

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: ÷ифровой тройник
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

 ак подготовить стадию ѕ инженерных разделов внутренних сетей в Revit MEP — ≈катерина ѕодобед, эксперт по ќ¬ √  Ђ»нфарсї (13 но€бр€ 2019)
isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2019 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.