В Python есть готовый модуль для работы с графикой — Turtle (графические примитивы).
Любой рисунок — это комбинация геометрических фигур: отрезков, углов, окружностей и др.
В уроке вы узнаете:
Для работы с графикой нужно уметь:
Все данные в памяти компьютера хранятся в виде единиц и нулей — «есть сигнал» и «нет сигнала».
Пиксель — это минимальная (неделимая) часть графического изображения
Растр — это набор пикселей.
Растровое изображение — совокупность точек (пикселей), используемых для отображения картинки на экране компьютера.
Модуль turtle работает с растровой графикой.
Современные мониторы — цветные.
Цвет одного пикселя кодируется набором нулей и единиц.
|
Цвет |
Название |
|---|---|
|
Красный |
|
|
Зелёный |
|
|
Синий |
|
|
Жёлтый |
|
|
Чёрный |
|
|
Розовый |
|
|
Небесно-голубой |
|
|
Оранжевый |
|
|
Ярко-зелёный |
|
|
Фиолетовый |
|
Графические объекты модуля turtle отрисовываются в отдельной части окна специальным исполнителем команд — черепашкой (англ. turtle — «черепаха»).
Подключение команд модуля turtle:
from turtle import *
|
Команда |
Значение |
|
|
Переместить черепашку вперёд на указанное число пикселей |
|
|
Повернуть черепашку влево на указанный угол в градусах |
|
|
Повернуть черепашку вправо на указанный угол в градусах |
|
|
Установить исполнителю новый цвет с указанным названием |
|
|
Оставить изображение на экране после исполнения программы |
|
|
Изменить размер пера, которым рисует исполнитель (изначально — 1) |
|
|
Нарисовать круг с заданным радиусом в пикселях |
|
|
Начать заливку фигуры (следом идёт команда рисования фигуры) |
|
|
Завершить заливку фигуры |
|
|
Поднять перо исполнителя (полезно при рисовании нескольких фигур) |
|
|
Опустить перо исполнителя |
|
|
Переместить исполнителя в точку с указанными координатами |
Задача. Заказчик предпочитает минимализм и хочет купить плитку с рисунком квадрата. Напишите программу, отрисовывающую чёрный квадрат без заливки со стороной 150 пикселей.
from turtle import *
forward(150)
left(90)
forward(150)
left(90)
forward(150)
left(90)
forward(150)
exitonclick()
Результат работы:
Перед тем как продолжить:
Как нарисовать треугольник? Какие команды нужно использовать?
Задача. Заказчик хочет плитку с треугольниками. Он ещё не определился с цветом, поэтому нужно запрограммировать оба: красный и голубой. Длина стороны треугольника — 110 пикселей.
from turtle import *
color('red')
forward(110)
left(120)
forward(110)
left(120)
forward(110)
left(120)
color('blue')
forward(110)
left(120)
forward(110)
left(120)
forward(110)
exitonclick()
Результат работы в процессе рисования:
Перед тем, как продолжить:
Положение черепашки на плоскости определяется двумя числами — координатами.
При запуске программы черепашка появляется в начальной точке (0, 0).
Чтобы переместить исполнителя, нужно задать ему новые координаты и использовать функцию:
goto('координата Х', 'координата Y')
Какие расположить круги в разных местах?
Задача. Запрограммировать узор для обоев из трёх кругов.
Параметры кругов:
from turtle import *
#желтый круг
penup()
goto(-150, 130)
pendown()
color('yellow')
begin_fill()
circle(30)
end_fill()
#зелёный круг
penup()
goto(0, -100)
pendown()
color('green')
begin_fill()
circle(40)
end_fill()
#красный круг
penup()
goto(130, 110)
pendown()
color('red')
begin_fill()
circle(50)
end_fill()
exitonclick()
Результат работы:
Перед тем, как продолжить: