Программирование на Python: графика — презентация
logo
Программирование на Python: графика
  • Программирование на Python: графика
  • Программирование на Python: графика
  • Система координат
  • Определение координат
  • Управление цветом
  • Управление цветом ( RGB )
  • Примитивы (простейшие фигуры)
  • Примитивы (простейшие фигуры)
  • Пример
  • Задачи
  • Задачи
  • Программирование на Python: графика
  • Процедуры
  • Процедуры (подпрограммы)
  • Как построить процедуру?
  • Процедура
  • Программа с процедурой
  • Задания
  • Задания
  • Программирование на Python: графика
  • Использование циклов
  • Использование циклов
  • Использование циклов
  • Задания
  • Задания
  • Задания
  • Задания-2
  • Задания-2
  • Задания-2
  • Программирование на Python: графика
  • Штриховка
  • Штриховка
  • Штриховка
  • Сложная штриховка
  • Очень сложная штриховка
  • Задания
  • Задания
  • Программирование на Python: графика
  • Заливка разными цветами
  • Задания
  • Задания
1/41

Первый слайд презентации: Программирование на Python: графика

1 Программирование на Python: графика Простые программы Процедуры Циклы Штриховка Закрашивание областей Построение графиков функций Анимация Игры Модуль graph.py : http://kpolyakov.spb.ru/download/graph.py

Изображение слайда

1. Простые программы 2

Изображение слайда

Слайд 3: Система координат

3 (0,0) ( x, y ) X Y x y начало координат

Изображение слайда

100 Определение координат 4 (0,0) X Y ( 100, 100 ) ( 200, 50 ) ( 200,2 50 ) ( 100, 200 ) (3 00, 100 ) (3 00, 200 ) (5 0,15 0 ) ( 3 5 0,15 0 ) ( 200,15 0 ) базовая точка ? ? ? ? ? ? 200 ? ?

Изображение слайда

5 Подключение графического модуля: from graph import * подключить все функции модуля graph Цвет линий: penColor ( "red" ) white, black, gray, navy, blue, cyan, green, yellow, red, orange, brown, maroon, violet, purple,... Цвет заливки: brushColor ( "green" ) http://bit.ly/2mNrkoq Толщина линий: penSize ( 2 )

Изображение слайда

Слайд 6: Управление цветом ( RGB )

6 Цвет в формате RGB : penColor ( 255, 255, 0 ) R ( red ) 0..255 G ( green ) 0..255 B ( blue ) 0..255 "yellow" brushColor ( 255, 0, 255 ) "magenta" penColor ( 0, 255, 255 ) "cyan" brushColor ( 255, 255, 255 ) "white" penColor ( 0, 0, 0 ) "black"

Изображение слайда

Слайд 7: Примитивы (простейшие фигуры)

7 ( x 1, y 1 ) ( x 2, y 2 ) penColor ( 0, 255, 0 ) line (x1, y1, x2, y2) ( x, y ) penColor ( 0, 0, 255 ) point (x, y) ( x 1, y 1 ) ( x 2, y 2 ) ( x 3, y 3 ) ( x 4, y 4 ) ( x 5, y 5 ) penColor ( 255, 0, 0 ) moveTo (x1, y1) lineTo (x2, y2) lineTo (x3, y3) lineTo (x4, y4) lineTo (x5, y5)

Изображение слайда

Слайд 8: Примитивы (простейшие фигуры)

8 (10, 20) ( 50, 40 ) penColor ( "blue" ) brushColor ( "yellow" ) rectangle ( 10, 20, 50, 40 ) penColor ( "red" ) brushColor ( "green" ) circle ( 50, 30, 20 ) ( 50, 3 0 ) R=20 penColor ( "cyan" ) brushColor ( "magenta" ) polygon ( [( 10, 10 ), ( 50, 50 ), ( 10, 50 ), ( 10, 10 )] ) ( 10, 10 ) ( 10, 5 0 ) (5 0, 5 0 )

Изображение слайда

Слайд 9: Пример

9 (200, 50) (100, 100) (300, 200) from graph import * p en Color ( "magenta" ) b rush Color ( "blue" ) r ectangle ( 100, 100, 300, 200 ) b rush Color ( "yellow" ) polygon ([( 100, 100 ), ( 200, 50 ), ( 300, 100 ), ( 100, 100 )]) p en Color ( "white" ) b rush Color ( "green" ) circle ( 20 0, 1 5 0, 50 ) run () ( 200, 150 )

Изображение слайда

Слайд 10: Задачи

10 «3»: «Домик» «4»: «Лягушка»

Изображение слайда

Слайд 11: Задачи

11 «5»: «Корона»

Изображение слайда

Слайд 12: Программирование на Python: графика

2. Процедуры 12

Изображение слайда

Слайд 13: Процедуры

Задача : Построить фигуру: Особенность : Три похожие фигуры. общее: размеры, угол поворота отличия: координаты, цвет Процедуры 13 Можно ли решить известными методами ? ? Сколько координат надо задать ? ?

Изображение слайда

Слайд 14: Процедуры (подпрограммы)

14 Процедура – это вспомогательный алгоритм, который предназначен для выполнения некоторых действий. Применение : выполнение одинаковых действий в разных местах программы разбивка программы (или другой процедуры) на подзадачи для лучшего восприятия Подзадача1 Подзадача 2 Подзадача3 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 3.3 Задача

Изображение слайда

Слайд 15: Как построить процедуру?

15 выделить одинаковые или похожие действия ( три фигуры ) найти в них общее ( размеры, форма, угол поворота ) и отличия ( координаты, цвет ) отличия обозначить как переменные, они будут параметрами процедуры 100 60 ( x +100, y ) ( x, y -60) ( x, y ) Параметры: x, y – координаты угла с – цвет заливки Параметры – это данные, от которых зависит работа процедуры. !

Изображение слайда

Слайд 16: Процедура

16 100 60 ( x +100, y ) ( x, y -60) ( x, y ) def treug (x, y, c): brushColor (c) polygon ( [(x,y), (x,y- 60 ), (x+ 100,y), (x,y)] ) определить ( define ) название параметры отступ

Изображение слайда

Слайд 17: Программа с процедурой

17 ( 100, 100 ) 100 60 (2 00, 100 ) (2 00, 1 6 0 ) from graph import * def treug (x, y, c): brushColor (c) polygon ([(x,y),(x,y- 60 ), (x+ 100,y),(x,y)] ) penColor ( "black" ) treug ( 100, 100, "blue" ) treug ( 200, 100, "green" ) treug ( 200, 160, "red" ) run () def treug (x, y, c): brushColor (c) polygon ([(x,y),(x,y- 60 ), (x+ 100,y),(x,y)] ) вызовы процедуры аргументы (значения параметров)

Изображение слайда

Слайд 18: Задания

18 « 3 »: Используя одну процедуру, построить фигуру. « 4 »: Используя одну процедуру, построить фигуру.

Изображение слайда

Слайд 19: Задания

19 « 5 »: Используя одну процедуру, построить фигуру. «6»: Используя одну процедуру, построить фигуру.

Изображение слайда

Слайд 20: Программирование на Python: графика

3. Циклы 20

Изображение слайда

Слайд 21: Использование циклов

21 40 40 100 160 Что меняется ? ? circle ( 40, 40, 20 ) circle ( 100, 40, 20 ) circle ( 160, 40, 20 ) ... x Как меняется x? ? x = 40 for i in range ( 5 ): circle (x, 40, 20 ) x += 60 "сделай 5 раз" 40 x += 60

Изображение слайда

Слайд 22: Использование циклов

22 40 40 100 160 10 0 1 60 x = 40 for i in range ( 5 ): circle (x, 40, 20 ) x += 60 1- й ряд : Что меняется для 2-го ряда ? ? 40 y Можно сделать это процедурой с параметром y ! !

Изображение слайда

Слайд 23: Использование циклов

23 from graph import * def row ( y ): x = 40 for i in range ( 5 ): circle (x, y, 20 ) x += 60 y = 40 for k in range ( 3 ): row ( y ) y += 60 run () def row ( y ): x = 40 for i in range ( 5 ): circle (x, y, 20 ) x += 60 процедура вызов процедуры вниз на 60

Изображение слайда

Слайд 24: Задания

24 « 3 »: Ввести с клавиатуры число N и нарисовать N рядов по 5 кругов. Пример ( N = 3 ) :

Изображение слайда

Слайд 25: Задания

25 «4»: Ввести с клавиатуры число N и нарисовать из кругов прямоугольный размером N на N. Пример ( N = 3 ) :

Изображение слайда

Слайд 26: Задания

26 « 5 »: Ввести с клавиатуры число N и нарисовать из кругов равнобедренный треугольник с высотой N. Каждый ряд должен быть покрашен в свой цвет. Пример ( N = 3 ) :

Изображение слайда

Слайд 27: Задания-2

27 « 3 »: Ввести с клавиатуры число N и нарисовать N вертикальных рядов по 5 ромбиков. Пример ( N = 2) :

Изображение слайда

Слайд 28: Задания-2

28 «4»: Используя циклы и процедуры, нарисуйте узор. Число повторений рисунка N введите с клавиатуры. Пример ( N = 3) :

Изображение слайда

Слайд 29: Задания-2

29 «5»: Используя циклы и процедуры, нарисуйте узор.

Изображение слайда

Слайд 30: Программирование на Python: графика

4. Штриховка 30

Изображение слайда

Слайд 31: Штриховка

31 ( x 1, y 1 ) ( x 2, y 2 ) N линий ( N=5) h rectangle (x1, y1, x2, y2) line ( x1+h, y1, x1+h, y2) line ( x1+2*h, y1, x1+2*h, y2) line ( x1+3*h, y1, x1+3*h, y2) ... x x line ( x, y1, x, y2) В цикле менять x : Как найти h ? ? x 1 +h

Изображение слайда

Слайд 32: Штриховка

32 ( x 1, y 1 ) ( x 2, y 2 ) N линий ( N=5) h x = x1 + h for i in range (N): line (x, y1, x, y2) x += h line ( x, y1, x, y2) x x меняется! для 1-й линии "сделай N раз" Что плохо ? ? для следующей линии Как меняется ? ? x = ?

Изображение слайда

Слайд 33: Штриховка

33 ( x 1, y 1 ) ( x 2, y 2 ) N линий h from graph import * x1 = 100 ; y1 = 100 x2 = 300 ; y2 = 200 N = 10 rectangle (x1,y1,x2,y2) h = (x2-x1)/(N+1) x = x1 + h for i in range (N): line (x, y1, x, y2) x += h run ()

Изображение слайда

Слайд 34: Сложная штриховка

34 ( x 1, y 1 ) ( x 2, y 2 ) ( x 3, y 2 ) a h ( x 3 + a, y 1 ) Как найти a и h ? ? line( x1+h, y1, x1+h-a, y2) ; line( x1+2*h, y1, x1+2*h-a, y2) ; line( x1+3*h, y1, x1+3*h-a, y2) ; ... x x-a Как меняется x ? ? Сначала: x = x1 + h В цикле: x += h

Изображение слайда

Слайд 35: Очень сложная штриховка

35 ( x 1, y 1 ) ( x 2, y 2 ) h x h y N Как найти h x и h y ? ? y x y line( x1, y1+hy, x1+hx, y1+hy) ; line( x1, y1+2*hy, x1+2*hx, y1+2*hy) ; line( x1, y1+3*hy, x1+3*hx, y1+3*hy) ; ... Сначала: x = x1+hx y = y1+hy В цикле: x + = hx y += hy

Изображение слайда

Слайд 36: Задания

36 « 3 »: Ввести с клавиатуры количество линий, построить фигуру и выполнить штриховку : «4»: Ввести с клавиатуры количество линий, построить фигуру и выполнить штриховку :

Изображение слайда

Слайд 37: Задания

37 «5»: Ввести с клавиатуры количество линий и построить фигуру: « 6 »: Ввести с клавиатуры количество линий и построить фигуру:

Изображение слайда

Слайд 38: Программирование на Python: графика

5. Закрашивание областей 38

Изображение слайда

Слайд 39: Заливка разными цветами

x x + h Заливка разными цветами 39 ( x 1, y 1 ) ( x 2, y 2 ) h x = x1; c = 0 for i in range (N): brushColor (c, c, c) rectangle (x, y1, x+h, y2) x += h; c += hc brushColor (c, c, c) rectangle (x, y1, x+h, y2) серый: R=G=B N полос Шаг изменения цвета: hc = 255 // N

Изображение слайда

Слайд 40: Задания

40 «3»: Ввести с клавиатуры число полос и построить фигуру, залив все области разным цветом. «4»: Ввести с клавиатуры число полос и построить фигуру, залив все области разным цветом.

Изображение слайда

Последний слайд презентации: Программирование на Python: графика: Задания

41 «5»: Ввести с клавиатуры число полос и построить фигуру, залив все области разным цветом. «6»: Ввести с клавиатуры число полос и построить фигуру, залив все области разным цветом. или

Изображение слайда

Похожие презентации