Программирование. Pascal ABC. Случайные числа в графике


Чтобы посмотреть презентацию с оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов:

Случайные числа в графикезвездное небо и авангардизм… Случайные числа в графикеРассмотрим, как можно применить случайные числа в графическом режиме.Естественно, что при этом в качестве случайностей могут быть некоторые параметры графических примитивов, например, координаты, цвет и т.п.Кроме того мы познакомимся с программным управлением размеров графического окна (раскрытие на полный экран) и чтением его параметров.Вспомним также, что для подключения графики после первой строки нужно записать:uses graphabc; Графическое окноДля раскрытия графического окна на полный экран (оставляя только панель задач) нужно воспользоваться оператором MaximizeWindow;Теперь начало наших графических программ будет выглядеть так:program z;uses graphabc;begin MaximizeWindow;end. Графическое окноДля получения размеров графического окна используются две функции:Ширина окна: WindowWidthВысота окна: WindowHeightОбе функции дают размеры графического окна в пикселях.Мы будем пользоваться этими функциями, чтобы рисовать в пределах окна, не выходя за его пределы (в большинстве случаев).При этом необязательно писать все операторы с большой буквы. Звездное небоПервое, чем мы займемся – создание модели звездного неба. Звезды будем рисовать точками, точек будет много (будем использовать оператор цикла), а координаты каждой следующей точки будут случайными.Однако наше небо черное, а графический экран изначально белый.Исправим это недоразумение, нарисовав черный прямоугольник во весь экран.Программа представлена на следующем слайде. Звездное небоprogram z;uses graphabc;begin maximizewindow; setbrushColor(0); rectangle(0,0,windowwidth,windowheight);end.Теперь основа для неба готова. Для рисования звезд нам будут нужны 4 переменные:i – переменная цикла, x, y – координаты звезд, c – цвет звезд. Звездное небоuses graphabc;var i,x,y,c:integer;begin maximizewindow; setbrushColor(0); rectangle(0,0,windowwidth,windowheight); for i:=1 to 1000 do begin x:=random(windowwidth); y:=random(windowheight); c:=rgb(255,255,255); putpixel(x,y,c); end;end. Звездное небоВ нашем случае на экране в случайных местах нарисовались 1000 белых точек. Можно увеличить их количество, но уже 10000 звезд дают нереальную картину.Единственное, что можно подправить, это сделать звезды разноцветными, для этого строкуc:=rgb(255,255,255);нужно изменить наc:=rgb(random(255),random(255),random(255));(градации каждого цвета будут случайными)Теперь у нас небо в разноцветных звездах. Случайные линииЗаймемся рисованием линий. Для этого нужно вместо x и y ввести переменные x1, y1, x2 и y2.var i,x1,y1,x2,y2,c:integer;Так же воспользоваться оператором установки цвета линий: setpencolor(c) (указана лишь часть программы): for i:=1 to 1000 do begin x1:=random(windowwidth); y1:=random(windowheight); x2:=random(windowwidth); y2:=random(windowheight); c:=rgb(random(255),random(255),random(255)); setpencolor(c); line(x1,y1,x2,y2); end; Случайные прямоугольникиЗамените line на rectangle и впишите оператор установки цвета заливки: setbrushcolor(c): for i:=1 to 1000 do begin x1:=random(windowwidth); y1:=random(windowheight); x2:=random(windowwidth); y2:=random(windowheight); c:=rgb(random(255),random(255),random(255)); setpencolor(c); setbrushсolor(c); rectangle(x1,y1,x2,y2); end; ЗаданияСледующие слайды демонстрируют примерную картину заданий:Линии из центраСлучайные окружностиСлучайные дуги Задание: линии из центра Задание: случайные окружности Задание: случайные дуги

Приложенные файлы