Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Фролов, С. А. Кибернетика и инженерная графика

.pdf
Скачиваний:
15
Добавлен:
20.10.2023
Размер:
7.75 Mб
Скачать

Если теперь чертежи, показанные на рис. 7 и 10, выпол­ нить с учетом перечисленных выше требований (см. рис. 23 и 24) и осуществить их считывание посредством читающего устройства, обеспечивающего рекомендованные значения шагов квантования, то количество информации, вводимой в ЭЦВМ, может быть сведено к минимуму и составит для чертежа, помещенного на рис. 23, 114 чисел против 57 800 чисел (для чертежа на рис. 7). Информативность чертежа на рис. 24 примерно в 400 раз меньше чертежа, изобра­ женного на рис. 10 (58 против 22 900 чисел). Указанные

рекомендации по

реконструкции чертежа

и

требования

к считывающему

устройству позволяют

получить такое

количество информации, которое не вызывает

никаких за­

труднений для ввода

и размещения ее

в

оперативной

памяти существующих

ЭЦВМ.

 

 

Устранение причин появления лишних точек в процессе решения с помощью этих рекомендаций не может быть выполнено. Действительно, пусть требуется определить точку встречи прямой т с плоскостью, заданной двумя параллельными прямыми аи b (рис. 25). Ответом на постав­ ленную задачу являются проекции точки К (Ки Кг), для получения которых предварительно нужно найти точки /, 2, 3, 4. T q 4 k h 1 и 2 получаются в результате пересечения прямой тх с горизонтальными проекциями аг и Ьх.

Отсутствие обозначений на чертеже (рис. 26) приводит к тому, что, выполняя участок программы, предусматри-

40

вающий

нахождение точек

пересечения

горизонтальных

проекций

прямых, машина

не сможет

отличить, какие

из семи прямых, заданных на чертеже, являются

горизон­

тальными проекциями. Поэтому, кроме точек 1 я 2,

машина

определит точки 5, 6, 7 я 8, в которых прямая /, 2 пересе­ кается с другими заданными на чертеже прямыми. По этой же причине, определяя их фронтальные проекции,

получим не две точки (3 и 4)

а тридцать (9, 10,

11, 12 . . .

и т. д. до 36 включительно).

Вследствие этого,

выполняя

на машине операцию, соответствующую проведению пря­ мой через полученные точки (3, 4) машина проведет не одну, а 315 прямых. Число точек пересечения этих прямых с прямыми, заданными на чертеже, составит 2205 (/С2)- При определении горизонтальных проекций этих точек (/Cj) получим еще 13 230 точек, тогда общее количество их будет 15 435 точек. Очевидно, выделить две истинные точки (Ki и К2) и з огромного количества ложных невоз­ можно.

В случае задания плоскости отсеком число ложных точек увеличивается еще больше. Так, при задании плос­ кости треугольником оно составит 103 312 точек. При зада­ нии плоскости следами получаем наименьшее число точек (62), но и при этом условии мы оказываемся также далеки от решения задачи.

На любом этапе графического решения задачи некото­ рое время мы пользуемся проекциями геометрических образов только на одну плоскость проекций. Поэтому выполнение операций по нахождению точек / и 2 (рис. 25) можно не распространять на все линии чертежа, а ограни­ читься определением точек пересечения линий, находя­ щихся только на плоскости Пх. Это значительно уменьшит число ложных точек, появляющихся в процессе решения.

Машина сможет отличить горизонтальные проекции от фронтальных, если учесть «симметрию» эпюра относи­ тельно оси проекции1 . За исключением случаев задания проецирующей плоскости (одним следом) число проекций геометрических образов на плоскостях П1 и П2 будет оди­ наково. Принимая во внимание, что считывание чертежа происходит сверху вниз, а количество геометрических образов на эпюре всегда будет четным (если не указывать ось проекций) и что каждый геометрический образ записан

1 Слово симметрия заключено в кавычках, так как здесь речь идет только о равенстве числа проекций, расположенных по разные стороны о т оси проекций.

41

в

машинной

памяти

конечным множеством чисел £ р\,

то

применительно

к

рассматриваемому случаю (рис. 27)

машине должны

быть даны следующие рекомендации:

 

1) найти

точки

/

и 2 пересечения прямых £ pY Z Р5 ,

2)через полученные точки провести вертикальные прямые;

3)найти точки 3, 5, 6, 7, 8, 4 пересечения этих верти­ калей с прямыми 2Ри £Рг> ЕРз'>

4) через точки, полученные

в результате

выполнения

 

п. 3,

«провести»

прямые;

 

 

 

5)

найти

точки

пересече­

 

ния

прямых,

полученных

в

 

результате выполнения

п. 4,

 

с

прямыми

£Pi> 2Р2 .

ЦРз-

 

 

Вместо

одной

 

точки

К2

 

получим шесть точек (9, 10,

 

11, 12, 13, 14). Для выясне­

 

ния, какая из этих точек

 

искомая,

 

достаточно

весь

 

процесс

решения

 

выполнить

 

заново,

начав

с

 

фронталь­

 

ной проекции. После выпол­

 

нения п. 1 второго варианта

 

решения

(Г)

определяются

 

точки 15 и 16 (в результате

 

пересечения

прямых

2Pi>

 

Zp2>

2Рз)-

Выполнив

п.

5,

 

получим

также

шесть

точек:

Рис. 27

23,

24, 25, 26,

27,

28 (точки,

 

полученные

при

решении

по

второму варианту,

на чертеже

отмечены

черточкой),

из которых, как и при первом варианте решения, пять — ложных. Выявление проекций искомой точки К произ­ водим сравнением между собой по координате х резуль­

татов,

полученных

при

первом

и втором

вариантах

ре­

шения.

Две

точки,

у

которых

значение

х

одинаково

— Xiu

= 0), являются проекциями искомой

точки

К-

Решение задачи по второму варианту в принципе не

отличается

от

первого. Оно также начинается

с выпол-

* Цифры при Р указывают номера массивов ячеек памяти, в ко­ торых хранятся значения координат точек прямых в том порядке, в каком они считываются с чертежа и вводятся в машину.

42

нения оператора V и всех последующих арифметических и логических операторов в том же порядке, в каком они выполнялись в первом варианте Разница состоит в том, что действия, предусмотренные командами операторов, должны начинаться не с горизонтальных, а с фронтальных проекций геометрических образов. Это отличие может быть устранено, если заданные проекции подвергнуть аффинным преобразованиям с последующим плоско­ параллельным перемещением, включающем в себя поворот осей на 180°. После указанных преобразований фронталь­

ные и горизонтальные проекции меняются местами

и

вы­

полнение второго варианта решения возможно

начать

так же, как и первого, с горизонтальных проекций.

Для

этого достаточно лишь произвести пересчет координат точек. Связь новых координат х, у с исходными (для принятых размеров чертежа 200x200 мм и растрэлемента 0,2 мм) может быть определена из следующих простых зависимостей:

 

х = х;

у — 1000

у.

 

 

Определение новых

значений

координат

реализуется

с

помощью одной команды (для

трехадресной машины)

и

не окажет заметного

влияния

на затрату^

машинного

времени для решения задачи.

После окончания решения по второму варианту пре­ дусматривается операция приведения ординаты у в нор­ мализованное состояние.

Если плоскость задана пересекающимися прямыми — решение аналогично рассмотренному. В случае, если пере­ секающиеся прямые являются следами плоскости, по­

лучим не пять, а три ложных

решения.

В случае задания плоскости

параллельными прямыми

число ложных решений может быть сокращено до одного, если предусмотреть рекомендацию, следуя которой ма­

шина

выделит

из числа прямых 2 0i>

2 02. 2

(и л и

2 04.

2 Ре, 20в

Д л я второго варианта

решения)

парал­

лельные прямые. В этом случае п. 3 (или 3') должен быть записан: найти точки пересечения этих вертикалей с па­

раллельными прямыми

из числа £ р 1 ( £

02. 2 0з

(и л и

2 Р4. 2 Ps. 2 06

Д л я

второго варианта).

Выполнив

этот

пункт, получим

четыре точки, через которые можно

про-

1 См. § 6, текст

и табл. 1.

 

 

43

вести две прямые, пересекающие заданные только в двух точках.

Потеря информативности, вызванная отсутствием обо­ значений на чертеже, в некоторых (очень редких) слу­ чаях оказывается настолько значительной, что невоз­ можно получить ответ на поставленную задачу. Один из них представлен на рис. 28, а. Допустим, что по усло­

вию задачи требуется определить точку встречи

прямой а

с плоскостью a (b X с). Убрав обозначения,

получим

Рис. 28

чертеж, показанный на рис. 28, б. В этом случае появ­ ляется большое количество ложных точек, выделить из

которых истинные путем решения по второму

варианту

и последующего сравнения результатов двух

решений

не представляется возможным. Условию равенства абс­ цисс будут удовлетворять минимум две пары точек, ибо плоскость а может с одинаковым правом считаться задан­ ной как прямыми X Ь), так и (b X с) *. Решение может быть получено без увеличения лишней информативности чертежа, если вместо обычной индексации, указывающей принадлежность проекций к одному геометрическому образу (или какому-либо из его элементов), использо­ вать строго определенную фиксацию положения про­ екций.

* На

эпюре одноименные проекции этих прямых пересекаются

в точках,

расположенных на одних линиях связи.

44

В этом случае при программировании можно точно указывать, с какими конкретными проекциями геоме­ трических образов, из числа заданных на чертеже, сле­ дует производить те или иные операции. Условимся располагать отрезки, задающие прямые, в строго опреде­ ленной последовательности. При этом расположении раз­ ноименные проекции должны представлять собой как бы зеркальное отображение друг друга. Под зеркальным ото­ бражением здесь следует понимать только то, что если

фронтальная

проекция

отрезка

ка­

 

 

 

кой-либо прямой расположена ближе

 

 

 

к воображаемой

оси

х 1 2 ,

чем

фрон­

 

 

 

тальные

проекции других

прямых,

 

 

 

то

и его

горизонтальная

проекция

 

 

 

должна

 

быть

расположена

ближе

 

 

 

к этой оси, чем горизонтальные

про­

 

 

 

екции других линий, заданных на

 

 

 

эпюре. Это необходимо для того,

 

 

 

чтобы при переходе

ко

второму

ва­

 

 

 

рианту

решения взаимное

располо­

 

 

 

жение

проекций

прямых

оставалось

 

 

 

без

изменения.

 

 

 

 

 

 

 

 

 

Такую

 

реконструкцию

эпюра

Р и с

- 2 9

 

всегда

можно

осуществить,

пере­

 

 

 

мещая

отрезки

(задающие

прямые) вдоль этих

прямых.

Тогда

эпюр, показанный

на

 

рис.

28, а, будет

иметь

вид, приведенный на рис. 29.

При

считывании

этого

чертежа

и

дальнейшей

 

машинной

обработке,

связан­

ной

с

его

чтением,

заданные

прямые будут

записаны

в фиксированных участках машинной памяти. Это поз­ воляет при составлении программы давать точные реко­ мендации о том, в результате пересечения каких из задан­ ных на чертеже линий определяется искомая точка.

Выполнение рекомендаций для реконструкции

чертежа

не требует каких-либо существенных отступлений

от уста­

новившихся правил составления чертежей. Они легко могут быть выполнены технически грамотным человеком.

§ 5. ПЕРВИЧНАЯ МАШИННАЯ ОБРАБОТКА РЕЗУЛЬТАТОВ СЧИТЫВАНИЯ

За последние 7—8 лет появилось много работ по авто­ матическому определению координат точек, принадле­ жащих линии и автоматическому вводу этих координат

45

в ЭЦВМ. Особое внимание этому вопросу уделяли физики, занимающиеся исследованием элементарных частиц. Для теоретической обработки экспериментальных данных, по­ лученных в виде фотографий треков (траекторий полета) частиц в пузырьковых камерах, необходимо знать координаты последовательности точек, взятых на этих треках.

Во всех существующих установках для определения координат точек следование по штреку производится оператором, а не самой машиной. Так, одна из американ­ ских моделей представляет установку, с помощью кото­ рой пленка с фотографиями треков проецируется на боль­

шой экран. Рабочее место оператора представляет

кабину

водителя автомобиля. Оператор,

выбрав крайнюю ле­

вую точку трека, направляет на

нее световое

пятно.

При включении установки для считывания координат пятно начинает двигаться. Оператор с помощью рулевого колеса управляет перемещением светового пятна по ли­ нии так же, как это делает шофер при управлении авто­ машиной на дороге. Через определенные промежутки

времени

происходит снятие

координат

точки, в

которой

в этот момент находилось световое пятно.

 

Автоматизация ввода

в ЭЦВМ информации о непре­

рывной

функции у = /

(*),

заданной

в виде

графика

(одна линия), разработана в Ленинградском электротех­ ническом институте связи им. М. А. Бонч-Бруевича. К этому же времени (1961 г.) относится появление функ­ ционального преобразователя графических изображе­ ний, разработанного А. И. Петренко; в этом преобра­ зователе используется принцип следящей развертки. Ф. В. Майоров описывает способ ввода в ЭЦВМ информа­ ции о линии с помощью потенциометрической следящей головки, которая может работать при условии, что ли­

ния

нанесена токопроводящим составом.

В

настоящей книге рассматриваются задачи, исход­

ные

данные которых представляют чертежи, состоящие

из сочетания различных линий, нанесенных карандашом или тушью на обычной бумаге. Считывание должно осу­ ществляться автоматически без участия человека. По­ этому имеющиеся установки и приборы для считывания координат так же, как и существующие методы и спо­ собы обработки результатов считывания, не могут быть применены в тех случаях, когда речь идет о комплекс­ ных чертежах.

46

В гл. IV будет дано описание принципа действия и кон­ струкции преобразователя информации из непрерывной формы в дискретную •— здесь мы остановимся на во­ просах, решение которых позволит получить нужную информацию о чертеже без участия человека. Роль, которая отводится в существующих «читающих» установ­ ках (сложение за линией) человеку, осуществляется с по­ мощью ЭЦВМ.

 

 

 

 

 

и

 

 

 

 

х - 1 в

х+1

 

 

 

и

( А )

 

El

 

 

 

 

 

 

 

 

У

т и и

 

 

 

и ш ш у+1

 

в

и

 

 

 

ш 021

 

С Б Ы Т

 

 

 

ш

 

 

•1

 

• • •

 

 

 

 

• •

 

 

 

 

U• •

 

 

 

 

1 1

Г - 1 Г -

1

 

 

 

 

Рис. 30

Задача первичной машинной обработки результатов считывания чертежа состоит в том, чтобы сгруппировать точки 2 «-массива (см. стр. 24) по их принадлежности к каждой линии и для удобства последующего исполь­ зования записать в определенном порядке в последова­ тельных ячейках некоторого фиксированного участка

машинной памяти

У] р-массиве

Для решения этой

задачи может быть

использован

принцип слежения.

В основу этого принципа положено свойство точек, при­ надлежащих одной линии, которое состоит в том, что любая точка линии обязательно имеет непосредственно примыкающие к ней точки, также принадлежащие этой линии. Осуществляя идею слежения, машина должна, взяв одну точку из ^а-массива, обследовать ее окрест­ ности — граничащие с ней растрэлементы поля чертежа.

1 Такая постановка задачи определяется методом решения, ко­ торый изложен ниже.

47

Границы обследуемой зоны могут быть различными в за­ висимости от характера линии, направления слежения и величины квантования, принятого в считывающем устройстве.

За первую точку, окрестности которой необходимо обследовать, целесообразно брать точку из а-массива, имеющую минимальное значение у. Если таких точек окажется несколько, то следует выбрать ту из них, у ко­

торой

значение

х

наименьшее.

Операция

обследования

заключается

 

в

выяснении,

есть

 

ли

в а-массиве точки

с

координатами,

отличающимися

 

от

координат

исход­

ной точки

на

± 1 ? Проверка

осуществляется

как

по

ве­

личине х,

так

и у.

Действительно,

если координаты

точки

1 (xi>

#i)>

т

о

значения

координат

точек,

расположенных

в

соседних

с

ней

растрэлементах

(рис.

30)

А,

В,

С,

D,

Е,

F,

G,

Н,

соответственно

 

равны:

 

 

 

 

 

 

 

 

 

 

А

[(хА

=

xi

1);

А

=

 

У1-1)Ь

 

 

 

 

 

 

 

Е

1(хЕ

=

ч

+

1);

(УЕ =

УдЬ

 

 

 

 

 

 

 

 

В

ЦХв

=

Xi);

(ув

 

=

ух -

 

1)1;

 

 

 

 

 

 

 

 

F[(xF

 

= *i

1);

 

(УР

 

:=

yi

+

1)1;

 

 

 

 

 

 

 

С[(хс == хг

+

1);

 

(Ус -=Уг-

 

1)1;

 

 

 

 

 

 

 

Gl(xa

r-= Xj);

[yG

= У1 +

 

1)1;

 

 

 

 

 

 

 

 

 

D[(xD

= хх 1);

(yD

=

 

yi)h

 

 

 

 

 

 

 

 

Н[(хи

 

= хх + 1);

и

-Ух

+

1)].

 

 

 

 

При обследовании окрестностей точки / будут обнару­

жены точки 2,7,8

с координатами г

- f 1), уг;

хг х +

1)

и

г

+ 1),

(г/j

+

1).

Очевидно,

все три

точки

принадле­

жат

линии,

 

за

которой начато

слежение.

Числа,

выя­

вленные в а-массиве, соответствующие этим координатам,

индексируются

единицей

в третьем

адресе

П1)

(см.

стр.

22).

Индексация

делается для

того,

чтобы

одни

и

те

же

точки

не попадали несколько раз в множество

2

Pi

-массив)

При обследовании окрестностей точки 2

к множеству 2

Pi должны были бы быть отнесены точки /,

3,

7,

8, 9, но точки 1,

7,

8 уже заиндексированы по

Л П 1 ,

поэтому они не будут вторично переадресованы в ячейки Pi-массива.

1 Образование (3-массива является подготовительной операцией, иеобходимой для формирования б-массива.

48

Закончив обследование окрестностей точки 2, при­ ступаем к обследованию окрестностей точки 7, затем 8 и т. д. до тех пор, пока не будут обследованы все окрест­ ности всех точек данного образа. Слежение прекращается после того, как при обследовании окрестностей очеред­ ной точки не будет обнаружено ни одной новой точки. После этого, по соответствующей команде, машина выби­

рает

из

а-массива все точки, принадлежащие образу

(точки

с

индексом

1 в

записывает

их в последова­

тельных

ячейках

свободного

участка

памяти,

образуя

б-массив.

По окончании слежения за

точками

первой

Ш

 

D

 

 

Ш

 

 

 

Рис.

31

 

 

линии машина приступает к слежению за второй линией —

образом 2] Рц> начиная с точки

4 (рис. 30) имеющей мини­

мальное значение х

и у

(из

числа точек, оставшихся

в а-массиве). Выявив

все

точки, принадлежащие

образу

2 Р,,,

машина

начинает

слежение за

образом

2

Рш и

т. д.

Операция

слежения

продолжается

до тех пор,

пока

в а-массиве не

останется

ни

одной точки.

 

 

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

Как было показано, считывание очередного растрэлемента осуществляется не раньше чем через 5 мс после обнаружения в той же строке растрэлемента, принадле­ жащего линии, и через строку (0,2 мм) по уровню. По­ этому зона обследования окрестностей каждой точки, принадлежащей линии, будет иметь вид, изображенный на рис. 31. Цифры показывают последовательность про­ верки точек (растрзлементов) обследуемой зоны. От ра­ нее рассмотренного случая слежения координаты ближайщих к обследуемой точке растрзлементов отличаются на хк— 10 и % + 10 для строки, в которой находится точка, и на все целые значения от хк— 10 до хк + Ю

4

С. А. Фролов

49