Рекурсия · 13 из 19
Фрактальное дерево
Дерево похоже на свою ветку, ветка — на свой сучок. Художник по заставкам рисует его так: ствол, на конце ствола — два дерева поменьше, наклонённые влево и вправо, на конце каждой ветки — ещё по два, и так до мелких веточек. Главное — после каждой ветки вернуться туда, откуда она росла, иначе следующая вырастет из воздуха.
Что сделать
Нарисуйте дерево: ствол, на его конце два дерева поменьше — налево и направо на ugol, — и вернитесь к основанию ствола.
Что приходит
t— черепашкаdlina— длина стволаglubina— сколько уровней веток: 0 — ничего не рисоватьugol— на сколько градусов ветки отклоняются от ствола
Что вернуть
Ничего — функция рисует. В конце черепашка там же, где начала, и смотрит туда же.
Допишите функцию derevo в редакторе справа.
Рисуйте черепашкой t, как turtle дома, — проверка
сравнивает нарисованное; возвращать ничего не нужно.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
Глубина 2, ствол 100, угол 30: ствол 100, на его конце две ветки по 70 — налево и направо на 30°; черепашка возвращается к основанию ствола.
Дерево глубины 0 — ничего.
Дерево глубины g со стволом L:
- вперёд на L;
- налево на ugol, дерево глубины g − 1 со стволом L · 0,7;
- направо на 2 · ugol, ещё одно такое же дерево;
- налево на ugol — черепашка снова смотрит вдоль ствола;
- назад на L — к основанию.
Каждое дерево обязано вернуть черепашку туда же и так же повёрнутой, где и как его начали: на этом держится всё.
Образцовый тест целиком
from cherepashka import risunok as _risunok_p
_risunok_p(derevo, 100, 2, 30)
<рисунок: 3 линии, 1 цвет; от (0, -35) до (160.62, 35); отпечаток 5e0b6a2239>
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.