by Tsynikin Sergey (Цыникин Сергей Анатольевич)
Данный проект и используемые алгоритмы разработаны с нуля автором программы. Любые потенциально возможные сходства и совпадения с имеющимися аналогами считать случайными. Основной целью проекта являлись PoC (Proof of Concept) и создание работоспособной программы для создания арт-объектов хорошего качества.
Проект не является завершенным, но предоставляет минимально возможный рабочий прототип программы. В проекте, на данный момент, не производилась оптимизация алгоритмов и программного кода. Проект не претендует на показательную чистоту кода и соблюдения всех принципов разработки ПО.
Данная программа является вспомогательным инструментом для создания арт-объектов (картин), в которых заложен принцип формирования изображения одной непрерывной нитью, которая соединяет фиксированные точки, расположенные по окружности. Программа позволяет переводить фотографии (и иные изображения) в особый формат, говорящий в какой последовательности должны быть соединены точки на окружности. По сути, это своего рода векторный формат графики для "принтера", в роли которого может выступать человек.
Особенностью программы является учет многих параметров, построения изображения не только непрерывной нитью, но нитью соединяющие произвольные точки; а также предварительная фильтрация изображения (для получения более качественного результата) и возможность отображения будущей картины в 3d (можно вывести изображение на большой монитор/проектор, чтобы увидеть будущее изображение в реальную величину и под нужным углом).
Для создания данного демонстрационного арт-объекта был выбран обруч диаметром примерно 41 см, в который было зажато 256 гвоздей. Для большей надежности пространство между гвоздями было залито супер-клеем. Изображение рисовалось одной непрерывной нитью длинной около 2 км, сформировав около 6 тыс. хорд.
Основная документация в разработке…
Проект разработан в среде Embarcadero C++Builder Community Edition, стандарт языка C++'17.