Вы находитесь на странице: 1из 14

Урок № 2

Черепашья
графика в Python.
Простые фигуры

СОДЕРЖАНИЕ
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Первая программа. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Рисуем прямоугольник. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Рисуем круг . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Черепашья графика в Python. Простые фигуры

Введение
В языке Python есть классная возможность рисо-
вания с помощью черепашки.
Вы сами сможете писать команды и указывать, куда
ей двигаться: вперед, назад, влево, вправо. По умолча-
нию, она представлена объектом, по виду напоминаю-
щим стрелочку . Этот объект можно превратить в че-
репашку всего лишь с помощью одной строчки кода,
и сейчас мы разберем, как это сделать.
Приступим!

Первая программа
Каждая геометрическая фигура, например, квадрат,
треугольник, круг, прямоугольник или многоугольник,
может состоять из точек, линий и кривых. В этом уро-
ке мы научимся рисовать все эти элементы с помощью
объекта из библиотеки turtle. Ознакомиться с этим мо-
дулем можно в документации по ссылке.
Для языка Python есть огромное количество откры-
тых библиотек и запомнить, для чего предназначена
каждая из них, невозможно, поэтому не забывайте об-
ращаться к официальной документации. Есть наиболее
часто используемые модули и с ними мы еще будем ра-
ботать. На данный момент нас интересует turtle.

3
Урок № 2

Для начала создадим новое окно и отобразим в нем


черепашку (рис. 1):
import turtle

window = turtle.Screen()
turtle.Pen()
turtle.shape("turtle")
window.exitonclick()

Рисунок 1

В коде мы импортировали import turtle, чтобы в


дальнейшем у нас была возможность работать с этим мо-
дулем. Затем создали новое окно turtle.Screen(), что-
бы в нем отображались все проделанные нами действия.
В окне отобразим указатель turtle.Pen() и зададим
стиль turtle.shape("turtle"). Внешний вид вы мо-
жете выбрать на свое усмотрение, всего лишь изменив
4
Черепашья графика в Python. Простые фигуры

значение "turtle" на одно из предложенных: "arrow",


"circle", "square", "triangle", "classic". Попро-
буйте изменить стиль и выберите тот, который понра-
вится вам больше всего.
Также мы добавили строку window.exitonclick(),
чтобы новое окно закрывалось после того, как мы клик-
нем по нему левой кнопкой мыши.

Рисуем прямоугольник
Наша черепашка может двигаться и создавать
разные фигуры!
Процесс рисования происходит очень просто: объ-
ект двигается и оставляет за собой след. Условно пред-
ставим, что черепаха находится в точке 0 – это пересече-
ние осей x и y, от нее мы и будем отталкиваться (рис. 2).

Рисунок 2

5
Урок № 2

Научим нашу черепашку рисовать прямоугольник


(см. рис. 3 на стр. 6):
import turtle

window = turtle.Screen()
turtle.reset()

turtle.shape("turtle")
turtle.bgcolor("red")
turtle.color("white")

turtle.speed(2)
turtle.pensize(3)

turtle.forward(150)
turtle.left(90)
turtle.forward(75)
turtle.left(90)
turtle.forward(150)
turtle.left(90)
turtle.forward(75)

window.exitonclick()

6
Черепашья графика в Python. Простые фигуры

Рисунок 3

Разберемся, что же делает наш код.


Первое, что мы сделали – очистили холст перед ри-
сованием turtle.reset(). Также здесь мы добавили
цвет фона turtle.bgcolor("red") и задали цвет ли-
ний turtle.color("white").
Чтобы установить скорость движения черепахи, на-
писали функцию turtle.speed(2). Чем меньше будет
число в скобках, тем медленнее будет двигаться объект.
Попробуйте изменить это значение на 0, 5, 10 и посмо-
трите на результат.
Чтобы линия была не слишком тонкая, мы задали ей
размер (толщину), равную трем –  turtle.pensize(3).
Этот параметр объекта также можете изменять.

7
Урок № 2

Итак, прямоугольник  –  это фигура, у которой


две стороны попарно равны, т. е. отрезок AB = CD и
BC = DA, а также все углы прямые (рис. 4).

Рисунок 4

Расстояние, на которое перемещается черепашка,


измеряется в пикселях, то есть turtle.forward(75) го-
ворит о том, что она сместится на 75 пикселей вперед.
Пиксель – это наименьшая составляющая изображе-
ния. Все, что мы видим на мониторе состоит из мель-
чайших пикселей, которые в совокупности дают кар-
тинку (рис. 5).

Рисунок 5

8
Черепашья графика в Python. Простые фигуры

Движение черепашки задается с помощью функ-


ций turtle.forward() – движение вперед и turtle.
back() – движение назад, где в скобках, как уже говори-
лось, указываем расстояние в пикселях.
Черепашка нарисовала прямую линию, но теперь ей
нужно развернуться. Мы используем функцию turtle.
left() или turtle.right(), чтобы указать направле-
ние разворота (влево или вправо). В скобках указываем
на сколько градусов должен произойти разворот. Гра-
дусы  –  это мера угла и может быть значением от 0°
до 360°. Принято называть угол, равный 90° – прямым,
180° – развернутый, 360° – полный разворот (рис. 6).

Рисунок 6

9
Урок № 2

Давайте попробуем развернуть черепаху вправо,


просто изменив в коде все строки с turtle.left(90)
на turtle.right(90).
Вот вы и научились рисовать простейшую фигуру с
помощью языка Python и библиотеки turtle.

Рисуем круг
На Python, с помощью черепашки, можно очень
просто нарисовать круг (см. рис. 7 на стр. 11). Для этого
достаточно одной лишь функции turtle.circle().
Сделаем это с помощью такого кода:
import turtle

window = turtle.Screen()
turtle.reset()

turtle.shape("turtle")
turtle.bgcolor("white")
turtle.color("red")

turtle.speed(2)
turtle.pensize(3)

turtle.circle(80)
turtle.penup()
turtle.forward(80)
turtle.pendown()

10
Черепашья графика в Python. Простые фигуры

turtle.circle(80)
turtle.penup()
turtle.forward(80)
turtle.pendown()
turtle.circle(80)

window.exitonclick()

Рисунок 7

Здесь мы используем функцию turtle.circle(80),


где 80 – это радиус окружности (R), т. е. отрезок, соеди-
няющий середину окружности (O) и любую точку, кото-
рая лежит на окружности (см. рис. 8 на стр. 12).

11
Урок № 2

Рисунок 8

Мы использовали turtle.penup() и turtle.


pendown(). Давайте рассмотрим, как это работает.
Наша черепаха  –  это перо, поэтому как только мы
поднимем перо, следа больше не будет. Таким обра-
зом мы можем перемещать черепаху в любое место, не
оставляя при этом следа.
Закомментируйте в коде строки, содержащие ко-
манды #turtle.penup() и #turtle.pendown() и за-
пустите код.

12
Урок № 2
Черепашья графика в Python.
Простые фигуры

© Компьютерная Академия ШАГ


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопроизведения,


фрагменты которых использованы в материале, принадлежат их законным владель-
цам. Фрагменты произведений используются в иллюстративных целях в объёме,
оправданном поставленной задачей, в рамках учебного процесса и в учебных целях,
в соответствии со ст. 1274 ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське
право і суміжні права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию объектов
авторского права и не ущемляет законные интересы автора и правообладателей.
Цитируемые фрагменты произведений на момент использования не могут быть
заменены альтернативными, не охраняемыми авторским правом аналогами, и
как таковые соответствуют критериям добросовестного использования и честного
использования.
Все права защищены. Полное или частичное копирование материалов запрещено.
Согласование использования произведений или их фрагментов производится
с авторами и правообладателями. Согласованное использование материалов
возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое исполь-
зование материалов определяется действующим законодательством Украины.

Вам также может понравиться