Исследуйте свое творчество, создавая что-то красивое
Алгоритмически определенные изображения прекрасны. Примеров масса, даже созданных без компьютера. Ключевым моментом является то, что у вас есть четкое формальное определение того, как создается образ. Прочитав эту статью, вы будете знать, как создать изображение выше. Давайте начнем!
Рисование линий с подушкой
Библиотека изображений Python (PIL) была первой широко используемой библиотекой Python, которая позволяла создавать изображения. Поскольку он не обновлялся с 2006 года, была создана вилка подушка. Вы можете установить его через
pip install pillow
Рисование линии работает следующим образом:
Вы могли заметить, что линия выглядит некрасиво. Кажется, что в нем есть «ступеньки». Если вы создадите приведенное выше изображение с draw.line
, оно будет выглядеть так:
Проблема, которую вы видите, называется алиасинг. По сути, это означает, что не каждая точка линии точно соответствует пикселю. Есть некоторые пиксели, которые содержат, возможно, 10% линии, а 90% пикселя не являются линией. Подход, устраняющий эту проблему, называется сглаживанием. Это исправляет алгоритм линии Сяолинь Ву.
К счастью, пользователь Stackoverflow уже реализовал это за нас (ссылка).
Алгоритм генерации изображения
Идея изображения выше проста:
- Начнем с четырех точек прямоугольника
- Проводим линию из точки 1 в точку 2
- Мы перемещаем точку 1 на заданный процент к точке 2.
Теперь замените 1 на «i» и 2 на «i+1». Вот и все.
Вы можете перемещать точку на линии, независимо интерполируя координаты x и y:
Собираем все вместе
Вы просто хотите попробовать сами? Вот, пожалуйста:
Настройка параметров
Давайте повеселимся с изображениями.
Вы можете манипулировать способом получения цветов: