Для описания изображений в АСНИ используются символические входные языки (СВГ-языков). Вводимая графическая информация пред­ставляется на СВГ-языках в виде последовательности описаний характерных точек и формирования графических примитивов, которые являются специальными типами переменных в программах на этих языках.

К графическим переменным относятся точка, линия, окружность, стро­ка текста, прямоугольник и т п. Обычно СВГ-языки допускают полную и сокращенную форму идентификации этих переменных, например, для перечисленных типов переменных могут использоваться соответственно следующие ключевые символы: POINT или Р, LINE или L, CIRCLE или С, TEXT или Т, BOX или В и т. д. Идентификатор графиче­ской переменной кроме ключевых символов, задающих ее тип, может со­держать последовательность цифр, задающую номер переменной в преде­лах своего типа, например, POINT2 или Р2, LINE5 или L5 и т. п. Иденти­фикаторы используются для ссылки на эти переменные при описании сле­дующих за ними графических переменных или геометрических построений.

Операторы задания графических переменных на таком языке имеют следующую общую синтаксическую структуру:

<графическая переменная> :: = <идентификатор

графической переменной> <разделитель

оператора> <последовательность операндов>

<признак конца оператора>

<идентификатор графической переменной> :: =

<ключевое слово типа графической переменной> |

<ключевое слово типа графической переменной> <целое без знака>

НЕ нашли? Не то? Что вы ищете?

<разделитель оператора> :: = <=>

<признак конца оператора> ::= <;>

<последовательность операндов>::= <операнд> | <последовательность

операндов> <разделитель операндов> <операнд>

<разделитель операндов> :: = <,>

<операнд> :: = <число> | <идентификатор графической

переменной> | <строка текста> | <простое арифметическое

выражение> | <идентификатор>

<простое арифметическое выражение> :: = <операнд>

<знак арифметической операции> <операнд>.

В описании графической переменной точка используются различные способы задания координат, например:

а) с использованием числовых констант:

Р1 =30.5, 40.28;

б) с использованием идентификаторов переменных, содержащих зна­чения координат:

Р3= Х5, Y6;

в) с использованием простых арифметических выражений над пере­менными:

P4 = X5+0.7, Y2/3;

г) в приращениях к ранее определенной точке (в примере к точке Р3):

Р = Р3, 0.6, —20.5;

Р = Р3, DX1, DY1;

д) в координатах узла некоторой ранее описанной размерной сетки c указанием номеров сетки в квадратных скобках и идентификатора сетки, если сетка не единственная:

Р3 = [2,5];

P4 = GR2: [3,4]; и т. п.

Возможны различные комбинации из приведенных вариантов:

Р=20.7, Y6;

Р3= Х5 + 0.7, 80.5;

Р4 = Р3,4, Y2; и т. д.

Если точка является операндом, то вместо ее идентификатора может быть записана правая часть описания, заключенная в скобки, например, последовательность

Р1 = Х, Y;

Р2 = Р1, 20.15;

равнозначна операнду

Р2 = (Х, Y)20.15;

Размерные сетки представляют собой прямоугольные сетки с осями параллельными координатным осям (рис. 21.3, а, б).

Рис. 21.3. К объяснению использования графического языка:

а — сетка регулярная; б — сетка нерегулярная; в — чертеж прокладки

Они могут быть регу­лярными, т. е. с равномерной дискретизацией по осям ОХ и ОY, и нерегу­лярными с неравномерной дискретизацией. Для идентификации регуляр­ных и нерегулярных сеток используются соответственно ключевые символы GR и GN. Как и графические переменные сетки могут нумероваться, на­пример: GR4, GN3.

В описании регулярной сетки задаются в порядке перечисления сле­дующие операнды: точка левого нижнего угла сетки; значения шагов вдоль координатных осей ОХ и OY; количество шагов по осям ОХ и OY. Для сетки (рис. 21.3, а) оператор имеет следующий вид:

GR1 = P1, DX, DY, 5,3;

Для описания нерегулярной сетки необходимо предварительно задать списки значений шагов по осям ОХ и OY с помощью операторов SGX и SGY.

Пример: SGX2= 1.5, 1, 2.1, 3.4;

SGY2 = 2, 2.5;

GN2 = P3, SGX2, SGY2, 4,2;

Первые два оператора задают размеры шагов по осям ОХ и ОY, а тре­тий — нерегулярную сетку с номером 2 и четырьмя разбиениями по оси ОХ и двумя по оси ОY (рис. 21.3, б).

Операндами графической переменной линия являются две точки. Точ­ки могут задаваться всеми допустимыми для их задания способами. Пример: L1 = P1, P2;

L= (10, 20), (45, 20);

L = P2, (40, 55);

L3 = ([4,6]), ([15,3]);

Окружность на графическом языке может быть задана двумя способа­ми: С-0, <точка центра>, <точка на окружности>; и С-1, <точка цент­ра>, <радиус>;

Пример: С1 = Ø, Р8, Р4;

С2= 1, Р5, 10;

С3= 1, Р5, R2;

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

Пример:

В=Р1, L3, L 4, ANG: 45;

В3 = Р2, DX, DY, ANG: 30;

ANG: ключевое слово для идентификации значения угла поворота. Для задания строки текста указываются: точка начала строки; символы стро­ки, заключенные в апострофы, или идентификатор текстовой переменной; угол наклона строки к оси ОХ.

Пример: Т = P2, 'ДЕТАЛЬ' ANG: 0;

В ТЭЧ обычно выделяется базовая (опорная) точка, относительно ко­торой будет определяться вектор сдвига для переноса всех координат эле­мента при размещении его на конкретном чертеже в результате выполнения программы вызова ТЭЧ из библиотеки. Базовая точка задается с помощью оператора

BASE= <координаты точки>;

Программа на графическом языке начинается оператором

NAME =<имя программы>, <тип ТЭЧ>;

Имя программы задается идентификатором, который затем используется для поиска элемента в библиотеке:

<тип ТЭЧ> :: = 0 | 1 | 2 | 3, что соответствует заданию ТЭЧ сле­дующих типов: ТЭЧ-К — графические константы, вид которых не зависит от масштаба чертежа; ТЭЧ-М — масштабируемые графические константы; ТЭЧ-ПК — параметрические элементы, характеристики которых зависят от входных параметров, но не зависят от масштаба формируемого чертежа; ТЭЧ-ПМ — параметрические элементы, которые при выводе приводятся к масштабу формируемого чертежа. Для описания входных параметров в графическом языке имеется соответствующий оператор

PAR = <список параметров>;

Программа для формирования чертежа прокладки (рис. 21.3, б) на графическом язы­ке имеет следующий вид:

NAME = PROKL, 3; :

PAR = D1, D2, R1;

BASE = 0,0;

P1 = 0,0;

В = Р1, Dl, D2;

Р2 = Р1, Dl/2, D2/2;

С= 1, Р2, R1;

Р3 = Р2, — 10, D2/2 + 20;

Т = Р3, 'ПРОКЛАДКА', ANG: 0;

L = P3, (Р3, 20,0);

FIN;

СВГ-языки бывают пассивными и диалоговыми.

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

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

Общим недостатком СВГ-языков является необходимость достаточно глубокого и полного знания синтаксиса и семантики языка пользователя­ми АСНИ, а также часто точного предварительного определения коорди­нат всех характерных точек графического изображения. Эти недостатки практически отсутствуют в графосимволических языках (ГСВГ-языках).

ГСВГ-языки, как правило, диалоговые и основаны на использовании средств оперативного ввода графической информации для задания графи­ческих команд и их параметров. Характерными особенностями этих язы­ков является возможность оперативного контроля и корректировки вво­димого изображения, а также простота формирования команд описания изображения. В качестве средств ввода используются функциональная и алфавитно-цифровая клавиатуры, одно из устройств ввода координат экра­на дисплея (курсор, клавиши изменения направления движения маркера) или планшет ввода с указателем координат.

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

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87