4.3. Построение осей координат в декартовой системе

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

Обратим внимание на принципы построения осей, принятые в Графоре. Оси могут быть названы и их названия подписываются за пределами области, вдоль ее границ (AXES) или рядом с осью (XAXIS, YAXIS). Ось размечается основными и дополнительными делениями. C основными делениями соотносятся их численные (ма­тематические) значения. Kоличество дополнительных делений внутри основного задается при обращении к соответствующей программе.

Pазмер основного деления задается программистом или выби­рается автоматически. Aвтоматический выбор происходит в том случае, если указан нулевой размер или если размер задан неп­равильно и делается попытка разместить на оси более 20 основ­ных делений. При автоматическом выборе на оси размещается от 5 до 15 основных делений.

Численные значения, которые соответствуют основным делени­ям, фиксируются на графике. Их дробная часть состоит не более, чем из трех цифр, а общее количество значащих цифр не должно превышать пяти. Это ограничение, с одной стороны, определяется подпрограммой перевода двоичных чисел в десятичные (BCD), с другой стороны, оно разумно, поскольку возникают затруднения при чтении графика. (Cледует заметить, что при ручном построе­нии графиков, как правило, ограничения еще жестче.) Однако эти ограничения чисто графические, и они не предъявляют каких-либо дополнительных требований к величинам, с которыми оперирует программа (т.е. к математическому пространству). При необходи­мости проводится масштабирование и указывается масштабный ко­эффициент ´10±m вслед за названием оси (см., например, рис.4.5). Kроме того, через основные деления на осях может быть проведена координатная сетка.

Программа AXES(NAMEX,NX,UX,KX,NAMEY,NY,UY,KY,M) позволяет провести и разметить оси абсцисс и ординат. Параметры програм­мы:

NAMEX
название оси абсцисс;
NX
число литер в названии оси абсцисс;
UX
шаг основного деления на оси абсцисс (задается в ма­тематических единицах) (если UX = 0.0, производится автомати­ческий выбор шага);
KX
число дополнительных делений внутри основного на оси абсцисс (0 £KX £12);
NAMEY
название оси ординат;
NY
число литер в названии оси ординат;
UY
шаг основного деления на оси ординат (задается в ма­тематических единицах) (если UY = 0.0, производится автомати­ческий выбор шага);
KY
число дополнительных делений внутри основного на оси ординат (0 £KY £12);
M
признак нанесения координатной сетки:
Значение
Смысл
00 сетка не наносится,
10 сетка по оси абсцисс,
01 сетка по оси ординат,
11 сетка по обеим осям.

Итак, программы построения осей позволяют автоматически:

а) выбрать положение осей;

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

в) выбрать размер крупного деления;

г) вычислить масштабный коэффициент MK, который в виде ´10±m записывается вслед за названием оси;

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

Tри последние функции выделены в отдельную служебную прог­рамму ASTEP, которая используется не только в программе AXES, но также и в других программах построения осей: XAXIS, YAXIS, XLGAX, YLGAX, RAXES, THAXES, которые будут описаны ниже.

Программа ASTEP(AN,AX,BS,MK,KD) осуществляет корректировку или автоматический выбор шага. Bычисляются масштабный коэффи­циент и количество дробных знаков шага. B параметрах AN и AX задаются минимальные и максимальные значения для данной оси. Параметр BS содержит заданное значение шага. B случае коррек­тировки шага программа ASTEP соответствующим образом изменяет это значение. Значениями параметров MK и KD являются соответс­твенно вычисленные значения масштабного коэффициента и числа дробных знаков.

C помощью программ XAXIS, YAXIS можно в области графика провести и разметить произвольное количество осей координат. Положение оси абсцисс (в программе XAXIS) определяется значе­нием математической координаты Y в пределах области. Aналогич­но, положение оси ординат (в программе YAXIS) определяется значением математической координаты X в пределах области.

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

Программа XAXIS(Y0,NAMEX,NX,UX,KX,M,J) позволяет провести и разметить ось абсцисс, т.е. прямую Y = Y0. Параметры прог­раммы:

Y0
математическая координата Y, определяющая положение оси абсцисс;
NAMEX
название оси абсцисс;
NX
число литер в названии;
UX
шаг основного деления на оси (задается в математичес­ких единицах) (если UX = 0.0, производится автоматический вы­бор шага);
KX
число дополнительных делений внутри основного (0 £KX £12);
M
признак нанесения координатной сетки:
Значение
Смысл
0 без на­несения сетки,
1 с нанесением сетки;
J
признак расположения именующих и размерных надписей относительно оси абсцисс; если J = 0, то размерные надписи от­сутствуют, игнорируется также название оси.

Bосемь возможных вариантов расположения пометок и названия оси X (при 0 < |J| £4) показаны на рис.4.3.


Рис.4.3. Восемь возможных вариантов расположения пометок и названия оси X.


Рис.4.4. Восемь возможных вариантов расположения пометок и названия оси Y.

Программа YAXIS(X0,NAMEY,NY,UY,KY,M,J) позволяет провести и разметить ось ординат, т.е. прямую X = X0. Программа имеет следующие параметры:

X0
математическая координата X, определяющая положение оси ординат;
NAMEY
название оси ординат;
NY
число литер в названии;
UY
шаг основного деления на оси (задается в математичес­ких единицах) (если UY = 0.0, производится автоматический вы­бор шага);
KY
число дополнительных делений внутри основного (0 £KY £12);
M
признак нанесения координатной сетки:
Значение
Смысл
0 без на­несения сетки,
1 с нанесением сетки;
J
признак расположения именующих и размерных надписей относительно оси ординат; если J = 0, то размерные надписи от­сутствуют, игнорируется также название оси.

Bосемь возможных вариантов расположения пометок и названия оси Y (при 0 < J £4) показаны на рис.4.4.