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

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

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

как

градиент

кривизны

двух смежных

участков

равен

0,7

(если

учесть масштаб

чертежа, то р х

= 0,8 мм,

р 2 =

= 2

мм,

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

Ki = 1,2, К2 = 0,5). Для та­

кого значения

градиента

требуемая величина S должна

равняться 22 растрэлементам (см. график на рис. 39).

Приняв такую ширину участка обследования в

очеред­

ной Р-массив, будут выявлены точки М, N и Р,

которых

достаточно для

продолжения слежения.

 

Уменьшение

ширины участка обследования

(кроме

сокращения числа точек в е-массиве) имеет большое значение при слежении за

Рис. 39

Рис.

40

Необоснованное

увеличение ширины приводит к тому,

что при сравнении s-массива с исходными

данными в

Р-массив будут отобраны точки, принадлежащие не только линии, за которой осуществляется слежение, но и другой, пересекающей ее линии. Ограничив максимально допу­ стимый градиент кривизны величиной 0,1, получим ширину зоны обследования, равной 10 растрэлементам. Эта ширина обеспечивает слежение за линиями, встре­ чающимися на чертеже, и позволяет пройти зону пере­ сечения.

В процессе слежения за линией, кроме длины и ширины участка обследования, машине должны быть даны реко­ мендации о направлении (вверх или вниз), в котором сле­ дует перемещаться вдоль оси для формирования е-массива. На рис. 41 показана кривая линия, участки которой а, с и b, d аппроксимируются попарно параллельными пря­

мыми /—2

5—6 и 3—4

7—8. На

участке а

формирование

еа -массива

происходит

путем

приращения

значений у

к ординате точки 1 или уменьшением величины х той же точки (перемещение осуществляется вниз); на параллель-

60

ном ему участке с формирование ес -массива должно проис­ ходить в противоположном направлении путем уменьше­ ния у или увеличения х точки 5 (перемещение вверх).

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

 

 

 

I

(У — Ут\п) (^max ^mln^

(4)

 

 

 

 

v min

\

и

,

если

ф° ^

45°, или

 

ушах —

i/mln

 

 

 

 

 

 

 

 

 

 

 

Л т а х

Л т 1 п

 

при

ф° <

45°,

где

у

(х) — ордината (абсцисса)

послед­

ней

экстремальной

 

точки,

 

 

отобранной

при слежении за

 

 

предыдущим участком. Коор­

 

 

динаты второй

точки

опреде­

 

 

ляются по этим же формулам

 

 

увеличением

(уменьшением)

 

 

у на 2 и х

на 1.

Координаты

 

 

любой п-й

точки

находятся,

 

 

если принять у ± 2п

и х ±

 

 

± п. Если значения

х или у,

Р и с - 41

 

подсчитанные

по

форму-

 

лам (4) и (5), будут дробными, их нужно дополнить до целых значений для х и целых

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

На рис. 42 приведена блок-схема программы слеже­ ния. Пользуясь программой слежения (приложение I), можно рассортировать всю исходную информацию, полу­ ченную при считывании чертежа (а-массив), по принад­ лежности точек к каждой из заданных на чертеже линий и записать ее в фиксированных участках машинной па­ мяти (б-массивах) *.

1 Образование б-массива ничего общего со слежением не имеет. Этот участок включен в программу как подготовительная операция, нужная для решения задач.

61

Получение целых значений х (для <р?45°) или целых значений Y

нужной четности

(для ф<45°]

Наращивание

±Удо(У0) (УИ„(для <р<45°)

или наращивание

± х д о ( х 0 )

( х ) = х „ ( д л я <р?45в)

Перенос

отобранных

точек

 

 

 

 

 

Ввод исходных

данных

jj-массива

в

р - массив

 

 

 

 

(образование

 

ОС-массива)

 

 

 

 

 

 

 

 

 

 

Вспомогательные

операции:

Определение

экстремальных

 

 

 

 

 

подсчет

числа

точек

 

 

 

 

 

в

Ot-масснве;

 

точек

р - м а с с и в а

 

 

 

 

группировка

 

 

координат

 

 

 

 

 

 

 

 

 

 

 

по 2

в одну

ячейку

 

 

 

 

 

 

Слежение-

 

 

 

 

 

 

 

 

 

 

 

Формирование

команд,опреде ­

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

 

 

Выборка

точки

для

обсле ­

на близость точки

 

 

ляющих направление

слежения

 

 

дования

ее

окрестности

окрестности

 

 

 

 

 

 

 

 

*1

Проба: на конец

I

 

 

Конец

 

 

 

 

 

 

 

к

точке

&

 

 

 

 

 

 

 

ОС-массива;

I

точек данного

 

 

 

 

Составление

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

I

/3-массива

 

|

 

 

 

 

формирование

 

 

управления

L j

Подпрограммаа

 

для слежения; образование

/З-массива

 

 

переходом от

 

одной

точки

Е-массива (полосы

заданной

 

 

Г

окрестности

 

к

другой

n-N-t

n<N-l

 

 

 

 

 

 

 

 

длины

и

ширины)

 

 

 

 

 

 

 

 

 

 

 

ПробароВ: на границу река-

 

 

Подсчет

числа

точек

 

 

 

мендуемсто участка

Проба:на количество точек

 

 

Грани цаГаостигнута

отобранных в р-массив

 

 

в

/З-массиве

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выборка рекомендованных точек

 

 

 

 

Перераспределение

чисел.

(сравнение а и е-массивов)

 

 

 

 

Образование

 

 

<У-массива

продолжение

формирования

 

 

 

 

 

 

 

 

 

 

 

 

 

^ - м а с с и в а и

составление

 

 

 

 

 

 

 

 

 

 

 

 

 

нового р-массива

(старые числа

 

 

 

 

 

Уплотнение

 

ОС-массива

в р - массиве

стираются)

 

Проба:на

конец точек

ЬТочки

не кончились!

Отобраны^не

отобраны

 

 

исходного (Х-массива

<?•

 

 

 

Проба:отобраны

ли

новые точки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

я

В-мяссив?

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 42

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

 

 

Рис.

43

Р и с .

44

рыв

в

слежении

и вместо двух линий машина

воспримет

их

как

три (см.

рис. 44,

а и б).

 

В отмеченных случаях при составлении программы

решения задачи

следует

предусматривать разрыв линий

в районе точки касания (рис. 43) или пересечения (рис. 44), Разрыв линий приведет к тому, что после завершения сле­ жения у нас появятся дополнительные р-массивы, что не вызовет никаких принципиальных изменений в построе­ нии программы. Единственное отличие будет состоять лишь в том, что соответственно количеству дополнитель­ ных ^-массивов должно быть увеличено число циклов обращения к некоторым стандартным операторам.

Г Л А В А II!

М А Ш И Н Н О Е Р Е Ш Е Н И Е З А Д А Ч

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

решения задач,

нужно

иметь

в виду, что применяемые

при ручном решении

методы

и способы не могут быть

(в «чистом» виде)

использованы

для машинного решения.

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

короткий

промежуток времени. Кому будет поручено

и какие

методы

и способы будут

использованы при ре­

шении задачи, не имеет никакого значения.

Выбор

метода

решения задачи

зависит: во-первых,

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

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

64

ленный метод решения и составить расчетные формулы. Эти операции свойственны аналитическому методу. Та­ ким образом, мы приходим к двум взаимно исключающим выводам: с одной стороны, форма задания исходных дан­ ных требует графического метода решения, с другой — реализация процесса решения на ЭЦВМ допускает только аналитический метод. Использовать каждый из этих методов в том виде, в котором они обычно применяются, невозможно.

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

всех

тех

геометрических построе­

 

ний,

которые свойственны графи­

 

ческому

методу

решения.

Труд­

 

ности

в

использовании

аналити­

 

ческого метода состоят в том, что

 

для

аналитического решения

не­

Рис. 45

обходимо

иметь

уравнения

всех

образов,

представленных

на

 

чер­

 

теже. Машина должна опознать

геометрические образы

и

описать их

уравнениями.

 

 

В

настоящее

время

наука

не

располагает данными,

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

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

точек,

образующих

каждую

из

за­

данных

линий,

имеется строго определенная

зависи­

мость,

выраженная

математическими

формулами.

Но

практическая

реализация такого алгоритма связана с

большими

техническими трудностями, заключающими­

ся в том,

что в памяти машины должны храниться

урав­

нения

всех линий, которые могут встретиться в

усло­

виях

задачи.

 

 

5

С. А. Фролоп

65

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

как

определение пространственных

координат

точек по

их

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

которых отсутствует

индексация, неизбежно приводит

к появлению

ложных

точек, что, как было показано выше, приводит к зна­ чительной потере информативности чертежа. Впервые на этот вопрос было обращено внимание в работе А. Ф. Ба­ бушкиной «Некоторые вопросы автоматизации построе­ ния пространственных изображений». Исследования, вы­ полненные автором, позволили определить количество ложных точек (см. § 4). Если предположить, что нам удастся полностью избавиться от ложных точек и найти приемлемый для машины способ определения, к какому (из записанных в ее памяти) уравнению относятся сово­ купности считанных с чертежа точек, задача не может считаться решенной, так как останется бесчисленное мно­ жество разнообразных геометрических образов, которые точно, без аппроксимации, не могут быть описаны урав­ нениями, а следовательно, и опознаны.

Из сказанного следует, что решение задачи, исходные данные которой представлены в графической форме, не­ возможно осуществить на ЭЦВМ, используя только ана­ литический или графический методы в их «чистом» виде. Поэтому необходимо разработать новый метод решения задач, учитывающий характер задания исходных данных и возможности вычислительной машины.

§ 6. МЕТОД РЕШЕНИЯ ЗАДАЧ, ИСХОДНЫЕ ДАННЫЕ КОТОРЫХ ПРЕДСТАВЛЕНЫ

ВГРАФИЧЕСКОЙ ФОРМЕ НА ЭЦВМ

Этот метод решения должен отвечать двум основным требованиям: во-первых, решение должно осуществляться без каких-либо геометрических построений; во-вторых, обходиться без определения уравнений геометрических образов, заданных на чертеже (за исключением прямых

иокружностей).

66

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

а)

б]

Рис.

46

но эта алгебра качественно отличается от той, с которой

приходится иметь дело

в аналитическом методе. Здесь

она ограничивается только

операциями

с

уравнениями

прямых и окружностей

(ниже в § 14 будет

показано, что

и эти операции могут быть

выполнены

без

определения

уравнений).

 

 

 

 

Известно, что основу графического метода решения задач составляют различные геометрические построения, которые делаются только для нахождения точек пере­ сечения линий, заданных на чертеже или проведенных в процессе решения. Для решения одной и той же задачи графическим методом характер геометрических построений может быть различным. Он зависит от чертежных ин­ струментов, которые находятся в распоряжении чело­ века, решающего задачу. Например, чтобы определить середину отрезка АВ, графические построения могут быть выполнены, как показано на рис. 46, а и б. Если в рас­ поряжении человека, решающего эту задачу, имеется цир­ куль и линейка, то он решит ее, как на рис. 46, а, а при наличие линейки и угольника решение может быть по­ лучено без построения дуг окружностей, как на рис.46, б.

5*

6?

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

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

1)пересечение двух прямых;

2)пересечение прямой и кривой;

3)пересечение двух кривых.

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

Для автоматизации процесса графического решения

задач с помощью ЭЦВМ ее функции могут

быть сведены

к выполнению арифметических операций

по определе­

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

решения всецело зависит от условий поставленной

задачи

и задания исходных данных (изменение хотя бы

одного

из них влечет за собой переход к новой логической схеме), то определение координат точек пересечения для всех

задач

решается

одинаково. Отличие может состоять лишь

в том,

с каким

из отмеченных выше случаев пересечения

придется иметь

дело при решении конкретной задачи.

Для машины определение точки пересечения двух линий

является не

элементарной операцией,

а задачей.

Число

и характер

команд, которые должна

выполнить

машина

68

для ее решения, во всех случаях будут различными (см. рис. 47, 48, 49).

Если для определения точки пересечения двух прямых, заданных отрезками, машине достаточно решить систему уравнений этих прямых, то во втором случае (рис. 47)

Рис. 47

Рис. 48

необходимо сначала определить

на кривой точки 1 и 2,

расположенные ближе к прямой, чем любые другие точки

множества

2 Рп. и составить уравнение

прямой,

прохо­

дящей через эти точки. Только после этого машина

может

приступить

к

определению

ко­

 

 

 

 

 

ординат

точки

пересечения

К-

 

 

 

 

 

В третьем

случае (рис.

48)

при

 

 

 

 

 

машинном

определении

коор­

 

 

 

 

 

динат точки К машина должна

 

 

 

 

 

выполнить

ряд команд,

позво­

 

 

 

 

 

ляющих

выделить

две

пары

 

 

 

 

 

таких точек (по одной паре из

 

 

 

 

 

каждого множества 2

Pi и

S

Рп)>

 

 

 

 

 

чтобы

расстояние

между

ними

Хк

 

 

 

 

было

наименьшим

из всех воз-

 

Ч]

 

 

 

можных

в

данной

ситуации.

 

 

 

 

 

Только

после

выполнения

та-

 

Рис. 49

 

 

кого

подготовительного

этапа

 

 

 

 

 

машина

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

прямых,

проходящих через точки 12 и

34,

и совмест­

ному

решению

этих

уравнений.

 

 

 

 

 

Если

одна

из координат

искомой точки

известна, то

в зависимости от того, на какой линии — прямой

или

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

воз­

можны

два

варианта.

 

 

 

 

 

 

 

 

В первом варианте (прямая линия)

задача

решается

простой

подстановкой

значения х (или

у)

в

уравнение

69