Реализуйте программу, выводящую на экран изображение фрактала. Предусмотрите раскраску фрактала. Раскраска должна быть не однотонная, а например, в виде градиента в зависимости от уровня фрактала. Правила раскраски выберите самостоятельно.
Фрактал выберите самостоятельно. Например:
- Дерево Пифагора (Обнаженное обдуваемое ветром дерево Пифагора)
- Треугольник Серпинского
- Фрактальные растения (не дерево пифагора!)
- Множество Мандельброта
- Множество Жюлиа
- и другие
В качестве реализации можно использовать два подхода:
- рекурсия
- L-системы
- другие методы при необходимости (для множеств Мандельброта и Жюлиа)
В качестве визуализации можно использовать модуль turtle
стандартной библиотеки Python. Не забудьте отключить отображение
черепахи и анимацию её передвижения.
Для множеств Мандельброта и Жюлиа можно использовать другие библиотеки
(Pillow
, Pygame
и другие).
Для реализации фракталов в 3D можно использовать Pygame
.
Входными данные могут зависеть от выбранного фрактала. Например, входными данными могут быть количество выполняемых шагов или размер получаемого изображения.
Оценка выставляется в соответствии со следующими требованиями:
- Общие требования:
- код работы проходит проверку утилитой
pylint
с конфигурационным файлом.pylintrc
. - наличие документации к модулям, функциям, классам и методам.
- наличие аннотации типов.
- код работы проходит проверку утилитой