Глава 12 · Множество увлекательных мини-проектов!
Проект: спирали!
Один и тот же принцип — пять разных узоров, в зависимости от угла поворота.
Используем
Turtleforrandom (одна из версий)Уровень
★★★ интеграционный
Результат
графика Turtle · генеративное искусство
Что создаём
Пять вариаций одной идеи — фигура, каждый шаг которой немного больше предыдущего. Один принцип из главы 10 («шаг + поворот + увеличение переменной»), пять углов поворота.
Квадратная спираль
kvadratnaya_spiral.py
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=480)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(2)
dlina = 5
for _ in range(60):
artist.forward(dlina)
artist.right(90)
dlina += 3
screen.exitonclick()
Результат выполнения
Случайная спираль
sluchaynaya_spiral.py
import turtle
import random
random.seed(4)
screen = turtle.Screen()
screen.setup(width=480, height=480)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#DB2777")
artist.pensize(2)
dlina = 5
for _ in range(60):
artist.forward(dlina)
artist.right(random.randint(80, 100))
dlina += 3
screen.exitonclick()
Результат выполнения
Треугольная спираль
treugolnaya_spiral.py
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=480)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#059669")
artist.pensize(2)
dlina = 5
for _ in range(60):
artist.forward(dlina)
artist.right(120)
dlina += 3
screen.exitonclick()
Результат выполнения
Звёздная спираль
zvezdnaya_spiral.py
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=480)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#5B24F9")
artist.pensize(2)
dlina = 5
for _ in range(100):
artist.forward(dlina)
artist.right(144)
dlina += 2
screen.exitonclick()
Результат выполнения
Круговая спираль
krugovaya_spiral.py
import turtle
screen = turtle.Screen()
screen.setup(width=480, height=480)
artist = turtle.Turtle()
artist.speed(0)
artist.pencolor("#DB2777")
artist.pensize(2)
radius = 5
for _ in range(60):
artist.circle(radius, 90)
radius += 3
screen.exitonclick()
Результат выполнения
Один общий принцип
Все пять спиралей — одна и та же идея из главы 10 («шаг + поворот + увеличение переменной») с разным углом поворота. Освоив один вариант, вы фактически освоили все пять.
Практика: спирали
Модуль turtle открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально