Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел2-QB-лр1-8.doc
Скачиваний:
55
Добавлен:
22.05.2015
Размер:
1.19 Mб
Скачать

2 Программа рисования графических объектов

Графические операторы позволяют составлять программы для изображения произвольных объектов с различными цветами окраски линий,

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

Пример 4 Рисование рыбки с хвостом, глазами и жабрами (рис. 2)

CLS: PI=3.14159265

SCREEN 1

CIRCLE (190, 100), 100, 1, , , .3 ' овал тела

CIRCLE (265, 92), 5, 1, , , .7 ' овал глаза

LINE (40,120) –STEP (0, -40), 2 ' линия хвоста

LINE –STEP (60, 20), 2 ' линия хвоста

LINE –STEP (-60, 20), 2 ' линия хвоста

CIRCLE (250, 100), 30, 0, PI-3/4, PI-5/4, 1.5 ' дуга жабр

CIRCLE (250, 100), 30, 0, -PI, -PI/10, 2.5 ' дуга рта

FOR Y=90 TO 110 STEP 4

LINE (40,Y) – (52, Y), 0 ' оперение хвоста

NEXT Y

END

Рисунок 2 Изображение рыбы

3 Построение графиков функций

Изображение кривых графиков различных функций выполняется оператором PSET, который рисует точку с заданными координатами заданного цвета. Совокупность таких точек, изображённых с помощью оператора цикла с маленьким шагом приращения позволяет получить сплошные кривые линии (точки сливаются в линию). Чем меньше шаг, тем больше сливание точек, но тем больше время выполнения программы построения графиков.

Если кривых на графике несколько, то можно для построения каждой из них организовать свой цикл вычисления координат [x,y] точек кривых и их рисования оператором PSET(x,y), но проще в одном цикле по аргументу х вычислять значение сначала первой функции у1=f1(x) и нарисовать её с помощью PSET(x,y), затем вычислить при том же х значение второй

118

функции у2=f2(x) и нарисовать её и т.д. Такой вариант построения графика двух функций рассмотрен в примере 5.

Пример 5 Построить график функций y = 2sinx и y = x2 - 2x

на интервале по оси х от -9 до 9 и по оси у –-5 до 9. Изобразить оси координат Х и У и риски на них через 1, вывести в верхней части название графика.

REM Построение графика функций y = 2sinx, y = x^2 - 2x.

SCREEN 12

COLOR 13 ' цвет текста - фиолетовый

WINDOW (-9, -9) – (9, 9) ' размеры окна для графика

LINE (-9, 0) – (9, 0), 14 ' ось Х, цвет 14 - желтый

LINE (0, -5) – (0, 9), 14 ' ось У, цвет 14 – желтый

FOR x = -9 TO 9 ' цикл для рисования рисок на оси Х

LINE (x, 0) – (x, .2), 14 ' риски на оси Х, цвет 14 - желтый

NEXT x

FOR y = -5 TO 9 ' цикл для рисования рисок на оси У

LINE (0, y) – (.2, y), 14 ' риски на оси У, цвет 14 - желтый

NEXT y

LOCATE 16, 78 'курсор в позицию [16,78]

PRINT "x" 'вывод названия оси Х

LOCATE 16, 39 'курсор в позицию [16,39]

PRINT "0" 'вывод "0" в начало координат

LOCATE 1, 37 ' курсор в позицию [1,37]

PRINT "y" ' вывод названия оси У

FOR x = -9 TO 9 STEP .01 ' цикл для рисования линий графика

y = 2*SIN(x) ' вычисление первогоУ для Х= -9 до 9 с шагом 0,01

PSET (x, y), 10 ' рисов-е точки [X,Y] для у=2sinх, цвет 10 - зелёный

y = x^2 – 2*x ' вычисление второгоУ для Х= -9 до 9 с шагом 0,01

PSET (x, y), 11 ' рисование т.[X,Y] для у=x^2 – 2sinx, цв. 11- голубой

NEXT x

LOCATE 4, 5 ' курсор в позицию [4,5]

PRINT "Графики функций y=2sinx и y=x^2-2x" 'вывод назв. графика

END

Описание программы

Комментарий REM выводит название программы, оператор SCREEN 12 задаёт спецификацию экрана – текстово-графический, 640*480 точек для графики, 256 цветов, 80 столбцов на 40 строк - для текста, COLOR 13

задаёт фиолетовый цвет для текста (фон чёрный), WINDOW определяет

119

границы графического окна.

Операторы LINE рисуют линии осей Х и У жёлтым цветом, затем в циклах FOR...NEXT рисуются линии рисок на осях Х и У, тремя операторами LOCATE [№ строки, № столбца] курсор устанавливается в точки, в которые выводятся названия осей "Х" и "У" и начало координат "0".

Операторы PSET в цикле по Х от –9 до 9 с шагом 0,001 рисуют точки

обоих графиков зелёным (цвет 10) и голубым цветом (цвет 11), причём сначала у вычисляется как 2sinx и первый оператор PSET рисует эту точку при значении х из оператора цикла FOR x = …, затем значение y перевычисляется по формуле x2 - 2x и второй оператор PSET рисует эту точку при том же значении х. Таким образом, значения обоих функций поточечно вычисляются при значениях х, заданных циклом FOR x = -9 TO 9 STEP .01 и сразу поточечно

рисуются на экране, т.е. кривые графиков составляются из точек. Чем меньше шаг цикла STEP, тем более сплошными будут линии графиков.

Затем курсор устанавливается в позицию [4,5] и выводится название графика оператором PRINT "Графики функций y=2sinx и y=x^2-2x" .