
книги из ГПНТБ / Чачко А. Человек за пультом (Очерки антропотехники)
.pdfдаш для плазменной панели; можно, значит, пользоваться световыми кнопками.
Мы знакомы уже с пятью диалоговыми программами для ЦВМ, изучили пять протоколов и все пять были чисто словесными, символьными. Правда, в первом протоколе, при работе СТАТИСТИКА, встретилось нам и графическое отображение, была построена гистограмма температур. Собрал ее СТАТИСТИК тоже из символов-звездочек. Текст еще не стал гипертекстом.
Диалог при обучении не может состоять только из символов. Хороший учитель географии должен показывать карты, круговые диаграммы национального состава насе ления и столбиковые — температур января и июля. Если УЧИТЕЛЬ учит биологии, на экране обязаны появляться мутирующие дрозофилы; если органической химии — взаимодействие молекул; если контролю и управлению — блок-схемы алгоритмов.
Словесный обмеп необходимо пополнить графическим обменом. Две программы — АНИМАТОР и ПРОКРУСТ, описанные в следующей главе, введут пас в мир «графи ческого диалога».
Ю Заказ 1613
РЕЗВИСЬ, МОДЕЛЬ, НЕ ЗНАЙ ПЕЧАЛИ!
Время настоящее и время прошлое, Быть может, оба наступают в будущем.
Т. С. Э л л и о т
Диалоговая программа АНИМАТОР, разработанная Толботом, Карром, Коултером и Хвангом, предназначе на для рисования мультфильмов. Перед художником экран электрон но-лучевой трубки, в правой его руке световой карандаш, а левая — лежит на клавиатуре.
Художник-мультипликатор стал че- ловеком-оператором. Он делает ленту «Сказка о царе Салтане», сцену, соответствующую пушкинским сло вам:
Ветер на море гуляет И кораблик подгоняет; Он бежит себе в волнах На раздутых парусах.
1. На |
экране ЭЛТ художник видит |
||
следующий список: |
|
||
Определение рисунка |
|||||| |
||
Определение движения |
|'||||| |
||
Определение сцены |
|||||| |
||
Определение |
сегмента |
||||]| |
|
Воспроизведение |
|[|||| |
||
Передача |
|
|||||| |
|
Это |
перечень |
основных |
режимов, |
в которых работает программа АНИ МАТОР. Справа от названия каждого режима обозначена световая кнопка.
290
2.Художник подносит световой карандаш к верхней световой кнопке, выбирая режим «Определение рисунка».
3.АНИМАТОР очищает экран и дает имена кнопкам клавиатуры. Программа нарекает клавиши. Одна из них получает имя «ТОЧКА», другая — «ПРЯМАЯ ЛИНИЯ», третья — «ОКРУЖНОСТЬ»... АНИМАТОР не только при сваивает имена, но и соответствующие функции. Едва художник нажмет клавишу «ТОЧКА», на экране появится светящаяся точка; если коснется клавиши «ОКРУЖ
НОСТЬ» — на экране обозначится окружность. Кроме имен — составляющих будущего рисунка, есть еще имена (клавиши) для установки длины отрезка или радиуса окружности, для внесения цифробуквенного текста на определенные места экрана, для стирания части или всего изображения. Короче говоря, на третьем шаге диалога АНИМАТОР обратил клавиатуру в средство сборки рисун ка из элементов — примитивов.
4. Человек тотчас использует это средство. Нажимая клавиши, он указывает последовательность отрезков,
изображающих кораблик. Если |
художник не |
удовлетво |
|||
ряется только примитивами, |
если |
он |
хочет |
изобразить |
|
особенный завиток |
сказочного |
кораблика, к его услугам |
|||
световой карандаш. |
Мультипликатор |
обычно |
пользуется |
||
и клавишами, и световым карандашом. |
Кораблик появ |
||||
ляется на экране по мере рисования, а когда |
художник |
||||
завершает рисунок — все необходимые |
данные |
заносятся |
в память ЦВМ. Чтобы извлечь по надобности эту инфор мацию, нужно дать изображению заголовок. Шаг 4 начи нается с того, что посредством буквенноцифровой части клавиатуры художник дает название КОРАБЛИК, а уж потом — принимается рисовать.
Изобразив кораблик, человек завершает первую часть работы — рисунок готов. Теперь нужно придать ему дви жение.
10* |
291 |
5. Определение движения — отдельный режим про граммы АНИМАТОР. Специальной клавишей человек вызывает перечень основных режимов.
7. На экране появляется уже знакомый нам список со световыми кнопками.
8.Художник подносит световой карандаш ко второй световой кнопке, выбирая режим «Определение движе ния».
9.АНИМАТОР очищает экран и цереименовывает кла виши. Новое имя одной клавиши — «ПЕРЕМЕСТИТЬ», другой — «ПОВЕРНУТЬ НА», третьей «ХРАНИТЬ», чет вертой — «ЗА», пятой — «КАДР» и т. д. Новые имена — новые функции.
10.Человек составляет на клавиатуре определение:
КАЧКА-1 = ПЕРЕМЕСТИТЬ ДХ = 80, ДУ = 0 и ПОВЕР НУТЬ НА —25°. Подчиняясь определению, кораблик на экране станет двигаться слева направо. Он одолеет 80 мм, одновременно его нос опустится на 25° от горизонтали.
11. Мультипликатор, действуя как и на шаге 10, задает новый вид качки:
КАЧКА-2 = ПЕРЕМЕСТИТЬ ДХ=128, ДУ = 64 и ПО ВЕРНУТЬ НА 50°. Кораблик на экране, продолжая дви жение слева направо, будет перемещаться резвей, его нос
станет |
подниматься, перейдет горизонталь и |
задерется |
|
на 25°. |
Человек указывает |
последовательность |
движения: |
12. |
|||
КАЧКА-12 = КАЧКА-1 |
ЗА 1 КАДР, КАЧКА-2 ЗА |
||
|
1 |
КАДР |
|
Кораблик на экране «умеет» теперь и опускаться и подни маться. Остается задать продолжительность движения.
13. Художник составляет определение:
КАЧКА = КАЧКА-12, КАЧКА-12, КАЧКА-12
292
Рис. 44. Программа АНИМА ТОР. Кадры на экране ЭЛТ:
о — кораблик взбирается на вол ну; б — кораблик опускается; е — снова подъем.
Соответственно кораблик пробегает экран за 6 кадров. Три из них показаны на рис. 44, а , б, в.
Мы формально выразили поэтическое: «Он бежит себе в волнах». Только волн в нашем протоколе нет, есть лишь качающийся кораблик. Художнику следовало бы на
293
6-м шаге нарисовать ВОЛНЫ, а на 14-м ввести такое определение движения:
14.НЕПОДВИЖНО= ХРАНИТЬ ЗА 6 КАДРОВ,
ив заключение собрать из определенных им рисунков
идвижений сцену.
15. Человек вызывает перечень основных режимов.
16.АНИМАТОР выводит на экран список.
17.Человек подносит световой карандаш к световой
кнопке «Определение сцены».
18.АНИМАТОР очищает экран и по-новому нарекает клавиши в клавиатуре.
19.Человек с помощью клавишей называет этот эпизод СЦЕНА-43 и связывает рисунок КОРАБЛИК с движением КАЧКА, а рисунок ВОЛНЫ с движением НЕ
ПОДВИЖНО.
20. Сцена № 43 предстает перед нашими глазами — ко раблик бежит себе в неподвижных волнах.
Конечно, художник вправе заставить двигаться волны, придать кораблику, кроме килевой, еще и бортовую качку, особо заняться парусами или корабельщиками. Принцип диалога от этого не изменится.
Из основных режимов АНИМАТОРА в нашем прото-, коле не понадобились «Определение сегмента», «Воспроиз ведение» и «Передача». Сегменты — это крупные куски мультфильма, состоящие из нескольких сцен; при выпол нении сегмента сцены стыкуются друг с другом, вводятся смены планов, наплывы, затемнения и т. д.
Режим «Воспроизведение» удобен для художника. Он может просмотреть на экране ЭЛТ любую из своих заготовок, возникших в процессе работы над фильмом,— рисунки, движения, сцены, сегменты — и выбрать необхо
димое.
Наконец, режим «Передача» служит для выпуска гото вой продукции: информация передается в специальное
294
устройство, которое воспроизводит фильм на кинопленке. АНИМАТОР — реально действующая программа, впро чем, как и все предшествующие. С помощью АНИМАТОРА за 1—3 часа рисуется карикатурный или учебный фильм. Но не фильм художественный — для искусства примитивы
АНИМАТОРА слишком грубы.
А для управления энергоблоком? Казалось бы рисова ние мультфильмов и управление — вещи не совместные. Но отчего же тогда входной язык АНИМАТОРА так на поминает ЯЗОН? Отчего же конструктор пульта энерго блока не откажется ни от списка-справочника возмож ностей программы, ни от рационального распределения функций между клавиатурой и световым карандашом, ни от переменной семантики части клавишей?
Оттого, что все эти особенности улучшают оперативное взаимодействие и, следовательно, полезны конструктору пульта. Он прячет их в свою копилку вместе с принципом умалчивания, принципом таковой цепи, принципом опти мальности гипертекстов...
Продолжая обсуждение графического обмена, мы обра тимся теперь к программе ПРОКРУСТ. Но сначала не сколько общих замечаний.
Ко многим названиям нашего века — век электриче ства, атома, космоса — справедливо добавить еще одну этикетку: век эксперимента. Экспериментировали и в XVI, и в XVII, и в XVIII, и в XIX, причем из века в век фронт эксперимента расширялся, а число эксперимента торов росло.
В наше время экспериментируют и физики, и инже неры, и социологи, и литературоведы. Быть может, XXI век перехватит, как эстафету, у XX это почетное звание, но пока палочка у нас, наше столетие — Век Экспериментов и Экспериментаторов.
Каждый экспериментатор тщательно и многократно
295
изучает свой объект, собирает цифры, опытные данные. Коллекция нужна ему не сама по себе, экспериментатор надеется на основе опытных данных понять явление.
Чтобы понять, нужно упростить, отбросив несущест венное. Таков первый шаг. Второй — ввести очищенные данные в контекст дальнейших преобразований.
Чаще всего данные опытов служат пищей для матема тической модели. Введя их в эту модель (то есть подста вив в соответствующие уравнения), мы найдем новые важные черты портрета объекта. Найдем, если сами данные будут выражены в подходящем — формульном, аналитическом виде, причем эта формула не окажется чужеродной, когда ее соединят с тканью математической модели.
Итак, наша цель — обратить груду цифр в одну фор мулу, заменить опытные данные аналитическим выраже нием, произвести аппроксимацию.
Выбирая формулу — заменитель, резонно предусмот реть, к чему приведет наш выбор, окажемся ли мы среди множества многоэтажных многочленов, которые и пере- писать-то верно не всегда удается, или выйдем на дорогу алгебраических упрощений, на дорогу ясности.
Значит, аппроксимация экспериментальных данных двулика. Нельзя забывать о контексте дальнейших пре образований, но нельзя и в погоне за гладкостью контекста пренебречь близостью к опытным данным. Эксперимен тальные данные, только они, рисуют лицо объекта. Из-за помех, из-за неточностей измерения, из-за того, что измерить удалось не совсем там, где хотелось,— лицо объекта замутнено, искажено, видно не лицо — личина. «Близость к экспериментальным данным» не означает «сле
пой учет любого из них».
Аппроксимация экспериментальных данных аналити ческими выражениями — нелегкое искусство. Опытные
296
специалисты тратят на «хорошую» аппроксимацию не меньше времени, чем на сбор опытных данных.
Диалог человека с вычислительной машиной реши тельно сокращает это время. Итак, программа ПРО КРУСТ — помощник в аппроксимаций.
Вместо привычного нам протокола взаимодействия человека и ПРОКРУСТА используем теперь б л о к — с х е м у д и а л о г а . Станем обозначать действия человека двойными, а работу машины — одинарными прямоугольниками.
На 1-м шаге диалога (рис. 45) человек вводит в ма шину экспериментальные данные, нажимая на клавиши. Если записать последовательность нажатия, получим такую картину:
* i : = 1 s t e p 1 u n t i l 21
/ [ / ] : = 0.05 s t e p 0.05 u n t i l 1.00.
у [ i ]: = 0.0; 2.4; . . . ; 0.5*
Надпись на одной из клавишей «: =» означает «при своить», надпись на другой «step» — означает «шаг», а марка третьей « .u n til» — понимается как «до».
Иными словами, оператор сообщает машине, что:
1)точкам отсчета присвоены номера, начиная с № 1
идо № 21, без пропусков;
2)ось абсцисс обозначается «t» и разбита на равные
отрезки размером 0,05 каждый в диапазоне 0,05—1,00;
3)ось ординат обозначается «у»; ординаты принимают последовательные значения 0,0; 2,4 и т. д;
4)в изложенном и состоит вся реплика (нажатие осо бой клавиши * открывает и закрывает ее).
Человек ввел данные, а ПРОКРУСТ тотчас отображает
их |
в виде таблицы на |
экране — представляет оператору |
для |
проверки (второй |
шаг). Человек подтверждает пра- |
297
Рис. 45. Блок-схема программы ПРОКРУСТ (этапы I, II и III).
U |
Последовательность операции |
Форма |
Тип |
Этап |
отобра- |
действий |
|
|
|
жеиия |
|
|
Ввод |
эксперименталь |
|
|
|
ных точек |
|
|
|
Отображение |
|
|
таблицы на экране |
||
|
|
Проверка |
|
|
правильности ввода |
||
|
|
1 |
|
4 |
|
Изменение |
|
формы представления |
|||
|
|||
|
|
1 |
|
|
Ввод аппроксими |
||
|
рующего полинома |
||
III |
|
Отображение |
|
многочлена на экране |
|||
|
|
Проверка: |
|
|
ввод правильный? |
||
|
|
да |
|
от |
I |
к этапу IV |
|
226 |
АЛГОЛ*- Простой реплика
Стандарт Таблица ная под
программа
Двоич нет ная Простои
команда
Стандарт График ная под
программа
АЛГОЛ*- Концеп реплика туальный
Стандарт Формула ная под
программа
Двоич ная Простои команда
298