ГРАФИКА_
PLOT, DRAW, CIRCLE, CLS
Оператор PRINT за одно элементарное действие
— вывод символа — воздействует сразу на 64 точки экрана
(8x8). Это, конечно же, хорошо с точки зрения ускорения процесса вывода
символьной информации, но хотелось бы иметь возможность
«обращаться» и к отдельным точкам (пикселям).
Spectrum-Бейсик говорит:
«Пожалуйста», — и предоставляет в наше распоряжение
оператор PLOT. С его помощью можно «включить» любой пиксель
основного экрана*. Для оператора PLOT не существует разделения экрана
на знакоместа. Для него экран — иоле высотой 176 и шириной 256
пикселей. Каждый пиксель имеет свои координаты, не координаты знакомест
в строках и столбцах, а графические координаты:
х — по горизонтали (0...255), у— по вертикали (0... 17 5).
Начало отсчета системы координат (пиксель с
координатами х=0, у=0) находится в нижнем левом углу основного экрана.
Обратите внимание на то, что отсчет вертикальной графической координаты
идет снизу вверх, в отличие от нумерации символьных строк, которая
производится от верха экрана (см. рис. 3).
После получения некоторого представления об
устройстве графического экрана можно вернуться к оператору PLOT.
Нетрудно предположить, что для работы ему нужны два параметра —
координаты точки. Оки записываются через запятую после ключевого слова:
сначала х, потом у.
К примеру, оператор PLOT 130, 80 высветит точку почти по центру экрана.
Ставя точку за точкой с помощью PLOT, в
принципе, можно нарисовать чудесную картинку. Попробуйте. Однако вряд
ли у кого-нибудь хватит терпения выставить более десятка точек. Кое в
чем поможет сам Бейсик. Например, построение отрезков и дуг берет на
себя оператор DRAW (от англ. рисовать, чертить).
DRAW при проведении прямой использует лишь два
параметра: расстояние в пикселях по х и по у от некой начальной точки
до конечной точки строящейся линии. Следовательно, параметры DRAW
задают только направление и длину отрезка, но не устанавливают его
начальную точку. Выполнив, например, оператор DRAW 127, 87 сразу после
включения компьютера, увидим, что линия будет проведена к середине
экрана от начала координат (0, 0). Следующий оператор, скажем, DRAW 0f
—50 проведет отрезок длиной в 50 пикселей вертикально вниз от
конца предыдущей линии. Вообще, началом линии для DRAW всегда является
последняя выставленная на экране точка. Наглядней и проще всего
начальную точку можно задать с помощью оператора PLOT.
Если к оператору DRAW через запятую добавить еще один параметр, то на экра- ^BL
не появится дуга. Этот дополнительный параметр
задает величину угла (в радианах), который будет образован дугой. Знак
параметра определяет направление построения дуги: положительный —
против часовой стрелки, отрицательный — по часовой. Принцип
получения начальной и конечных точек дуги остается тем же, что и при
построении отрезка. Попробуем:
PLOT 150, 100 DRAW -100, 0, PI
Получим полуокружность с центром в точке (100,
100) и радиусом 50 пикселей. С константой PI мы уже сталкивались: она
подставляет вместо себя число «пи».
Используя конструкцию с PLOT и DRAW, можно,
конечно, построить и полную окружность. Но зачем, когда в Бейсике
существует специально «обученный» для этого оператор CIRCLE?
Его параметры очевидны: координаты центра и радиус окружности.
Например, нарисуем окружность с центром в середине экрана и радиусом 50:
CIRCLE 127, 87, 50
Оператор CIRCLE строит окружности достаточно точно, но уж очень медленно.
Очистить экран от любого изображения (как от
графики, так и от текста), то есть «выключить» все пиксели,
можно оператором <XS, к описанию которого мы еще вернемся.