Глава 7 · Глубокое погружение в Turtle

Дуги

circle() умеет рисовать не только полные окружности, но и их части — дуги заданного размера.

Дуга — это часть окружности. У circle() есть второй, необязательный аргумент extent — сколько градусов окружности нужно нарисовать.

От четверти до полного круга

dugi_podpisannye.py
import turtle

screen = turtle.Screen()
screen.setup(width=460, height=460)
artist = turtle.Turtle()
artist.speed(0)
artist.hideturtle()

arcs = [(60, "#5B24F9"), (90, "#DB2777"), (180, "#059669"), (270, "#D97706"), (360, "#0D0230")]
for extent, color in arcs:
    artist.penup()
    artist.goto(0, 0)
    artist.setheading(0)
    artist.pendown()
    artist.pencolor(color)
    artist.pensize(3)
    artist.circle(90, extent)
    artist.penup()
    artist.write(f"  {extent}°", font=("Arial", 11, "bold"))

screen.exitonclick()
Результат выполнения
Пять цветных дуг разной длины, выходящих из одной точки, каждая подписана своим значением extent в градусах
Пять дуг одного радиуса, но разного extent — от 60° до полной окружности 360°
dugi_kod.py
arcs = [(60, "#5B24F9"), (90, "#DB2777"), (180, "#059669"), (270, "#D97706"), (360, "#0D0230")]
for extent, color in arcs:
    artist.pencolor(color)
    artist.circle(90, extent)
extentЧто рисуется
90°четверть окружности
180°половина окружности (полукруг)
270°три четверти окружности
360° (или не указан)полная окружность
Полукруг + прямая = купол
Комбинируя дугу с обычной линией, легко получить составные фигуры — например, полукруглый купол домика или арку. Мы используем именно такую дугу в мини-проекте «смайлик» в конце главы — улыбка окажется дугой в 120°.
Практика: дуги разного размера
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →