книги из ГПНТБ / Фролов, С. А. Кибернетика и инженерная графика
.pdfЕсли теперь чертежи, показанные на рис. 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 |
0з |
(и л и |
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 |