Рисование в turtle python

30 апреля 2020 - Администратор

Рисование простейших графических фигур прямоугольник и круг в turtle Python

Рисование закрашенного прямоугольника в turtle python

Напишем процедуру для рисования закрашенного прямоугольника в turtle на Python с заданными координатами верхнего левого угла, шириной, высотой и цветом заливки.
Подробнее о процедурах в python 
Назовём процедуру rectangle и передадим параметры в процедуру.
x, y - координаты левого верхнего угла
width, height - ширина и высота прямоугольника
color - цвет заливки прямоугольника
def rectangle(x,y,width,height,color):
Чтобы перейти в левый верхний угол прямоугольника, поднимаем перо черепашки
t.up()
Переходим в левый верхний угол прямоугольника 
t.goto(x,y)
Чтобы начать рисование, нужно опустить перо черепашки 
t.down()
Поставим чёрный цвет заливки по умолчанию
t.fillcolor("black")
Далее выставляем цвет заливки, исходя из значений параметра color. Для примера мы рассмотрели три цвета Для этого с помощью условия if  проверяем значение color и выставляем соответствующий цвет.
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")

Начинаем заливку перед рисованием прямоугольника
t.begin_fill()
Рисуем верхнюю грань прямоугольника, сдвинувшись вперёд на заданное значение ширины.
t.fd(width)
Поворачиваем вправо на 90 градусов
t.right(90)
Рисуем правую грань прямоугольника, сдвинувшись черепашкой вниз на заданное значение высоты
t.fd(height)
Разворачиваемся черепашкой вправо на 90 градусов
t.fd(height)
Рисуем нижнюю грань  прямоугольника
t.fd(width)
Поворачиваем вправо на  90 градусов
t.right(90)
Рисуем левую грань прямоугольника
t.fd(height)
Заканчиваем заливку после того, как нарисовали прямоугольник
t.end_fill()
Разворачиваем черепашку вправо на 90 градусов, возвращая её в исходное положение
t.right(90)
Полностью процедура для рисования закрашенного прямоугольника в Python будет выглядеть следующим образом:
def rectangle(x,y,width,height,color):
    t.up()
    t.goto(x,y)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    if (color==4):
     t.fillcolor("blue")
    t.begin_fill()
    t.fd(width)
    t.right(90)
    t.fd(height)
    t.right(90)
    t.fd(width)
    t.right(90)
    t.fd(height)
    t.end_fill()
    t.right(90)

Вы можете использовать эту готовую процедуру для рисования прямоугольника в Python в своих программах
Для примера мы напишем программу, которая рисует пирамидку из разных цветов
Полный код программы для рисования разноцветной пирамиды на Python с помощью черепашки
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def rectangle(x,y,width,height,color):
    t.up()
    t.goto(x,y)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    if (color==4):
     t.fillcolor("blue")
    t.begin_fill()
    t.fd(width)
    t.right(90)
    t.fd(height)
    t.right(90)
    t.fd(width)
    t.right(90)
    t.fd(height)
    t.end_fill()
    t.right(90)
rectangle(0,100,200,40,1)
rectangle(30,140,140,40,2)
rectangle(50,180,100,40,3)
t.screen.exitonclick()
t.screen.mainloop()

прямоугольники в turtle python

Рисование закрашенного круга turtle Python

Напишем процедуру для рисования закрашенного круга на turtle Python.
В процедуру передаем следующие параметры:
x,y - координаты центра окружности
r - радиус окружности
color - цвет заливки окружности
def circle(x,y,r,color):
Чтобы перейти к  центру окружности в черепашке на Python, необходимо выполнить следующие команды:
t.up()
t.goto(x,y-r)
t.down()

Черепашка при рисовании окружности начинает рисовать с самой нижней расположенной точки окружности, поэтому необходимо поднять её на радиус
Ставим чёрный цвет для закраски фигуры по умолчанию
t.fillcolor("black")
Присваиваем цвет заливки, исходя из значений задаваемого параметра color. 
Используем условие if, чтобы проверить значение color и установить цвет закраски круга.
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")

Начинаем закраску перед рисованием круга
t.begin_fill()
Чтобы нарисовать круг, используем оператор t.circle из модуля черепашка turtle python
t.circle(r,360)
Заканчиваем закраску
t.end_fill()
Полностью процедура для рисования закрашенного круга на turtle Python выглядит таким образом. Вы можете использовать эту готовую процедуру в своих программах.
def circle(x,y,r,color):
    t.up()
    t.goto(x,y-r)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    if (color==4):
     t.fillcolor("blue")
    t.begin_fill()
    t.circle(r,360)
    t.end_fill()

В качестве примера напишем программу, которая нарисует светофор, у которого по порядку будут загораться цвета. Пока горит нужный цвет, остальные цвета чёрные.
В теле программы мы рисуем закрашенные круги. Для того, чтобы между сменой цветов была пауза, используем оператор sleep. Для  использования оператора sleep нужно импортировать модуль time
Полный код программы для рисования светофора на Python 
from turtle import *
import time
t = Turtle()
t.screen.setup(800, 800)
def circle(x,y,r,color):
    t.up()
    t.goto(x,y-r)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    if (color==4):
     t.fillcolor("blue")
    t.begin_fill()
    t.circle(r,360)
    t.end_fill()
circle(50,150,25,0)
circle(50,100,25,0)
circle(50,50,25,3)
time.sleep(1)
circle(50,150,25,0)
circle(50,100,25,2)
circle(50,50,25,0)
time.sleep(1)
circle(50,150,25,1)
circle(50,100,25,0)
circle(50,50,25,0)
t.screen.exitonclick()
t.screen.mainloop()

светофор в turtle python

 

Рисование закрашенного треугольника turtle Python
Напишем процедуру для рисования закрашенного треугольника на Python.
В процедуру передаются следующие параметры:
x1,y1,x2,y2,x3,y3 - координаты вершин треугольника
color - цвет закраски треугольника
def triangle(x1,y1,x2,y2,x3,y3,color):
Переходим в первую вершину треугольника
t.up()
t.goto(x1,y1)
t.down()

Ставим чёрный цвет закраски по умолчанию
t.fillcolor("black")
При помощи условия if проверяем значение color и устанавливаем цвет закраски
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")

Начинаем закраску
t.begin_fill()
Переходим ко второй вершине, потом к третьей и возвращаемся в первую, отрисовывая  грани треугольника
t.goto(x2,y2)
t.goto(x3,y3)
t.goto(x1,y1)

Заканчиваем заливку
t.end_fill()
Полностью процедура для рисования закрашенного треугольника на turtle Python выглядит таким образом. Эту процедуру  вы можете использовать в своих программах.
def triangle(x1,y1,x2,y2,x3,y3,color):
    t.up()
    t.goto(x1,y1)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    t.begin_fill()
    t.goto(x2,y2)
    t.goto(x3,y3)
    t.goto(x1,y1)
    t.end_fill()

Для примера напишем программу, которая нарисует ёлочку из трёх треугольников разного цвета на Python
В основном теле программы мы рисуем закрашенные треугольники.
Полный код программы для рисования ёлочки из трёх закрашенных треугольников  turtle Python
from turtle import *
t = Turtle()
t.screen.setup(500, 500)
def triangle(x1,y1,x2,y2,x3,y3,color):
    t.up()
    t.goto(x1,y1)
    t.down()
    t.fillcolor("black")
    if (color==1):
     t.fillcolor("red")
    if (color==2):
     t.fillcolor("yellow")   
    if (color==3):
     t.fillcolor("green")
    t.begin_fill()
    t.goto(x2,y2)
    t.goto(x3,y3)
    t.goto(x1,y1)
    t.end_fill()
triangle(10,80,50,130,100,80,1)    
triangle(10,30,50,80,100,30,2)
triangle(10,-20,50,30,100,-20,3)
t.screen.exitonclick()
t.screen.mainloop()

елочка на python

Вернуться к содержанию курса Python

Полезно почитать по теме графика в Python
Свой графический модуль на Python
Графика в Python
Графика черепашка turtle в Python

Поделиться 

 
 
Комментарии (0)

Нет комментариев. Ваш будет первым!