Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Графические возможности
Для получения графических образов необходимо задать графический экран (например, SCREEN 9) и масштаб или окно экрана WINDOW (х1,у1) - (х2,у2). Здесь (х1,у1), (х2,у2) - координаты угловых точек экрана, расположенных на диагонали. Если ограничиться этим, то цвет фона будет черным. Для задания фона другого цвета используется оператор COLOR zl, z2, где zl- цвет текста, z2- цвет фона. Например, зададим графический экран, с размерами по горизонтали и по вертикали, соответственно 32 и 24 единицы, с началом координат в центре экрана. Цвет фона- синий (z2=l), а цвет надписей -желтый (zl=14).
10 *********** иыгтый лист ********************* 20 SCREEN 9 30 WINDOW (-16,-12)-(16, 12) 40 COLOR 14,1
Изображение точки с координатами (х,у) и заданным цветом осуществляется командой PSET(x,y),z. Здесь z - номер цвета. Точку на бумаге можно изобразить маленьким кружком. Иногда, когда требуется изображение точки покрупнее, буквально рисуют кружок и закрашивают его В этой связи, изображение точки на экране дисплея можно создавать, выводя образ окружности и закрашивая ее в тот или иной цвет. Для создания окружности используется оператор CIRCLE (\,y),r,z, где х,у - координаты центра окружности, г - радикс окружности, z - номер цвета окружности. Закрашивают окружность оператором PAINT (x,y),zl,z, где zl - номер цвета которым закрашивают, z - номер цвета окружности. Пример. При запуске программы на экране появятся 4 «точки» в)гла\ квадрата 10*10, окрашенные в зеленый цвет (10), и пятая «точка» красного цвета (12) вдвое большего размера в центре экрана Их границы окрашены в белый цвет (15).
Программа 61 10 '**************** Точки ********************* 20 SCREEN 9 30 WINDOW (-16,-12) - (16,12) 40 COLOR 14, 1 50 '********** изображение точек ********************* 60 CIRCLE (-5, -5)..25, 15: PAINT (-5, -5), 10, 15 70 CIRCLE (-5, 5),.25, 15: PAINT (-5, 5), 10, 15 80 CIRCLE (5, 5),.25, 15: PAINT (5, 5), 10, 15 90 CIRCLE (5, -5),.25, 15: PAINT (5, -5), 10, 15 100 CIRCLE (0, 0),.5, 15: PAINT (0, 0), 12, 15
Допустим, что в компьютерной демонстрации надо обратить внимание на какую-либо точку графического образа. В этом сл>чае точку делают мигающей. Для этого меняют с определенной частотой ее цвет.
Программа 62 10 '*************** чистый лист ********************** 20 SCREEN 9 30 WINDOW (-16, -12) - (16, 12) 40 COLOR 14, 1 50 '*************** мигающая точка ******************* 60 FOR 1=1 TO 5 70 CIRCLE (0. 0),.5, 15: PAINT (0, 0), 14, 15: DELAY.2 80 'FOR k=l TO 200: NEXT k 90 CIRCLE (0, 0),.5, 15: PAINT (0, 0), 12, 15: DELAY.5 100 'FOR k=l TO 500: NEXT k 110 NEXT I
Обратим внимание на то, что в этой программе время выдержки красного цвета (12) полсекунды (DELAY.5, либо пустой цикл), а желтого цвета (14) - две десятых секунды. В результате получается красная мигающая точка. Для акцентирования внимания мигание точки можно сопроводить звуковыми сигналами. Для этого используют оператор ВЕЕР стандартной частоты и длительности. Для издания звукового сигнала заданной частоты и длительности применяют оператор SOUND cl,t, где cl - частота сигнала, t -длительность.
Программа 63 10 ************** Клаксон ************************** 20 SCREEN 9 30 WINDOW (-16, -12) - (16,12) 40 COLOR 14, 1 110 '***** мигающие точки со звуковым сигналом ВЕЕР ******* 120 FOR i=l TO 5 130 CIRCLE (-5, -5),.25, 15: PAINT (-5, -5), 6, 15 140 CIRCLE (-5, 5),.25. 15: PAINT (-5, 5), 6, 15 150 CIRCLE (5, 5),.25, 15: PAINT (5, 5). 6, 15 160 CIRCLE (5, -5),.25, 15: PAINT (5, -5), 6, 15 170 DELAY.2: BEEP 180 CIRCLE (-5, -5),.25, 15: PAINT (-5, -5), 10, 15 190 CIRCLE (-5, 5),.25, 15: PAINT (-5, 5), 10, 15 200 CIRCLE (5. 5),.25, 15: PAINT (5, 5), 10, 15 210 CIRCLE (5, -5),.25, 15: PAINT (5, -5). 10, 15 220 DELAY.5 230 NEXT i 240 '***** Мигающая точка со звуковым сигналом SOUND ****** 250 FOR i=l TO 5 260 CIRCLE (0, 0),.5, 15: PAINT (0, 0), 14, 15 270 SOUND 600,.2: DELAY.2 280 CIRCLE (0,0),.5, 15: PAINT (0, 0), 12, 15 290 SOUND 300,.5: DELAY.5 300 NEXT i В следующем примере демонстрируется работа с окружностями и эллипсами, которые достаточно часто встречаются в графических образах различных объектов. Изображение окружности или дуги окружности выводится тонкими линиями с помощью оператора CIRCLE. Программа 64 '************0кружности и дуги ********************** 20 SCREEN 9 30 WINDOW (-16,-12) - (16,12) 40 COLOR 14,1 50 г*************** задание числа PI **************** 60 pi=4*atn(l) iq >********** изображение окружности и дуг ********** 80 CIRCLE (0, 0), 4, 15 90 CIRCLE (5. 5), 4, 14, 0, pi/2 'дуга в первой четверти 100 CIRCLE (-5, 5). 4, 14. pi/2, pi 'во второй 110 CIRCLE (-5,-5),4, 14, 0, pi, 3*pi/2 'в третьей 120 CIRCLE (5,-5), 4, 14, 3*pi/2,2*pi 'в четвертой Для изображения линий используется оператор LINE, который строит линии одной и той же толщины. Однако, при создании графических образов в компьютерных Демонстрациях требуются линии различной толщины. Например, выделяются оси координат на фоне координатной сетки или рисуется график линейной зависимости и т.д. Существует очень быстрый способ получения изображений вертикальных и горизонтальных линий различной толщины. Это достигается выводом на экран узких прямоугольников. Этот прием иллюстрируется на примере построения осей координат: LINE(-16.-.l)-(16,.l),15,bf LINE(-.l,-12)-(.l,12),15,bf Линии произвольной формы и толщины, в том числе и прямые, выводятся на экран дисплея при помощи оператора CIRCLE. Заключенный в цикл с достаточно малым шагом, оператор CIRCLE действует аналогично плакатному перу с шириной линии, равной диаметру окружности: FOR х =-4 ТО 4 STEP.01 у = 0.5*\''2 CIRCLE (x,y),.1,15 NEXTx Если требуется провести очень тонкую линию, то вместо CIRCLE используется оператор PSET (\,y). z, где z - номер цвета, а (х,у) - координаты точки (PSET -точка). Иногда изображения соседних точек соединяют отрезками прямых линий. График функции в этом случае будет представляться ломаной линией. Программа 65 I ********* тонкие линии и ломаные кривые ************ 10 SCREEN 9 20 WINDOW (-16,-12) - (16,12) 30 COLOR 14,1 4о у**************** тонкая линия ******************** 50 FOR х = -15 TO 15 STEP.01 60 у = 3*sin(x/3) 70 PSET (х, у+7), 14 80 NEXT х 90 г**************** ломаная линия - 1 *************** 100 FOR х = -15 TO 15 STEP.1 110 у = 3*sin(x/3) 120 PSET (x,y), 11 130 IF x>-15 THEN LINE (x,y) - (xl.yl), 11 140 у1=-У: xl=x 150 NEXT х 160 ***************** ломаная линия - 2 *************** 170 FOR х = -15 TO 15.STEP.1 180 у = 3*sin(x/3) 190 CIRCLE (х, у-7),.1, 15 200 IF x>-15 THEN LINE (х, у-7) - (xl, yl- 7), 10 210 CIRCLE (xl, yl- 7),.1, 15: PAINT (xl.yl - 7), 14, 15 220 у1=У: х1=х 230 NEXT х 340 '********************** Оси *********************** 250 LINE (-16, 7) - (16, 7), 15 260 LINE (-16, 0) - (16, 0), 15 270 LINE (-16, -7) - (16, -7), 15 Выше упоминалось о способе закрашивания областей, ограниченных линией одного цвета, с помощью оператора PAINT. Оператор LINE (\l,yl)-(x2,y2),z,bf позволяет получать закрашенные прямоугольники. Существуют специальные приемы закрашивания. Они основаны на повторении оператора, закрашивающего элементарную площадку. Причем, это может производиться либо по определенному закону, либо случайным образом. Ниже приведена программа, иллюстрирующая два способа закрашивания (хотя можно придумать и другие). Программа 66 10 **************** закрашивание ********************** 20 SCREEN 9 30 WINDOW (-16, -12) -(16, 12) 40 COLOR 14, 1 50 '************ постепенное закрашивание ************ 60 LINE (-10.1, -5.1) - (10.1, 5.1), 15, b 70 FOR x = -10 TO 10 STEP.01 80 LINE (x, -5) - (x, 5), 12 90 NEXT x 100 DELAY 2: ' FOR k=l to 2000: NEXT k 110 CLS 120 'а*************** гаситель экрана ***************** 130 FOR i = 1 ТО 2000 140 x =.5*INT(RND*64) - 16 150 у = INT(RND*24) - 12 160 LINE (x, у) - (Х+.5, у+1), 15, bf 170 NEXT i Следующая программа аналогична программе 31 на Паскале и строит столбчатую диаграмму, наглядно отражающую числовую информацию о населении 6 крупных городов мира: Токио, Гамбурга, Москвы, Бангкока, Мехико и Парижа. Программа 67 (см. программу 31) Ю **************** столбчатая диаграмма **************** 20 SCREEN 9 30 COLOR 14, 1 40 DATA 11500, 2300, 9700, 5100, 12400, 8200 45 DATA "Токио", "Гамбург", "Москва", "Бангкок", "Мехико", "Париж" 50 LINE (40, 300) - (550, 300): LINE (40, 300) - (40, 20) 60 FOR k = 1 ТО б 70 READ m(k) 80 NEXT k 90 a = m(l) 100 FOR k = 2 TO 6 110 IF m(k) > a THEN a = m(k) 120 NEXT k 130 FOR k = 1 TO 6 140 READ name$(k) 150 NEXT k 160 FOR k = 1 TO 6 170 n = 10 * k + 3 180 LOCATE 23, n: PRINT name$(k) 190 m(k) = 300 - m(k) / a * 200 200 LINE (k * 80, 300) - (80 + k * 80, 300 - m(k)), k + 3, BF 210 NEXT k 220 c$ = HEX$(a) 230 LOCATE 3, 1: PRINT c$ 240 c$ = HEX$(0) 250 LOCATE 22, 3: PRINT c$ 260 END Дадим короткие пояснения к использованным в данной программе и не использовавшимся ранее средствам. В представленном примере использован не встречавшийся ранее оператор LOCATE X,Y, останавливающий курсор на позицию х,у координатной сетки дисплея. Сочетание команд LOCATE... PRINT позволяет выводить на экран, находящийся в графическом режиме, тексты. Функция HEXS преобразует числа в соответствующие символы. Отсутствие команды WINDOW приводит к максимально возможному графическому окну.
Контрольные вопросы и задания 1. Перечислите основные операторы для построения элементов изображений и охарактеризуйте их работу. 2. Замените в одном из приведенных выше примеров SCREEN 9 на другой экранный режим (например, 12). Что изменилось в работе программы? Если она перестала исполняться, отладьте ее. 3. Изобразите смешную «рожицу», попеременно моргающую глазами с звуковым эффектом. 4. Постройте орнаменты из геометрических фигур.
Date: 2015-11-13; view: 369; Нарушение авторских прав |