Сообщить об ошибке.

Команды передвижения/рисования пером по холсту

В материале представлены команды, отвечающие за рисование, передвижение, изменение направления, а так же настройка измерения величины угла поворота (градусы/радианы) в модуле turtle.

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

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

Содержание:


Движение пера/карандаша.

turtle.forward(distance),
turtle.fd(distance):

Методы turtle.forward и turtle.fd() передвигают перо черепахи вперед на указанное расстояние distance и в том направлении, в котором она движется.

Аргумент distance принимает число int или float.

>>> turtle.position()
# (0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
# (25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
# (-50.00,0.00)

turtle.back(distance),
turtle.bk(distance):

Методы turtle.back(distance) и turtle.backward() передвигают перо черепахи назад на расстояние distance, в противоположном направлении, в котором она движется. Этот метод не меняет угол/направление черепахи.

Аргумент distance принимает число int или float.

>>> turtle.position()
# (0.00,0.00)
>>> turtle.backward(30)
>>> turtle.position()
# (-30.00,0.00)

Скорость перемещения пера/карандаша по холсту.

turtle.speed(speed=None):

Метод turtle.speed() задает скорость перемещения пера черепахи по холсту целым числом в диапазоне 0 - 10 или строкой, означающей скорость.

Если аргумент не указан, то возвращает текущую скорость.

Если число speed больше 10 или меньше 0,5, то скорость устанавливается равной 0. Строки скорости сопоставляются со значениями скорости следующим образом:

  • 'fastest': 0
  • 'fast': 10
  • 'normal': 6
  • 'slow': 3
  • 'slowest': 1
>>> turtle.speed()
# 3
>>> turtle.speed('normal')
>>> turtle.speed()
# 6
>>> turtle.speed(9)
>>> turtle.speed()
# 9

Поворот пера/карандаша.

turtle.right(angle),
turtle.rt(angle):

Методы turtle.right() и turtle.rt() поворачивают черепаху вправо на единицу измерения угла angle.

Единицы измерения угла по умолчанию - градусы, но их можно задать с помощью функций turtle.degrees() и turtle.radians(). Ориентация угла зависит от режима turtle.mode() пера черепахи.

Аргумент angle принимает число int или float.

>>> turtle.heading()
# 22.0
>>> turtle.right(45)
>>> turtle.heading()
# 337.0

turtle.left(angle),
turtle.lt(angle):

Методы turtle.left() и turtle.lt() поворачивают черепаху влево на единицу измерения угла angle.

Аргумент angle принимает число int или float.

>>> turtle.heading()
# 22.0
>>> turtle.left(45)
>>> turtle.heading()
# 67.0

Настройка измерения угла поворота пера.

turtle.degrees(fullcircle=360.0):

Метод turtle.degrees() устанавливает единицы измерения угла, т. е. задает количество градусов для полного круга. Значение по умолчанию это 360 градусов.

Аргумент fullcircle - целое число int.

>>> turtle.home()
>>> turtle.left(90)
>>> turtle.heading()
# 90.0

Пример изменения единицы измерения угла в градиан (который равен 1/100-й части прямого угла).

>>> turtle.degrees(400.0)
>>> turtle.heading()
# 100.0
>>> turtle.degrees(360)
>>> turtle.heading()
# 90.0

turtle.radians():

Метод turtle.radians() устанавливает единицы измерения угла в радианы. Эквивалентно градусам как 2 * math.pi.

>>> turtle.home()
>>> turtle.left(90)
>>> turtle.heading()
# 90.0
>>> turtle.radians()
>>> turtle.heading()
# 1.5707963267948966

Ориентация пера на холсте.

turtle.setheading(to_angle),
turtle.seth(to_angle):

Методы turtle.setheading() и turtle.seth() устанавливает направление движения (ориентацию) пера черепахи в значение to_angle.

Аргумент to_angle - число (int или float).

Вот некоторые общие направления в градусах:

standard modelogo mode
0 - east0 - north
90 - north90 - east
180 - west180 - south
270 - south270 - west
>>> turtle.setheading(90)
>>> turtle.heading()
# 90.0

turtle.home():

Метод turtle.home() перемещает черепаху в начало координат (координаты (0,0)) и устанавливает его заголовок в начальную ориентацию, которая зависит от turtle.mode().

>>> turtle.heading()
# 90.0
>>> turtle.position()
# (0.00,-10.00)
>>> turtle.home()
>>> turtle.position()
# (0.00,0.00)
>>> turtle.heading()
# 0.0

Отмена действий.

turtle.undo():

Метод turtle.undo() отменяет (можно повторять многократно) последнее действие(я) черепахи.

Количество доступных действий отмены определяется размером буфера отмены.

>>> for i in range(4):
...     turtle.fd(50); 
...     turtle.lt(80)
...
>>> for i in range(8):
...     turtle.undo()