Живопись миллионами цветов


На недавнем конкурсе разработчикам предлагалось разработать программу для создания изображения, содержащего все цвета RGB, ровно один раз. Он дал ошеломляющие результаты, и победителем по результатам всенародного голосования стал Йожеф Фейес с его изображением Rainbow Smoke.

Задача, поставленная на сайте StackExchange Programming Puzzles & Code Golf, кажется простой, пока вы не начнете думать об ограничениях:

Создавайте изображение чисто алгоритмически

Изображение должно быть 256 × 128 (или сетка, которую можно сделать снимком экрана и сохранить с разрешением 256 × 128).

Используйте все 15-битные цвета, то есть 32768 цветов, которые можно получить, смешав 32 красных, 32 зеленых и 32 синих.

Другими условиями не было встроенных изображений или внешнего ввода, веб-запросов, URL-адресов или баз данных.

Конкурс длился 7 дней и собрал заявки на нескольких языках, включая Processing, Java, Python и C ++. Вы можете просмотреть код, а также изображения, созданные на сайте Programming Puzzles & Code Golf.

Участников попросили проголосовать за:

самые красивые изображения, сделанные самым элегантным кодом и / или интересным алгоритмом.

Победителем с 144 голосами стал венгерский программист Йожеф Фейес, использующий C #. Его вступительное объяснение гласит:

Я помещаю случайный пиксель в середину, а затем начинаю размещать случайные пиксели в районе, который больше всего на них похож. Поддерживаются два режима: при минимальном выборе одновременно учитывается только один соседний пиксель; при выборе среднего значения все (1..8) усредняются. Минимальное выделение несколько шумно, среднее выделение, конечно, более размыто, но на самом деле оба выглядят как картины.

Но это было только начало. Фейес обнаружил, что не может «прекратить играть», и продолжил использовать высокое разрешение, передавая 24-битный цвет и отображая на изображении 16 777 216 пикселей.

(щелкните, чтобы просмотреть версию в более высоком разрешении)

(щелкните, чтобы просмотреть версию в более высоком разрешении)

В своем блоге Феджес описывает свой прогресс от 15-битных изображений через 18-битные и 21-битные к 24-битным. Более того. он выпустил свой исходный код под GPL и выпустил видео на YouTube, которое стало вирусным:

Фейес объясняет:

Естественно, сжатие видео исключает возможность получения всех цветов ровно один раз. Это видео было создано, чтобы просто эффектно выглядеть, чтобы показать, как создаются изображения. В районе 2:35 есть несколько плохих артефактов видео. Извините, пожалуйста, не смотрите слишком внимательно и обвиняйте в этом YouTube.

Он добавляет:

Это песня Pachabelly Хумы Хума из аудиотеки YouTube.

Вы также можете купить принты двух версий Rainbow Smoke.


Categories: Art

Добавить комментарий