Обработка представляет собой реализацию визуализации множества Мандельброта на чистом языке 1С Предприятие, без использования внешних компонент. Все процедуры и функции выполняются на клиенте. Тестировалось на платформе 8.3.27.1859, но принципиального ограничения нет, кроме платформ серии 8.5, в которых есть баг с системным окном состояния (функция Состояние()), которое после первого показа в следующий раз отображается с высокой долей прозрачности. Конфигурация также не играет роли. Более того, настоятельно рекомендуется выполнять на пустой конфигурации в целях получения максимальной производительности. Изображение генерируется в формате bmp и выводится на форму. Его можно сохранить, как и любое другое изображение, кликнув по нему правой кнопкой мыши. Так же есть подробная справка по функционалу и еще я добавил подсказки для всех настроек на форме.
Реализованные возможности:
- навигация и увеличение;
- классический способ раскрашивания фрактала с помощью градиента (метод Smooth coloring);
- возможность выбора цветов градиента из готовых шаблонов и их редактирование;
- дополнительные настройки градиента и его предварительный просмотр практически в реальном времени;
- различные методики оптимизации расчета множества
- различные алгоритмы постобработки изображения: размытие по Гауссу, бикубическая интерполяция, интерполяция по алгоритму Scale2x.
На Инфостарте уже есть одна реализация визуализации множества Мандельброта. Там вывод изображение сделан на основе табличного документа, у которого раскрашиваются ячейки. Как ни странно, я тоже сначала думал в этом направлении, но потом мне на глаза попалась статья товарища yku (//infostart.ru/1c/articles/1061803/), за что ему огромная благодарность. Без этой статьи по получению bmp файла, я бы сам кучу времени потратил на ковыряние формата.
Какой-то практической пользы обработка не несет, но можно иногда немного отвлечься от привычных задач и сделать что-то такое, чисто для души. Может кому-то будет интересно заглянуть под капот и посмотреть, как и что работает. В коде добавлены обширные комментарии с описанием работы алгоритмов. На скриншотах я добавил несколько примеров, какого рода изображения можно получать с помощью обработки.
Вступайте в нашу телеграмм-группу Инфостарт