Войти Создать аккаунт

Рекурсия · 16 из 20

Кривая Гильберта

Давид Гильберт в 1891 году придумал линию, которая проходит через каждую клетку квадрата ровно по разу и ни разу себя не пересекает. Устроена она как матрёшка: кривая уровня n — это четыре кривые уровня n − 1 в четырёх четвертях квадрата, нижние две повёрнуты, и между ними — три коротких перехода. Ею до сих пор раскладывают картинки в памяти: соседние точки на кривой — соседние и на плоскости.

Что сделать

Нарисуйте черепашкой кривую Гильберта заданного уровня: четыре кривые уровнем ниже и три перехода между ними.

Что приходит

  • t — черепашка: стоит в начале, смотрит на восток, перо опущено

  • uroven — уровень кривой, от 0

  • shag — длина одного перехода

Что вернуть

Ничего — функция рисует. Проверка сравнивает нарисованное с рисунком эталона.

Допишите функцию gilbert в редакторе справа. Рисуйте черепашкой t, как turtle дома, — проверка сравнивает нарисованное; возвращать ничего не нужно.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

Уровень 1 с шагом 20 — буква «П» вверх ногами: направо на 90°, вперёд, налево на 90°, вперёд, налево на 90°, вперёд, направо на 90°. Черепашка спускается на 20, идёт на 20 вправо и поднимается обратно. Уровень 2 — четыре такие «П», соединённые тремя переходами.

Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.