|
программирование на языке бейсик
|
|
УРОК 8. Работа с графикой
Наиболее
интересная часть в программировании - это работа с графикой, которая
позволяет выводить разные фигуры на экран. Перед работой с графикой в
программе устанавливается номер графического режима при помощи
оператора SCREEN.
Лучше пользоваться девятым режимом, в котором выводятся 640 точек по
горизонтали и 350 точек по вертикали, так как в режимах, где имеется
большее разрешение (640х480), не всегда четко работают цвета. Область
экрана показана на рисунке 4 и выделена белым цветом. Ось Y расположена не вверх, как мы привыкли видеть, а вниз, причем верхняя точка имеет значение 0, а нижняя 349.
Рассмотрим пример программы. SCREEN 9
CLS
LINE (50,50)-(300,200)
В
результате работы данной программы на экране будет выведена наклонная
линия. Первый оператор позволяет установить вид экрана, краткое
описание разных видов приведено в конце главы. Для практических целей
уточним, что экран в этом виде представляется в виде точек, содержащих
640 столбцов и 350 строк. Каждая точка экрана называется пикселом, а
всего на экране 640 х 350 = 224 000 точек или пикселов.
Второй
оператор очищает экран, а третий выводит линию, в которой заданы
конечные ее точки (50,50) и (300,200). Заметим, что при переходе в
графический режим на экране появляются вспышки, которые производятся
из-за перехода в другой режим работы дисплея. Это происходит на всех
видах дисплея, с разницей в том, что вспышек может быть меньше или
больше.
В
дальнейшем мы также будем около текста программы выводить и картинку,
которая возникает на экране при работе программы. Для наглядности
вместо черного фона будем использовать серый фон.
При помощи оператора LINE можно нарисовать на экране прямоугольник, как это показано на примере ниже.
SCREEN 9
CLS
LINE (50,50)-(300,200), 4, В
В
данном примере выведен прямоугольник со сторонами, окрашенными в
красный цвет. Координаты противоположных углов заданы координатами
(50,50) и (300,200), 4 - обозначает цвет, а В - признак вывода на экран прямоугольника, а не линии. Всего может быть 16 цветов, которые перечислены ниже:
|
0 - черный | 4 - красный | 8 - серый | 12 - ярко - красный | 1 - синий | 5 - сиреневый | 9 - ярко - синий | 13 - ярко - сиреневый | 2 - зеленый | 6 - коричневый | 10 - ярко - зеленый | 14 - желтый | 3 - бирюзовый | 7 - белый | 11 - ярко - бирюзовый | 15 - ярко - белый |
Следующий оператор позволяет вывести прямоугольник с закрашенной внутренней частью (параметр BF).
SCREEN 9
CLS
LINE (50,50)-(300,200), 4, ВF
Кроме линий и прямоугольников можно выводить и окружности. Приведем пример.
SCREEN 9
CLS
CIRCLE (150,150), 50, 4
В этом примере выведена окружность с центром с координатами (150, 150), радиусом 50 и цветом 4
(красный). На рисунке, на котором показан результат работы программы,
окружность больше напоминает овал. Это происходит потому, что круг
рассчитан на разрешение экрана 640х480 точек, поэтому он в девятом
режиме будет сжат по вертикали. Такие же проблемы могут возникнуть и
при других режимах работы экрана.
Для того, чтобы сжать или растянуть окружность, можно использовать пятый аргумент оператора CIRCLE, который определяет коэффициент сжатия. Если он равен 1, то будет окружность, а не эллипс.
SCREEN 9
CLS
CIRCLE (150,150), 50, 4,,,1
П ример
для коэффициента сжатия 0.4, который сплющил окружность по горизонтали,
приведен на рисунке 5. Соответственно, если коэффициент будет больше
единицы, то окружность вытянется по вертикали.
Иногда нужно вывести не окружность, а дугу от круга. В этом случае, программа будет следующей:
SCREEN 9
CLS
CIRCLE (150,150), 50, 4, 0, 1
В данном примере добавлены два аргумента (4,0) в операторе CIRCLE,
которые обозначают начало и конец угла сегмента в радианах. Для того,
чтобы перевести значение из градусов в радианы, следует использовать
формулу у=х*3.14159265/180, где х - значение в градусах, а у -
полученное значение в радианах. Значения должны быть положительные.
Если они будут отрицательные, то на экране будет выведен сектор вместе
с радиусами к конечным точкам дуги, как это показано на примере ниже.
SCREEN 9
CLS
PI = 3.14159265#
CIRCLE (150,150), 50, 4, -2*PI, -1
Задачи.
1. Нарисуйте ребра куба, пирамиды, конверт, российский флаг.
2. Что выводят на экран следующие программы:
|
а) SCREEN 9 CLS CIRCLE (50,50), 25, 6, 0, -1 | б) SCREEN 9 CLS LINE (25,25)-(120,120), 7 |
3.
Напишите программы, которые выводят на экран следующие рисунки:
прямоугольник; ромб; круг; два круга рядом; два круга - один в другом;
овал, сплюснутый по горизонтали; овал, сплюснутый по вертикали;
треугольник; сектор; снеговика; мишень; стрелу; эмблему любой
спортивной команды.
4. Напишите программы для вывода фигур, показанных на рисунках ниже.
|
О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О↙О↘О
|
|
Информация
данного сайта предназначена для бесплатного изучения персонального
компьютера. Можно копировать, передавать материалы другим лицам.
Запрещается
использовать материалы для получения личной финансовой выгоды, а также
размещать на сайтах в интернете.
|