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

Круг, многоугольник, точка в модуле turtle Python

Рисование круга, многоугольника и точки

В материале представлены команды, отвечающие за рисование круга, многоугольника и точки в модуле turtle Python.

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

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

Содержание:


turtle.circle(radius, extent=None, steps=None):

Метод turtle.circle() рисует круг заданного радиуса radius. Центр круга будет слева от пера черепахи на расстоянии радиуса radius.

Аргумент extent - это угол, который определяет, какая часть круга будет нарисована. Если extent не указан, то рисует весь круг. Если extent не является полным кругом (360), то одна конечная точка дуги является текущим положением пера. Если радиус положительный, то рисует дугу против часовой стрелки, в противном случае - по часовой стрелке.

Направление черепахи изменяется на величину extent.

Так как круг аппроксимируется вписанным правильным многоугольником, аргумент steps определяет количество используемых шагов. Если steps не указан, то он будет рассчитан автоматически. Может использоваться для рисования правильных многоугольников.

Аргументы:

  • radius - число (int или float).
  • extent - число (int или float). или None.
  • steps - целое число int или None.

Рисуем круг:

>>> import turtle
>>> pen = turtle.Turtle()
# позиция пера до рисования
>>> pen.position()
# (0.00,0.00)
# направление пера до рисования
>>> pen.heading()
# 0.0

# рисуем круг 
>>> pen.circle(50)
# позиция пера после рисования
>>> pen.position()
# (-0.00,0.00)

# направление пера после рисования
>>> pen.heading()
# 0.0

Рисуем полукруг:

>>> import turtle
>>> pen = turtle.Turtle()
# рисуем полукруг 
>>> pen.circle(120, 180)
# позиция пера после рисования
>>> pen.position()
# (0.00,240.00)

# направление пера после рисования
>>> pen.heading()
# 180.0

Рисуем пятиугольник и шестиугольник:

>>> import turtle
>>> pen = turtle.Turtle()
>>> pen.home()
# рисуем пятиугольник 
>>> pen.circle(150, steps=5)
# рисуем шестиугольник  
>>> pen.circle(200, steps=6)

Рисуем овал:

>>> import turtle
>>> pen = turtle.Turtle()

def talloval(pen, r):
    """Вертикальный овал"""
    pen.left(45)
    for _ in range(2):
        # длинная изогнутая часть
        pen.circle(r,90)
        # короткая изогнутая часть
        pen.circle(r/2,90) 

def flatoval(pen, r):
    """Горизонтальный овал"""
    pen.right(45)
    for _ in range(2):
        pen.circle(r,90)
        pen.circle(r/2,90)

>>> pen.clear()
>>> talloval(pen, 50)
>>> pen.home()
>>> flatoval(pen, 50)

Для рисования овала можно воспользоваться настройкой формы круглого пера turtle.shape("circle") и turtle.shapesize(5,4,1):

>>> import turtle
>>> pen = turtle.Turtle()
>>> pen.shape("circle")
>>> pen.shapesize(5,4,1)
>>> pen.fillcolor("white")

turtle.dot(size=None, *color):

Метод turtle.dot() рисует круглую точку с диаметром size, используя цвет color.

Если размер диаметра size не указан, то используется максимум: pensize + 4 и 2 * pensize.

Аргументы:

  • size - целое число int >= 1.
  • color - строка (например 'blue') или кортеж (73, 15, 128), означающая цвет RGB.
>>> import turtle
>>> turtle.home()
>>> turtle.dot()
>>> turtle.fd(50); turtle.dot(20, "blue"); turtle.fd(50)
>>> turtle.position()
# (100.00,-0.00)
>>> turtle.heading()
# 0.0