Примеры фигур Turtle на Python
Давайте научимся рисовать при помощи Turtle - здесь вы можете потренироваться на интерактивном демо-тренажёре, а также получить кучу примеров простых и сложных фигур.
Основы рисования на Python
Перед началом работы обязательно изучите главу Turtle.
Те же фигуры (квадрат, домик, снежинка) в браузере — p5.js или SVG — рисунки кодом.
Для окон, кнопок и форм (Turtle использует Tkinter как бэкенд) — Tkinter и GUI и галерея окон и виджетов с разбором.
Для веб-интерфейса в браузере — React — компоненты-рецепты, Vue и Svelte — готовые компоненты.
Для мобильного UI на Dart — Flutter и готовые виджеты с разбором.
Для работы с файлами и текстом — Python — работа с файлами и текстом.
Для 2D-игр — Pygame и мини-игры на Pygame с разбором кода.
Для трёхмерной графики — Panda3D и примеры фигур Panda3D.
Для задач ЕГЭ и олимпиад — алгоритмы на Python или шаблоны C++.
Обязательные элементы
Не забудьте, что базовая программа с turtle должна содержать следующий шаблон:
import turtle # импорт модуля
t = turtle.Turtle() # создание черепашки как экземпляра класса
turtle.done() # чтобы окно не закрылось сразу
Стартовые фигуры
Квадрат

Равносторонний треугольник

import turtle
t = turtle.Turtle()
for i in range(3):
t.forward(100)
t.left(120)
turtle.done()
Домик

Простой красный цветок

Цветок из кругов

Простая снежинка

Многослойный цветок

Фрактальное дерево с рекурсией

Сердце

Квадрат из точек

Шахматная сетка из точек

Сетка квадратов

Примеры фигур
1. Базовые многоугольники
1.1. Равносторонний треугольник

1.2. Прямоугольник (включая квадрат как частный случай)

1.3. Правильный n-угольник

Обобщённая функция. Поддерживает вписанные и описанные окружности как опции.
Примечание. При
mode='radius'фигура центрируется относительно начала координат (0, 0), что удобно для композиций.
2. Звёздчатые и составные фигуры
2.1. Звезда с n лучами (школьный вариант: "звезда без самопересечений" — неверно; здесь реализуется классическая звезда Шлефли)

Примеры вызова:
draw_star(5, 100) # Пентаграмма
draw_star(7, 120, 2) # Гептаграмма {7/2}
draw_star(8, 100, 3) # Октаграмма {8/3}
2.2. Снежинка Коха (итеративная реализация для устойчивости при глубине > 5)
См. часть 2 (фракталы). Здесь — заготовка.
3. Цветочные и радиальные узоры
3.1. Простой цветок из окружностей

3.2. Цветок с лепестками-дугами ("роза")

Параметр
60определяет "остроту" лепестка: при<60— заострённые, при>60— раскрытые.
4. 3D-иллюзии (изометрические проекции)
Важно:
turtleне поддерживает 3D-рендеринг. Приводятся алгоритмы изометрической проекции — 2D-отображение 3D-структур.
4.1. Изометрический куб

4.2. Изометрическая пирамида (тетраэдр)

5. Фракталы
5.1. Дерево Пифагора (итеративная реализация через стек)

Рекурсивная версия может вызвать переполнение стека при
depth > 8. Итеративная позволяет контролировать память.
5.2. Снежинка Коха (итеративный генератор строк Л-системы)
6. Параметрические кривые
6.1. Спираль Архимеда

6.2. Полярная роза

- При
kчётном —2kлепестков, при нечётном —k.
7. Динамические композиции и анимации (без time.sleep, через ontimer)
Все примеры в этом разделе используют turtle.ontimer — корректный путь для анимации в Turtle без блокировки интерфейса.
7.1. Анимированная спираль с плавным изменением параметров
Параметр
b_step < 0создаёт "схлопывающуюся" спираль. Приb_step > 0— расширяющуюся до выхода за границы.
7.2. Вращающийся цветок (симуляция вращения через смещение фазы)
8. Сложные фракталы (глубина ≥ 6, оптимизированные)
8.1. Кривая дракона (итеративная, без рекурсии, через битовую последовательность)
Сложность: O(2ⁿ) по времени, O(1) по памяти. Поддерживает
iterations ≤ 16на обычном ПК (приlength = 3).
8.2. Треугольник Серпинского через итеративный метод "хаотических игр"
Требует
import random. Приpoints ≥ 10⁴чётко проявляется структура. Цвет и размер точек параметризуемы.
9. Геометрические узоры (орнаменты, паркеты, замощения)
9.1. Замощение плоскости шестиугольниками ("улей")
9.2. Орнамент "греческий ключ" (меандр), параметризуемый
При
turns = 4получается классический зигзагообразный орнамент. Приturns = 6— шестиугольный меандр.
10. Фигуры с динамической толщиной и цветом (градиенты, имитация тени)
10.1. Дуга с градиентной заливкой (аппроксимация через многоугольник)
Требует
turtle.colormode(255)в основном коде. Используется для визуализации секторов, радарных диаграмм, эффектов свечения.
10.2. Симуляция объёма: круг с радиальным градиентом ("сфера")
Работает медленно при
layers > 80, но визуально убедительно. Можно использоватьscreen.tracer(0)+screen.update()для ускорения.
11. Переиспользуемые базы
11.1. Шаблон для экспериментов: изолированное окно с настройками
Рекомендуется использовать во всех экспериментах. Позволяет избежать побочных эффектов от предыдущих сессий.
11.2. Сброс среды (чистый холст + параметры по умолчанию)
def reset_environment():
turtle.clearscreen()
turtle.colormode(255)
turtle.tracer(0)
turtle.delay(0)