Глава 7 · Глубокое погружение в Turtle
circle(steps=...) — от круга к многоугольнику
Секрет circle(): под капотом это всегда многоугольник — просто иногда с очень большим числом сторон.
Вот секрет, который многое объясняет: circle() на самом деле
не умеет рисовать идеальную окружность — она приближает её правильным
многоугольником со множеством маленьких сторон. Третий аргумент,
steps, позволяет управлять числом этих сторон явно.
От треугольника до шестиугольника — тот же радиус
steps_3.py
import turtle
screen = turtle.Screen()
screen.setup(width=320, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.circle(80, steps=3)
screen.exitonclick()
Результат выполнения
steps_4.py
import turtle
screen = turtle.Screen()
screen.setup(width=320, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.circle(80, steps=4)
screen.exitonclick()
Результат выполнения
steps_6.py
import turtle
screen = turtle.Screen()
screen.setup(width=320, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.circle(80, steps=6)
screen.exitonclick()
Результат выполнения
circle_steps_kod.py
artist.circle(80, steps=3) # треугольник
artist.circle(80, steps=4) # квадрат
artist.circle(80, steps=6) # шестиугольник
Мост к формуле 360/n из главы 6
Это та же самая идея правильного многоугольника, что мы строили вручную в главе 6 через
forward()/right(360 / n). circle(radius, steps=n) — просто более короткий способ получить тот же результат, если известен нужный радиус описанной окружности.А если steps не указан?
Если
steps не задан, Turtle сам подбирает достаточно большое число сторон, чтобы многоугольник выглядел гладкой окружностью — обычно несколько десятков. Мы просто не замечаем, что это тоже многоугольник.Практика: circle(steps=...) как многоугольник
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика: предскажите многоугольник по steps (без Turtle)
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки