Некоторые режимы, устанавливаемые оператором SCREEN
SCREEN 0: Текстовый режим
Графические режимы EGA или VGA адаптеров:
SCREEN 1: 320 x 200 пикселей, 4 цвета
SCREEN 2: 640 x 200 пикселей, 2 цвета
SCREEN 7: 320 x 200 пикселей, 16 цветов
SCREEN 8: 640 x 200 пикселей, 16 цветов
SCREEN 9: 640 x 350 пикселей, 16 цветов
SCREEN 10: 640 x 350 пикселей, 2 цвета
SCREEN 11: 640 x 480 пикселей, 2 цвета
SCREEN 12: 640 x 480 пикселей, 16 цветов
SCREEN 13: 320 x 200 пикселей, 256 цветов
Операторы графики
Операторы вывода точки с заданными координатами
Синтаксис:
PRESET [STEP] (x, y) [, цвет]
PSET [STEP] (x, x) [, цвет]
STEP - указывает, что координаты x и y заданы относительно точки последней ссылки (ТПС)
(x, y) - координаты точки (если опущено STEP, то х и у отсчитываются от левой верхней точки экрана)
<цвет> - код цвета точки растра. Если < цвет> опущен, то PRESET устанавливает точке текущий цвет фона, а PSET - текущий цвет переднего плана.
Пример: Рисуем заданную точку на экране.
SCREEN 1
FOR i = 0 TO 320
PSET (i, 100), 2
NEXT I
Оператор LINE вывода линий и прямоугольников
Синтаксис:
LINE (Xn, Yn) - (Xk, Yk), [цвет], [B|BF]
(Xn, Yn) - координаты начала линии на экране (левого верхнего угла прямоугольника),
(Xk, Yk) - координаты конца линии на экране (правого нижнего угла прямоугольника),
<цвет>- атрибут цвета линии (прямоугольника),
B- параметр рисования прямоугольника,
BF - параметр рисования закрашенного прямоугольника.
Если какой-либо параметр оператора пропущен, то соответствующие разделительные запятые должны быть сохранены.
Оператор LINE с параметрами B, BF удобно использовать для построения ленточных диаграмм.
Построение графиков математических функций
Для построения графика математической функции y = f(x), необходимо учесть, что размер экрана ограничен, а используемые координаты операторов графики неотрицательны и измеряются в пикселях. В то же время функции могут иметь и отрицательные значения и значения, выходящие за пределы размеров экрана. Причем и у, и х функции y = f(x) не измеряются в пикселях.
Поэтому в операторы программы следует подставлять координаты хп и уп, измеряемые в пикселях относительно выбранного центра координат хн, унна экране и вычисляемые по формулам:
хп = мхх + хн
уп = - муу + ун,
где мх и му - масштабные коэффициенты соответственно по осям х и у.
Знак “-“ ставится, так как точек идет из левого верхнего угла экрана.
Чтобы подсчитать масштаб, необходимо найти максимальное и минимальное значения функции на заданном интервале координат построения ее графика. Если нужно построить несколько графиков в одной системе координат, то ищется максимальное и минимальное значения среди всех функций на заданных для них диапазонах аргумента. При этом могут использоваться следующие формулы:
Mx= 640/(Xmax-Xmin)
(640 – если используеться графический режим 12),
My= 480/(Ymax-Ymin).
Этапы построения графика функции
1. Выбираем графический режим экрана
2. Выбираем точку начала координат и строим координатные оси. Если строим их из центра экрана, то точка начала координата будет, например, (320, 240).
3. Определяем диапазоны значений аргументов и функций – Xmax, Xmin, Ymax, Ymin.
4. Вычисляем масштабные коэффициенты мх и му
5. Далее в цикле в заданном диапазоне аргумента хп вычисляем значение функции уп и выводим графическую точку.
6. Выводим на координатные оси единичные отрезки с указанием величины первого из них.
7. Надписываем какой функции выведен график, выбрав нужную позицию с помощью оператора LOCATE.
В отдельных случаях может появиться необходимость изменить значение масштаба. Самый простой способ – это умножение масштаба на какое либо число. То есть, подсчитав масштаб и выведя графики функций, в случае если они недостаточно наглядны, нужно просто ввести дополнительные корректирующие коэффициенты
Оператор CIRCLE вывода окружностей, дуг, эллипсов
Синтаксис:
CIRCLE (X, Y), R, [цвет], [Dn], [Dk], [Z]
где X, Y - координаты центра окружности или эллипса.
R - радиус окружности или эллипса в единицах текущей системы координат, определенной последнимоператорам SCREEN
<цвет> - код цвета окружности,
Dn - начальный угол дуги в радианах,
Dk- конечный угол дуги в радианах,
Z- коэффициент сжатия эллипса (по умолчанию 1).
Для перевода градусов в радианы значение в градусах следует умножить на π / 180.
Углы Dnи Dk отсчитываются от начальной точки дуги к конечной против часовой стрелки. Если одному из углов значение не указывается, то по умолчанию он приравнивается нулю. Если Dn и/или Dk отрицательны, то конечные точки дуги (дуг) соединяются радиусами с центром окружности.
Пример:
SCREEN 2
CLS
CIRCLE (100, 100), 50
CIRCLE (200, 100), 50, , 1, 2
CIRCLE (300, 100), 50, , -2, -1
END
Цвет в графике
Цвет задается в операторах PRESET, PSET, LINE, CIRCLE или оператором COLOR, применение которого в графическом режиме отличается от текстового
Синтаксис:
COLOR <фон>,< номер палитры> ,
где
<фон >– код цвета фона от 0 до 15,
<номер палитры> - номер палитры (0 или 1)
Оба параметра необязательны.
Закрашивание области, которая имеет замкнутый контур можно выполнить оператором PAINT.
Синтаксис:
PAINT (X, Y), <краска>,< контур>
где X, Y - координаты любой точки внутри области,
<краск>а– код цвета для закрашивания,
<контур> – код цвета для контура области.