При оформлении графика важное значение имеют оси с пометками (или шкалы). При конструировании алгоритмов и программ для построения осей приходится учитывать разнообразные требования в различных сочетаниях и вариантах. 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.
Программа 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.