Исследуйте свое творчество, создавая что-то красивое

Алгоритмически определенные изображения прекрасны. Примеров масса, даже созданных без компьютера. Ключевым моментом является то, что у вас есть четкое формальное определение того, как создается образ. Прочитав эту статью, вы будете знать, как создать изображение выше. Давайте начнем!

Рисование линий с подушкой

Библиотека изображений Python (PIL) была первой широко используемой библиотекой Python, которая позволяла создавать изображения. Поскольку он не обновлялся с 2006 года, была создана вилка подушка. Вы можете установить его через

pip install pillow

Рисование линии работает следующим образом:

Вы могли заметить, что линия выглядит некрасиво. Кажется, что в нем есть «ступеньки». Если вы создадите приведенное выше изображение с draw.line , оно будет выглядеть так:

Проблема, которую вы видите, называется алиасинг. По сути, это означает, что не каждая точка линии точно соответствует пикселю. Есть некоторые пиксели, которые содержат, возможно, 10% линии, а 90% пикселя не являются линией. Подход, устраняющий эту проблему, называется сглаживанием. Это исправляет алгоритм линии Сяолинь Ву.

К счастью, пользователь Stackoverflow уже реализовал это за нас (ссылка).

Алгоритм генерации изображения

Идея изображения выше проста:

  1. Начнем с четырех точек прямоугольника
  2. Проводим линию из точки 1 в точку 2
  3. Мы перемещаем точку 1 на заданный процент к точке 2.

Теперь замените 1 на «i» и 2 на «i+1». Вот и все.

Вы можете перемещать точку на линии, независимо интерполируя координаты x и y:

Собираем все вместе

Вы просто хотите попробовать сами? Вот, пожалуйста:

Настройка параметров

Давайте повеселимся с изображениями.

Вы можете манипулировать способом получения цветов: