Для описания изображений в АСНИ используются символические входные языки (СВГ-языков). Вводимая графическая информация представляется на СВГ-языках в виде последовательности описаний характерных точек и формирования графических примитивов, которые являются специальными типами переменных в программах на этих языках.
К графическим переменным относятся точка, линия, окружность, строка текста, прямоугольник и т п. Обычно СВГ-языки допускают полную и сокращенную форму идентификации этих переменных, например, для перечисленных типов переменных могут использоваться соответственно следующие ключевые символы: 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 |


