Цели урока:
- Обучающие: использование среды программирования QBasic для создания графических изображений; знакомство учащихся со способами создания графических изображений: при помощи графических примитивов и языка GML.
- Развивающие: развитие навыков алгоритмического мышления учащихся; развитие слуховой, зрительной памяти.
- Воспитательные: воспитание умения слушать объяснение, делать записи, контролировать самого себя.
Оборудование и технические требования:
- Наличие видеопроектора
- Программа Microsoft Power Point 2003-2007
- Урок ведется в сопровождении электронного учебника «Графические возможности Quick Basic» (см. Приложение 1).
Примечание:
- В силу того, что учебник охватывает весь материал указанной темы, он может быть использован учащимися и для самостоятельного изучения.
- Учебник охватывает две темы: «Графические примитивы» и «Макроязык GML». Поэтому целесообразнее разбить объяснение материала на два урока.
- Каждая тема оформлена в виде отдельной независимой друг от друга презентации. Их связь осуществляется только через титульную презентацию Приложение 1
- Переход между слайдами учебника осуществляется при помощи управляющих стрелок и гиперссылок
ХОД УРОКА
Учитель: С какими видами графики вы
знакомы? (Растровая графика, векторная графика)
Каковы особенности каждого вида графики?
Растровая графика |
Векторная графика |
Базовый элемент – точка. Построение изображения основывается на рисовании точек заданного цвета. | Базовый элемент – линия. Построение изображения осуществляется при помощи математических расчетов для построения графических примитивов (линий, прямоугольников, окружностей) |
Сегодня мы выясним, можно ли использовать язык программирования Quick Basic для создания изображений, и к какому виду графики можно отнести это изображение.
Прежде чем работать с графикой Quick Basic, необходимо задать графический режим экрана при помощи команды SCREEN N, где N – номер графического режима. Режимы отличаются разрешением и количеством цветов. В качестве примера рассмотрим режим SCREEN 9:
Также можно изменить цвет фона при помощи оператора COLOR,C, где C – номер цвета в палитре.
Существуют два способа для создания изображений при помощи языка программирования Quick Basic:
- Использование графических примитивов
- Использование макроязыка GML.
1. Создание изображений при помощи графических примитивов (см. Приложение 2)
1) Точка
PSET (X, Y), C , где:
(Х, У) – координаты точки на экране
С – номер цвета
2) Линия
LINE(X1,Y1) – (X2,Y2), C где:
(X1,Y1) – координаты начальной точки отрезка
(X2,Y2) – координаты конечной точки отрезка
C – номер цвета линии
3) Прямоугольник
LINE(X1,Y1) – (X2,Y2), C, B
где:
(X1,Y1) – координаты начальной точки диагонали
прямоугольника
(X2,Y2) – координаты конечной точки диагонали
прямоугольника
Закрашенный прямоугольник:
LINE(X1,Y1) – (X2,Y2), C, BF
4) Окружность
CIRCLE (X,Y), R, C
(X,Y) – координаты центра окружности
R – радиус окружности
C – номер цвета линии
5) Дуга окружности
CIRCLE (X,Y), R, C, L1, L2 где:
(X,Y) – координаты центра окружности
R – радиус окружности
C – номер цвета линии
L1 – начальное значение угла
вычерчивания дуги
L2 – конечное значение угла
вычерчивания дуги
6) Дуга эллипса
CIRCLE (X,Y), R, C, L1, L2, К где:
(X,Y) – координаты центра эллипса
R – радиус окружности
C – номер цвета линии
L1 – начальное значение угла для вычерчивания
дуги эллипса
L2 – конечное значение угла для вычерчивания дуги
эллипса
К – коэффициент сжатия дуги эллипса
7) Эллипс
Если рисуется эллипс, то параметры L1 и L2
отсутствуют, т.е. оператор имеет вид:
CIRCLE (X,Y), R, C, , , К
8) Сектор
Если параметры L1 и L2 в операторах
CIRCLE (X,Y), R, C, L1, L2 (для дуги окружности)
CIRCLE (X,Y), R, C, L1, L2, К (для дуги эллипса)
отрицательные, то концы дуги соединяются
отрезками с центром окружности (эллипса), т.е.
вычерчивается круговой сектор.
9) Закраска ограниченной области
PAINT (X,Y), C1, C2 где:
(X,Y) – координаты любой точки внутри контура
C1 – номер цвета, которым закрашивается контур
С2 – номер цвета самого контура
Пример рисования объекта:
SCREEN 9
CIRCLE (159, 99), 80, 12: PAINT (159, 99), 12, 12
CIRCLE (89, 99), 39, 12: PAINT (78, 98), 12, 12
CIRCLE (228, 99), 39, 12: PAINT (248, 98), 12, 12
CIRCLE (120, 99), 15, 12, , , 3: PAINT (120, 99), 12, 12
CIRCLE (198, 99), 15, 12, , , 3: PAINT (198, 99), 12, 12
CIRCLE (120, 70), 19, 8, , , .5: PAINT (120, 70), 15, 8
CIRCLE (120, 70), 12, 6: PAINT (120, 70), 6, 6
CIRCLE (199, 70), 19, 8, , , .5: PAINT (199, 70), 15, 8
CIRCLE (199, 70), 12, 6: PAINT (199, 70), 6, 6
CIRCLE (159, 99), 20, 7, , , 2
CIRCLE (159, 130), 23, 4, 3.14, 6.28, .5
CIRCLE (159, 130), 24, 4, 3.14, 6.28: PAINT (159, 145), 4, 4
LINE (159, 40) – (110, 50), 8 : LINE (159, 40) – (130, 50), 8
LINE (159, 40) – (159, 50), 8 : LINE (159, 40) – (188, 50), 8
LINE (159, 40) – (208, 50), 8
Итог:
2. Создание изображений при помощи макроязыка GML (см. Приложение 3).
Специальный макроязык GML был разработан для расширения возможностей машинной графики Бейсика. Он позволяет строить сложные изображения и быстро выводить их на экран. Каждая команда языка представляет собой латинскую букву, после которой следует один или два числовых параметра.
Команды языка GML перечислены в следующей таблице:
Команда | Действие |
M x,y |
Переместиться в точку с координатами x, y |
M ±n, ±m |
Переместиться по отношению к текущей позиции на ±n точек по оси Х и на ±m точек по оси У. Знаки плюс и минус проставлять обязательно |
At |
Поворот изображения против часовой стрелки вокруг точки, с которой начиналось рисование на 90°хt ( t 0, 1, 2, 3). Действует во всех дальнейших командах до нового назначения |
Cn |
Задание нового цвета. Действует во всех дальнейших команда до нового назначения |
Sn |
Расстояние, указанное в командах перемещения, умножается на n/4 ( 0 < n < 255) |
B |
Переместиться в новую позицию при помощи следующих за В команд, но рисование не производить. Отменяется установкой цвета С |
N |
Выполнить следующую команду перемещения и вернуться в исходную позицию. Может предшествовать любой команде перемещения |
Pc1,c2 |
Команда заполнения контура цветом, с1 – цвет заполнения, с2 – цвет контура |
Команды перемещения:
Un |
Переместиться вверх на n точек |
Dn |
Переместиться вниз на n точек |
Ln |
Переместиться влево на n точек |
Rn |
Переместиться вправо на n точек |
En |
Переместиться по диагонали вверх и вправо на n точек |
Fn |
Переместиться по диагонали вниз и вправо на n точек |
Gn |
Переместиться по диагонали вниз и влево на n точек |
Hn |
Переместиться по диагонали вверх и влево на n точек |
Для приведения в действие последовательности команд языка GML необходимо использовать оператор DRAW «команды макроязыка GML»
Команды записываются подряд или через пробел.
Пример использования команд:
SCREEN 9
CLS
COLOR , 11
LINE (0, 200) – (650, 350), 2, BF
DRAW "c6 bm200,150 e20 r100 nf20 nm320,160 u20 m360,70 d25 f20 r20 d10"
DRAW "m360,150 l20 d20 m320,160 d15 f20 r10 d8 l20"
DRAW "m300,180 u10 l60 g20 d6 r15 d8 l30 u20 m215,170"
DRAW "l10 g20 l70 h20 e20 m200,150 br5 p6,6 bm321,160 p15,6 bm350,110 p6,6"
CIRCLE (353, 110), 5, 8
PAINT (350, 110), 1, 8
Результат:
Заключение:
– Мы рассмотрели возможности создания
графических изображений при помощи языка
программирования Quick Basic. Вернемся к вопросу: К
какому виду графики относится изображение,
созданное при помощи программирования? (Векторная
графика)
– А можно ли анимировать изображение? Как вы
думаете? Оказывается можно. В этом нам помогут
операторы цикла. Но это уже тема другого урока.
Домашнее задание: составить программу для рисования любого объекта с помощью изученных операторов.