В материале представлены команды, отвечающие за рисование круга, многоугольника и точки в модуле turtle
Python.
Примечание: можно использовать как функции модуля, так и одноименные методы экземпляра пера/холста. например:
>>> import turtle # функция модуля >>> turtle.circle(100) # создание экземпляра пера >>> pen = turtle.Turtle() >>> pen.circle(100)
turtle.circle()
рисует круг/овал/многоугольник,turtle.dot()
рисует круглую точку,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