Как закрасить фигуру в питоне
Перейти к содержимому

Как закрасить фигуру в питоне

  • автор:

Как закрасить всю область под кривой линией в линейном графике matplotlib?

введите сюда описание изображения

Имеется простой линейный график (фото ниже). Скажите, пожалуйста, как можно закрасить всё под кривой? Как бы получатся такие закрашенные «горы». Вот код:

import matplotlib.pyplot as plt import numpy as np x = np.array(["01.02.2002", "01.02.2003", "01.02.2004", "01.02.2005", "01.02.2006", "01.03.2006", "01.02.2007", "01.02.2008", "01.02.2009", "01.02.2010", "01.02.2011", "01.02.2012", "01.02.2013", "01.02.2014"]) y = np.array([25, 71, 61, 33, 11, 3, 1, 25, 31, 41, 33, 11, 25, 18]) plt.plot(x,y) plt.xticks(rotation=90) plt.show() 

Отслеживать
задан 6 апр 2021 в 17:05
hyper-cookie hyper-cookie
1,086 6 6 серебряных знаков 15 15 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Гуглить не пробовали или рецепты какие по matplotlib почитать? 🙂

plt.fill_between(x, y, np.zeros_like(y), color='cyan') 

введите сюда описание изображения

Отслеживать
ответ дан 6 апр 2021 в 17:11
68.4k 5 5 золотых знаков 20 20 серебряных знаков 51 51 бронзовый знак

Спасибо за помощь. Я гуглил уже, нашёл этот метод «fill_between», но не понял что именно нужно передавать в аргументах.

6 апр 2021 в 17:12

Ну там вроде по описанию функции понятно: x, y, y1 , т.е. на каких x и между какими y нужно закрасить. В вашем случае — между вашим y и нулевой линией

Смена/получение цвета пера и цвета заливки фигур

В материале представлены команды, отвечающие за смену цвета пера/карандаша и цвета заливки фигур при рисовании по холсту в модуле turtle .

Примечание: можно использовать как функции модуля, так и одноименные методы экземпляра пера/холста. например:

>>> import turtle # функция модуля >>> turtle.pencolor() # создание экземпляра пера >>> pen = turtle.Turtle() >>> pen.pencolor() 

Содержание:

  • turtle.pencolor() возвращает или устанавливает цвет пера,
  • turtle.fillcolor() возвращает или устанавливает цвет заливки,
  • turtle.color() возвращает или устанавливает цвет пера и цвет заливки,
  • turtle.filling() проверяет статус заливки фигуры,
  • turtle.begin_fill() вызывается непосредственно перед заливкой,
  • turtle.end_fill() заливает фигуру цветом.
turtle.pencolor(*args) :

Метод turtle.pencolor() возвращает или устанавливает цвет пера.

Допускаются четыре формата ввода цвета:

  • turtle.pencolor() : возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color() / turtle.pencolor() / turtle.fillcolor() .
  • turtle.pencolor(colorstring) : устанавливает значение colorstring , которое представляет собой строку спецификации цвета Tk , например ‘red’ , ‘yellow’ , или ‘#33cc8c’ .
  • turtle.pencolor((r, g, b)) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode , где turtle.colormode() равен 1.0 или 255 .
  • turtle.pencolor(r, g, b) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode .

Если форма пера является многоугольником ( turtle.circle() ), то контур этого многоугольника рисуется с новым заданным цветом пера.

>>> colormode() # 1.0 >>> turtle.pencolor() # 'red' >>> turtle.pencolor("brown") >>> turtle.pencolor() # 'brown' >>> tup = (0.2, 0.8, 0.55) >>> turtle.pencolor(tup) >>> turtle.pencolor() # (0.2, 0.8, 0.5490196078431373) >>> colormode(255) >>> turtle.pencolor() # (51.0, 204.0, 140.0) >>> turtle.pencolor('#32c18f') >>> turtle.pencolor() # (50.0, 193.0, 143.0) 
turtle.fillcolor(*args) :

Метод turtle.fillcolor() возвращает или устанавливает цвет заливки.

Допускаются четыре формата ввода цвета:

  • turtle.fillcolor() : возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color() / turtle.pencolor() / turtle.fillcolor() .
  • turtle.fillcolor(colorstring) : устанавливает значение colorstring , которое представляет собой строку спецификации цвета Tk , например ‘red’ , ‘yellow’ , или ‘#33cc8c’ .
  • turtle.fillcolor((r, g, b)) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode , где turtle.colormode() равен 1.0 или 255 .
  • turtle.fillcolor(r, g, b) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode .

Если форма пера является многоугольником ( turtle.circle() ), то контур этого многоугольника рисуется с новым заданным цветом заливки..

>>> turtle.fillcolor("violet") >>> turtle.fillcolor() # 'violet' >>> turtle.pencolor() # (50.0, 193.0, 143.0) # целые числа, а не числа с плавающей запятой >>> turtle.fillcolor((50, 193, 143)) >>> turtle.fillcolor() # (50.0, 193.0, 143.0) >>> turtle.fillcolor('#ffffff') >>> turtle.fillcolor() # (255.0, 255.0, 255.0) 
turtle.color(*args) :

Метод turtle.color() возвращает или устанавливает цвет пера и цвет заливки.

Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:

  • turtle.color() : возвращает текущий цвет карандаша и текущий цвет заливки в виде пары строк спецификации цвета или кортежей, возвращаемых turtle.pencolor() и turtle.fillcolor() .
  • color(colorstring), color((r,g,b)), color(r,g,b) : входные данные такие же, как в turtle.pencolor() , устанавливают и цвет заливки, и цвет пера на заданное значение.
  • color(colorstring1, colorstring2) или color((r1,g1,b1), (r2,g2,b2)) : эквивалентно turtle.pencolor(colorstring1) и turtle.fillcolor(colorstring2) и аналогично, если используется другой формат ввода.

Если форма пера представляет собой многоугольник, то контур и внутренняя часть этого многоугольника рисуются новыми установленными цветами.

>>> turtle.color("red", "green") >>> turtle.color() # ('red', 'green') >>> turtle.color("#285078", "#a0c8f0") >>> turtle.color() # ((40.0, 80.0, 120.0), (160.0, 200.0, 240.0)) 

Смотрите так же описание метода turtle.colormode() .

Заливка фигур цветом.

turtle.filling() :

Метод turtle.filling() проверяет статус заливки фигуры цветом ( True , если включено, False в противном случае).

>>> turtle.begin_fill() >>> if turtle.filling(): . turtle.pensize(5) . else: . turtle.pensize(3) 
turtle.begin_fill() :

Метод turtle.begin_fill() вызывается непосредственно перед рисованием фигуры для ее заливки.

turtle.end_fill() :

Метод turtle.end_fill() заполняет фигуру цветом, нарисованную после последнего вызова turtle.begin_fill() .

Заполнены ли области перекрытия для самопересекающихся многоугольников или нескольких фигур, зависит от графики операционной системы, типа перекрытия и количества перекрытий. Например, звезда «Turtle» в разделе «Пример. » может быть либо полностью желтой, либо иметь несколько белых областей.

>>> turtle.color("black", "red") >>> turtle.begin_fill() >>> turtle.circle(80) >>> turtle.end_fill() 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Рисование/передвижение пера по холсту, модуль turtle
  • Поднять/опустить перо при движении в модуле turtle Python
  • Скрыть/показать перо на холсте в модуле turtle Python
  • Толщина пера и его форма, модуль turtle
  • Цвет пера/карандаша и цвет заливки в модуле turtle Python
  • Смена позиции пера на холсте в модуле turtle Python
  • Сведения о позиции пера на холсте в модуле turtle
  • Круг, многоугольник, точка в модуле turtle Python
  • Копия формы пера, модуль turtle Python
  • Очистка рисунка активного пера в модуле turtle Python
  • Функция write() модуля turtle, вывод текста на холсте
  • События мыши для пера в модуле turtle
  • События клавиатуры и мыши для холста в модуле turtle Python
  • Вызвать диалоговое окно в модуле turtle
  • Управление холстом/экраном в модуля turtle
  • Управление анимацией пера в модуля turtle Python
  • Специальные методы пера модуля turtle
  • Настройки и специальные методы холста модуля turtle

Рисование простейших графических фигур прямоугольник и круг в 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()

Как закрасить фигуру в питоне turtle

В материале представлены команды, отвечающие за смену цвета пера/карандаша и цвета заливки фигур при рисовании по холсту в модуле turtle .

Примечание: можно использовать как функции модуля, так и одноименные методы экземпляра пера/холста. например:

Содержание:
  • turtle.pencolor() возвращает или устанавливает цвет пера,
  • turtle.fillcolor() возвращает или устанавливает цвет заливки,
  • turtle.color() возвращает или устанавливает цвет пера и цвет заливки,
  • turtle.filling() проверяет статус заливки фигуры,
  • turtle.begin_fill() вызывается непосредственно перед заливкой,
  • turtle.end_fill() заливает фигуру цветом.
turtle.pencolor(*args) :

Метод turtle.pencolor() возвращает или устанавливает цвет пера.

Допускаются четыре формата ввода цвета:

  • turtle.pencolor() : возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color() / turtle.pencolor() / turtle.fillcolor() .
  • turtle.pencolor(colorstring) : устанавливает значение colorstring , которое представляет собой строку спецификации цвета Tk , например ‘red’ , ‘yellow’ , или ‘#33cc8c’ .
  • turtle.pencolor((r, g, b)) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode , где turtle.colormode() равен 1.0 или 255 .
  • turtle.pencolor(r, g, b) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode .

Если форма пера является многоугольником ( turtle.circle() ), то контур этого многоугольника рисуется с новым заданным цветом пера.

turtle.fillcolor(*args) :

Метод turtle.fillcolor() возвращает или устанавливает цвет заливки.

Допускаются четыре формата ввода цвета:

  • turtle.fillcolor() : возвращает текущий цвет пера как строку спецификации цвета или как кортеж (см. пример). Может использоваться как ввод для другого вызова turtle.color() / turtle.pencolor() / turtle.fillcolor() .
  • turtle.fillcolor(colorstring) : устанавливает значение colorstring , которое представляет собой строку спецификации цвета Tk , например ‘red’ , ‘yellow’ , или ‘#33cc8c’ .
  • turtle.fillcolor((r, g, b)) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode , где turtle.colormode() равен 1.0 или 255 .
  • turtle.fillcolor(r, g, b) : устанавливает цвет RGB, представленный кортежем r , g и b . Каждый из r , g и b должен находиться в диапазоне 0..colormode .

Если форма пера является многоугольником ( turtle.circle() ), то контур этого многоугольника рисуется с новым заданным цветом заливки..

turtle.color(*args) :

Метод turtle.color() возвращает или устанавливает цвет пера и цвет заливки.

Допускается несколько форматов ввода. Они используют от 0 до 3 аргументов следующим образом:

turtle.color() : возвращает текущий цвет карандаша и текущий цвет заливки в виде пары строк спецификации цвета или кортежей, возвращаемых turtle.pencolor() и turtle.fillcolor() .

color(colorstring), color((r,g,b)), color(r,g,b) : входные данные такие же, как в turtle.pencolor() , устанавливают и цвет заливки, и цвет пера на заданное значение.

color(colorstring1, colorstring2) или color((r1,g1,b1), (r2,g2,b2)) : эквивалентно turtle.pencolor(colorstring1) и turtle.fillcolor(colorstring2) и аналогично, если используется другой формат ввода.

Если форма пера представляет собой многоугольник, то контур и внутренняя часть этого многоугольника рисуются новыми установленными цветами.

Смотрите так же описание метода turtle.colormode() .

Заливка фигур цветом.
turtle.filling() :

Метод turtle.filling() проверяет статус заливки фигуры цветом ( True , если включено, False в противном случае).

turtle.begin_fill() :

Метод turtle.begin_fill() вызывается непосредственно перед рисованием фигуры для ее заливки.

turtle.end_fill() :

Метод turtle.end_fill() заполняет фигуру цветом, нарисованную после последнего вызова turtle.begin_fill() .

Заполнены ли области перекрытия для самопересекающихся многоугольников или нескольких фигур, зависит от графики операционной системы, типа перекрытия и количества перекрытий. Например, звезда «Turtle» в разделе «Пример. » может быть либо полностью желтой, либо иметь несколько белых областей.

Окно программы

import turtle – Подключаем библиотеку
turtle.title (“Название окна”)
t=turtle.Turtle () – Создаем переменную t, через которую будет действовать черепашка
turtle.mainloop () — Данная строка вызывает функцию mainloop. Эта функция вызывает бесконечный цикл окна, поэтому окно будет ждать любого взаимодействия с пользователем, пока не будет закрыто.

Команды перемещения черепашки

forward (n) — Проползти вперед n шагов (пикселей).
backward (n) — Проползти назад n шагов (пикселей).
left (angle) — Повернуться налево на а градусов.
right (angle) — Повернуться направо на a градусов.
circle (r) — Нарисовать окружность радиуса |r|, центр которой находится слева от черепашки, если r>0 и справа, если rcircle (r,a) — Нарисовать дугу радиуса r и градусной мерой a. Дуга рисуется против часовой стрелки, если r>0 и по часовой стрелке, если rgoto (x,y) — Переместить черепашку в точку с координатами (x,y).

Команды рисования

down() — Опустить перо. После этой команды черепашка начнет оставлять след при любом своем передвижении.
up() — Поднять перо.
width(n) — Установить ширину следа черепашки в n пикселей.
сolor(s) — Цвет следа черепашки. Например, «red», «yellow», «green» и т.д.
fill() — Используется для рисования закрашенных областей. Начиная рисовать закрашенную область, дайте команду turtle.begin_fill(), а закончив рисование области — turtle.end_fill().

Прочие команды

reset () — Возврат черепашки в исходное состояние: очищается экран, сбрасываются все параметры, черепашка устанавливается в начало координат, глядя вправо.
сlear () — Очистка экрана.
write (s) — Вывести текстовую строку s в точке нахождения черепашки.
radians () — Установить меру измерения углов (во всех командах черепашки) в радианы.
degrees () — Установить меру измерения углов в градусы. Этот режим включен по умолчанию.
tracer (f) — Включить режим отладки (трассировки) программы черепашки, если значение f равно 1. По умолчанию режим отладки включен.

Пример. Два пересекающихся отрезка под прямым углом не параллельно осям координат

  • import turtle — Подключаем библиотеку Turtle
  • t=turtle.Turtle() — Создаем переменную
  • a=200 — Задаем длину линии
  • t.reset() — Сброс параметров, черепашка в центре
  • t.color(1,1,0) — Желтый цвет
  • t.width(5) — Толщина линии 5
  • t.left(9) — Поворот 9 градусов
  • t.forward(a) — Рисуем линию вперед 200
  • t.backward(a/2) — Назад 100
  • t.left(90) — Поворот 90 градусов
  • t.forward(a/2) — Вперед 100
  • t.backward(a) — Назад 200
  • turtle.mainloop() Вызываем бесконечный цикл окна

Упражнения

1. Нарисуйте на экране равносторонний треугольник. Нарисуйте желтый равносторонний треугольник.

2. Нарисуйте на экране 10 равносторонних треугольников в случайной позиции и со случайной стороной.

3. Нарисуйте на экране квадрат и множество из 25 квадратов, стороны которых больше предыдущих.

4. Нарисуйте квадрат, стороны которого не параллельны осям координат c диагоналями.

5. Нарисуйте спиральки (как на картинке).

6. Нарисуйте две касающиеся окружности.

7. Нарисуйте две пересекающиеся окружности.

8. Нарисуйте сами какую-нибудь цветную картинку (дом, дерево, рожицу, компьютер, . ).

Графика turtle черепашка в питон

В этом уроке мы разберём графику в питон Python с помощью модуля Turtle черепашка. Turtle это модуль для Питон, позволяющий создавать графические объекты, риснуки в специальном окне. Модуль Turtle можно использовать для создания игр на Питоне.
Чтобы начать работу с модулем, нужно ввести объект Turtle()
t = Turtle()
Далее нужно ввести окно для графических объектов в Питон, в котором мы будем проводить все действия. Чтобы задать окно нужного размера в модуле turtle используется команда t.screen.setup(x, y) , где x и y – ширина и высота окна в пикселях. В этом уроке мы введём окно размером 800 × 800 пикселей.
t.screen.setup(800, 800)
Чтобы программа с модулем turtle на Python работала корректно, в самом конце программы всегда нужно прописывать две команды.
t.screen.exitonclick()
t.screen.mainloop()
С помощью команды t.screen.exitonclick() программа на Python реагирует на нажатие кнопки мыши после исполнения программы. Если пользователь нажмёт на левую кнопку мыши, пока курсор находится в окне для графики модуля turtle, то окно закроется. t.screen.mainloop() останавливает выполнение программы.
Запустив программу, вы увидите окно для графики с «черепашкой» по центру.

Начало координат в окне для графики модуля turtle находится в центре окна. Положительное направление оси X определяется слева направо, положительное направление оси Y определяется снизу вверх, чем больше X , тем правее черепашка, чем больше Y , тем выше черепашка.
Рисунки на экране появляются с помощью перемещения «черепашки» в окне для графики модуля turtle, черепашка рисует линию
Чтобы черепашка в окне для графики модуля turtle в Питоне двигалась вперёд, используется команда t.fd(x) , где x – количество пикселей, на которое сдвигается черепашка. Для движения назад используется команда t.bk(x) . Для передвижения черепашки в заданую точку использовать координаты t.goto(x, y) , где x и y – координаты точки, в которую должна переместиться черепашка.
Пример программы на python рисование линии с помощью черепашки
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.fd(200)
t.screen.exitonclick()
t.screen.mainloop()

При движении черепашка из модуля turtle в Питоне рисует линию на своей траектории. Чтобы черепашка двигалась без отображения линии, нужно использовать команду t.up() . Чтобы черепашка опять рисовала линию по своей траектории, используйте команду t.down() .
Пример. Черепашка рисует пунктирную линию.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
for i in range(20):
t.fd(8)
t.up()
t.fd(8)
t.down()
t.screen.exitonclick()
t.screen.mainloop()

В модуле turtle в Python черепашка может рисовать не только прямые линии. Черепашку можно поворачивать, используя команды t.left(x) (поворачивает черепашку влево) и t.right(x) (поворот вправо), где x – угол поворота в градусах.
Пример. Черепашка рисует прямоугольник.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def rectangle(w, h):
for i in range(2):
t.left(90)
t.fd(h)
t.left(90)
t.fd(w)
rectangle(320, 200)
t.screen.exitonclick()
t.screen.mainloop()


Для поворота черепашки в Питоне в модуле turtle в определённую сторону используется команда модуля turtle t.setheading(x) , где x – угол поворота в градусах относительно начального положения черепашки при запуске программы. Если вы введёте в эту команду значение параметра 90 , то черепашка повернётся вверх, 180 – повернётся налево, 270 – повернётся вниз, 360 или 0 – повернётся направо.
С помощью черепашки в модуле turtle можно рисовать окружности. Для этого используется команда t.circle(r, ϕ) , где r – радиус круга, ϕ – часть окружности, которую мы рисуем, в градусах. При значении ϕ в 180 градусов черепашка в Питоне нарисует полуокружность, при 360 градусах нарисует полную окружность.
Пример программы на Python в которой с помощью черепашки рисуется квадрат и вписанная в него окружность
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def sq_cr(side):
for i in range(4):
t.left(90)
t.fd(side)
t.bk(side / 2)
t.circle(side / 2, 360)
t.left(180)
t.circle(side / 2, 360)
sq_cr(250)
t.screen.exitonclick()
t.screen.mainloop()

Модуль turtle в Питоне позволяет рисовать точки. Для этого используется команда t.dot(r, color) , где r – радиус точки в пикселях, color – цвет, которым будет рисоваться точка.
Пример. Программа рисует круг с заданным количеством точек на нём. У точек и у круга можно изменять радиус.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
def circ(d, r, rBig):
for i in range(d):
t.circle(rBig, 360 / d)
t.dot(r, «red»)
t.up()
t.goto(350, 0)
t.setheading(90)
t.down()
circ(45, 10, 350)
t.screen.exitonclick()
t.screen.mainloop()

В модуле turtle в Python есть возможность рисовать закрашенные фигуры. Для закрашивания фигуры в модуле turtle используется команда t.begin_fill() . Все нарисованные фигуры будут заливаться цветом черепашки. Если вы хотите поставить другой цвет заливки, но оставить тот же цвет черепашки, пропишите команду t.fillcolor(«цвет») , в кавычках пишется цвет, которым нужно заливать фигуры. Чтобы черепашка перестала заливать фигуры, нужно написать t.end_fill() .
Пример. Программа рисует волны, закрашивается только верхняя часть этих волн.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.up()
t.goto(-450, 0)
t.down()
t.setheading(270)
for i in range(5):
t.circle(50, 180)
t.begin_fill()
t.circle(-50, 180)
t.end_fill()
t.screen.exitonclick()
t.screen.mainloop()

В окне для графики модуля turtle Питон возможно рисовать текст. Для отображения текста в модуле turtle используется команда t.write()
t.write(text, move, align, font = (fontname, fontsize, fontstyle))
В параметр text команды t.write() пишется текст, который будет отображаться в окне для графики turtle Python. Текст пишется в кавычках.
Параметр move принимает только логические значения ( True , False ), этот параметр отвечает за то, появится ли анимация черепашки, после отображения текста. В анимации черепашка подчёркивает написанный текст.
move = True

move = False

align принимает значения «left» , «right» , «center» , этот параметр отвечает за положение текста относительно черепашки. Все значения пишутся в кавычках. Все варианты параметра align показаны на картинках ниже с параметром move = False . Для сравнения посмотрите на положение черепашки относительно текста в каждом варианте.
align = “left”

align = “right”

align = ”center”

Параметр font модуля turtle в Питоне принимает значения fontname , fontsize , fontstyle . В параметре fontname задается название шрифта в кавычках, fontsize отвечает за размер шрифта, fontstyle отвечает за стиль текста. Стиль текста пишется в кавычках. Параметр fontstyle имеет значения «normal» для обычного текста, «bold» полужирного текста, «italic» курсивного текста, «bold italic» полужирного курсивного текста.
В модуле turtle в Питоне можно изменять саму черепашку, её размер и цвет.
Чтобы изменить форму черепашки, используйте команду t.shape(«») , в кавычках указывается форма черепашки в кавычках. В модуле turtle существуют такие формы черепашки, как «arrow» , «circle» , «square» , «triangle» , «turtle» , «classic» . Например, если вы хотите черепашку в форме квадрата, напишите команду t.shape(“square”) .
Размер черепашки можно изменить с помощью команды t.shapesize(n) , где n – размер черепашки.
Если вы хотите, чтобы черепашка не показывалась на экране, используйте команду t.hideturtle() . Чтобы черепашка опять показывалась, используйте команду t.showturtle() .
Черепашка в модуле turtle в Питоне может оставлять след. Для этого используйте t.stamp() . После выполнения этой команды в окне для графики в месте, на котором была черепашка, останется рисунок этой черепашки.
Пример программы на python в которой черепашка оставляет след синего цвета, затем рисует дугу.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.shape(«turtle»)
t.color(«blue»)
t.stamp()
t.color(«black»)
t.up()
t.fd(50)
t.down()
t.circle(200, 70)
t.screen.exitonclick()
t.screen.mainloop()

Ширину линии, рисуемой черепашкой из модуля turtle в Python, можно изменить. Для этого используется команда t.pensize(n) , n – ширина линии. По умолчанию ширина линии равна 1 .
Ниже показано сравнение линий с шириной 1 и шириной 5 .


Если с помощью модуля turtle в Питоне вы создали большой рисунок, то черепашка будет рисовать его слишком долго. Чтобы ускорить черепашку, используйте команду t.speed(n) , n – скорость черепашки. n должно быть целым числом больше или равным нулю. Ноль – самая большая скорость, доступная для использования.
Менять можно не только черепашку из модуля turtle и линию, но и некоторые свойства окна для графики в Python.
Чтобы изменить цвет фона окна для графики, используется команда t.screen.bgcolor(«») , в кавычках пишется цвет заднего фона.

Пример. Задаём оранжевый цвет заднего фона.
from turtle import *
t = Turtle()
t.screen.setup(800, 800)
t.screen.bgcolor(«orange»)
t.screen.exitonclick()
t.screen.mainloop()

Чтобы очистить окно от всего, что было нарисовано черепашкой, используйте команду t.clear() . Команда t.reset() не только очищает экран от рисунков, но и перемещает черепашку в центр.

Вернуться к содержанию Следующая тема Работа с файлами в питон

Похожие публикации:

  1. Как вытащить встроенную микроволновку
  2. Как данные из нескольких столбцов перенести в один в экселе
  3. Как динамически подгонять шрифт css
  4. Как добавить видео на ютуб с айфона

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *