Научная статья на тему 'ТЕХНОЛОГИЯ СОЗДАНИЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ ИЗ ПОВТОРЯЮЩИХСЯ РИСУНКОВ'

ТЕХНОЛОГИЯ СОЗДАНИЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ ИЗ ПОВТОРЯЮЩИХСЯ РИСУНКОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
105
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФОНОВОЕ ИЗОБРАЖЕНИЕ / АФФИННЫЕ ПРЕОБРАЗОВАНИЯ / ОГРАНИЧИВАЮЩИЙ ПОЛИГОН / СУММА МИНКОВСКОГО / МЕТОД ХУКА - ДЖИВСА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кущий Дарья Николаевна, Чеха Аркадий Максимович

Представлен разбор принципов работы и описан процесс разработки дополнения (plug-in) для графического редактора растровых изображений с открытым исходным кодом GNU Image Manipulation Program (GIMP), позволяющего создавать фоновые изображения, используя ограниченный набор рисунков. Алгоритм базируется на применении случайным образом к каждому рисунку аффинных преобразований - операций поворота и отражения по горизонтали. Размещение каждой копии рисунка выбирается так, чтобы она не находилась слишком близко к другим копиям того же рисунка. Приводятся результаты генерации фоновых изображений и данные о производительности выполненных вычислений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кущий Дарья Николаевна, Чеха Аркадий Максимович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

TECHNOLOGY OF CREATING BACKGROUND IMAGES FROM REPEATED PATTERNS

He article presents an analysis of the principles of work and describes the process of developing a plugin (plug-in) for the GNU Image Manipulation Program (GIMP) open source graphic editor of raster images, which allows you to create background images using a limited set of images. The algorithm is based on randomly applying affine transformations to each picture - operations of rotation and reflection horizontally. The placement of each copy of the pattern is chosen so that it is not too close to other copies of the same pattern. The results of generating background images and data on the performance of the performed calculations are given.

Текст научной работы на тему «ТЕХНОЛОГИЯ СОЗДАНИЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ ИЗ ПОВТОРЯЮЩИХСЯ РИСУНКОВ»

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2023. No 1

Научная статья УДК 004.92

doi: 10.17213/1560-3644-2023-1-30-35

ТЕХНОЛОГИЯ СОЗДАНИЯ ФОНОВЫХ ИЗОБРАЖЕНИЙ ИЗ ПОВТОРЯЮЩИХСЯ РИСУНКОВ

Д.Н. Кущий, A.M. Чеха

Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова, г. Новочеркасск, Россия

Аннотация. Представлен разбор принципов работы и описан процесс разработки дополнения (plug-in) для графического редактора растровых изображений с открытым исходным кодом GNU Image Manipulation Program (GIMP), позволяющего создавать фоновые изображения, используя ограниченный набор рисунков. Алгоритм базируется на применении случайным образом к каждому рисунку аффинных преобразований - операций поворота и отражения по горизонтали. Размещение каждой копии рисунка выбирается так, чтобы она не находилась слишком близко к другим копиям того же рисунка. Приводятся результаты генерации фоновых изображений и данные о производительности выполненных вычислений.

Ключевые слова: фоновое изображение, аффинные преобразования, ограничивающий полигон, сумма Минков-ского, метод Хука -Дживса

Для цитирования: Кущий Д.Н., Чеха A.M. Технология создания фоновых изображений из повторяющихся рисунков // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2023. № 1. С. 30-35. http://dx.doi.org/10.17213/1560-3644-2023-l-30-35

Original article

TECHNOLOGY OF CREATING BACKGROUND IMAGES FROM REPEATED PATTERNS

D.N. Kushchiy, A.M. Chekha

Platov South-Russian State Polytechnic University (NPI), Novocherkassk, Russia

Abstract. The article presents an analysis of the principles of work and describes the process of developing a plugin (plug-in) for the GNU Image Manipulation Program (GIMP) open source graphic editor of raster images, which allows you to create background images using a limited set of images. The algorithm is based on randomly applying affine transformations to each picture - operations of rotation and reflection horizontally. The placement of each copy of the pattern is chosen so that it is not too close to other copies of the same pattern. The results of generating background images and data on the performance of the performed calculations are given.

Keywords: background image, affine transformations, bounding polygon, Minkowski sum, Hooke-Jeeves method

For citation: Kushchiy D.N., Chekha A.M. Technology of Creating Background Images from Repeated Patterns. Izv. vuzov. Sev.-Kavk. region. Techn. nauki=Bulletin of Higher Educational Institutions. North Caucasus Region. Technical Sciences. 2023; (l):30-35. (In Russ.) http://dx.doi.org/ 10.17213/1560-3644-2023-1-30-35

Введение

В современном графическом дизайне в качестве фоновых изображений часто используются текстуры, состоящие из повторяющихся схематичных рисунков с разным углом поворота, отражением по горизонтали, размером и т.п. Создание таких текстур вручную может быть довольно дол-

© ЮРГПУ(НПИ), 2023

гим процессом, так как требует равномерного заполнения холста, избегания размещения одинаковых рисунков слишком близко друг к другу, соблюдения минимальной дистанции.

Рассмотрим случай, когда имеется набор из п разных базовых изображений и требуется сгенерировать из них шаблон (текстуру) для использования в графическом дизайне.

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2023. No 1

1. Предварительная обработка исходных данных

Для каждого из набора базовых изображений создаётся с, - 1 копий (массив изображений с задаётся пользователем, / - номер изображения), и к каждой из них случайным образом применяются операции поворота и отражения по горизонтали [1]. В будущем возможно добавить и другие виды трансформаций.

Для одной точки эти преобразования выполняются путём умножения матрицы трансформации на вектор, содержащий координаты одной из точек изображения для получения новых координат соответствующей точки. Соответственно, чтобы преобразовать изображение, необходимо выполнить эту операцию для всех его точек.

Матрица трансформации, соответствующая отражению точки с координатами (х, у) относительно оси Оу, представлена выражением

(1)

Матрица трансформации, соответствующая повороту точки (х, у) против часовой стрелки на угол 0 вокруг точки с координатами (иЛ, щ), представлена выражением

"-1 0 0" X X

0 1 0 X У = у

0 0 1 1 1

COS0 -sin 0 11X - Ид COS0 + и v COS 0 X X

sin 0 COS0 и у - ид COS0 -uv COS0 X У = У

0 0 1 1 1

2. Применяемый метод размещения изображений

2.1. Вычисление ограничивающих полигонов. Для каждого изображения необходимо вычислить ограничивающий полигон, который служит для определения его пересечений с другими и дистанцирования от других копий того же изображения.

В качестве границы изображения требуется замкнутый полигон, охватывающий всё изображение целиком во избежание нежелательных пересечений сложных изображений (включающих брызги, искры и т.п.).

На первом этапе идёт получение ограничивающего полигона для изображения согласно алгоритму, приведённому в работе исследователя из Национального университета Сингапура Цинь Чжун Е [3]. Далее, согласно предложенному в той же статье алгоритму [3], вычисляется минимальная выпуклая оболочка (convex hull) для этого полигона. Примеры работы алгоритма показаны на рис. 1.

•(2)

В выражениях (1) и (2) х\ у' - координаты точки после трансформации.

Примечание 1.1. Поскольку в результате поворота изображения новые координаты точек могут принять дробные значения, то в GIMP применяется интерполяция с использованием алгоритма Noli alo [2], позволяющего улучшить качество масштабирования изображения по сравнению с кубической интерполяцией.

Далее преобразованные изображения необходимо равномерно разместить по поверхности холста С. К результату предъявляются следующие требования:

- изображения не должны пересекаться и находиться не ближе друг к другу, чем d точек;

- копии одного изображения должны находиться на расстоянии > t точек друг от друга.

Параметры d nt задаются пользователем.

Рис. 1. Изображения и их минимальные выпуклые оболочки / Fig. 1. Images and their minimal convex hulls

Так как в случае работы с изображениями с большим разрешением полученные полигоны могут иметь довольно большое количество точек, они упрощаются согласно алгоритму Дугласа -Пекера, модифицированному в реализации из библиотеки GEOS так, чтобы сохранять топологию полигона [4].

Для приведения минимального расстояния между изображениями к значению d каждый полигон «обводится» путём получения его суммы Минковского [5, 6] с окружностью с диаметром d. Это один из способов выполнить операцию, которая в англоязычной литературе называется «polygon offsetting». Реализация этого метода, содержащаяся в библиотеке GEOS [7] в качестве результата, предоставляет полигон, граница которого помимо прямых отрезков состоит из дуг (рис. 2).

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CA UCASUS REGION.

TECHNICAL SCIENCES. 2023. No 1

Рис. 2. Графическая интерпретация суммы Минковского для шестиугольника и окружности / Fig. 2. Graphical interpretation of the Minkowski sum for a hexagon and a circle

2.2. Функция координат на холсте, показывающая уместность размещения изображения в данной точке. Задачу размещения каждого следующего изображения с ограничивающим полигоном А на холсте С можно свести к задаче минимизации функции, которая представлена выражением

f{x>y) =

ВС\АХЛ, ^0,приа В П Ах ,, = 0, при ß

Is!

a = XS

ß = -l-

\ВАФ \вл —!

0, min distance(p Р е В л, Ах^,)

где С - условное пространство за пределами холста; В - множество, включающее ограничивающие полигоны уже размещённых на холсте изображений и С . Изначально (пока холст пуст) множество содержит только С ;Вл- множество ограничивающих полигонов изображений, которые являются копиями того же базового изображения,

что и размещаемое, ВА а В; Ах г - ограничивающий полигон размещаемой копии базового изображения, смещённый по координатам (х, у); t - целевое расстояние между копиями одного изображения. После получения значений параметров, при которых /{х1, у,) < —/ минимизация функции должна завершиться; 5р - площадь области Р; а и Р - уточняющие коэффициенты.

Примечание 2.1. Под символом П подразумевается пересечение полигонов. Соответственно, выражение $ , обозначает «пло-

Примечание 2.2. Заранее объявленной считается функция distance {Р\, Р2), которая служит для получения кратчайшего расстояния между границами полигонов Р\ и Рп.

Для каждой копии изображения производится минимизация функции (п. 2.3), после чего полученный полигон А'х,у добавляется к множеству В, а сама копия изображения размещается относительно точки с координатами (х,у).

Очевидно, что при таком смещении (х, у) полигона А, при котором он пересекает другие ограничивающие полигоны или границы холста, функция будет равна положительному числу, равному сумме площадей пересечений А'х,у и полигонов множества В. В обратном случае её значение будет равно 0 или отрицательному числу, по модулю, равному минимальному из кратчайших расстояний от А'х,у до полигонов множества В л по прямой. Если при этом множество Вл пусто, то функция примет значение -t.

Такое поведение функции позволяет при её минимизации избежать таких вариантов размещения копий изображений, которые противоречат исходной задаче (когда они пересекают границы холста или другие уже размещённые на холсте копии), ведь во всех этих случаях /(х, v) > 0. Целевое же значение функции /(х, v) < t достигается только тогда, когда кратчайшие расстояния от копии изображения до других копий того же изображения не превышают t.

Пример графика рассматриваемой функции при г = 150 на холсте размером 1300x1300 точек представлен на рис. 3. Белым отмечены области, где /(х, v) < 150 и /(х, у) < -150 (копии того же изображения находятся на удалении > t от размещаемого). Чем темнее цвет, тем большее значение в данной точке принимает /(х, v).

У 1200

щадь области пересечения полигонов В. и А ^

• V

Рис. 3. График одного из вариантов минимизируемой функции / Fig 3. Graph of one of the variants of the minimized function

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION.

TECHNICAL SCIENCES. 2023. No 1

Примечание 2.3. Точкой отсчёта на графике считается нижний левый угол холста, а положением ограничивающего полигона размещаемого изображения считается положение левой верхней вершины прямоугольника, в который он вписан (прямоугольник не наклонён, т. е. его стороны параллельны соответствующим осям Ох и Оу).

2.3. Описание используемого метода минимизации функции. Из рис. 3 очевидно, что рассматриваемая функция многоэкстремальна. Таким образом, применяя методы поиска локального экстремума, нужно учитывать, что полученная точка может не только не являться глобальным экстремумом, но и не подходить для размещения в ней изображения (f(x,y) > 0). Однако в рамках поставленной задачи глобальный экстремум не требуется, достаточно лишь найти точку, в которой f(x,y)<t. Интересующая часть области определения ограничена размерами холста С. В силу указанных фактов решено применить метод перебора по сетке в сочетании с методом Хука-Дживса, позволяющим получить наименьшее значение функции в окрестности [8, 9].

2.4. Сетка. Холст покрывается сеткой из одинаковых квадратов. Будем называть длину стороны каждого квадрата разрешением - resolution. В узлах этой сетки выполняется поиск локального экстремума функции (описан в п. 2.5). Очевидно, что уменьшение параметра resolution приводит к увеличению времени выполнения программы, ведь количество узлов сетки равно

2.5. Минимизация. Пример минимизации функции изображён на рис. 4. Базовый шаг А = 20, точность с = 2, t = 150.

С

width

с,

height

resolution

resolution

В случае, если получить координаты точки, в которой /(х, у) <-t, не удалось, поиск повторяется в другом узле. Когда поиск выполнен во всех узлах, но подходящей точки не было найдено, считается, что разместить рисунок на холст невозможно. Однако в некоторых случаях лучшей плотности заполнения холста можно достичь, используя следующий подход: в случае, когда поиск минимума выполнен во всех узлах сетки, но значение —t так и не было достигнуто, из всех результатов, которые меньше нуля, выбирается наименьший, и в этой координате размещается изображение. Преимущества такого подхода проиллюстрированы в п. 3.3.

В зависимости от предпочтений дизайнера и особенностей исходных изображений выбор узлов сетки можно делать либо в случайном порядке, либо последовательно.

Рис. 4. Шаги минимизации функции методом Хука - Дживса / Fig. 4. Hook-Jeeves Function Minimization Steps

В стартовой точке А осуществляется исследующий поиск. При движении по оси Oy наименьшее значение функции получено при уменьшении значения координаты на А (переход к точке В). Далее уменьшение значения функции получено при увеличении значения координаты х на А (переход к точке С). После этого первая фаза завершается и происходит поиск по образцу: из

точки С откладывается вектор CD, равный вектору АС. После этого итерации прекращаются и результатом поиска считается точка D, так как f(D)<-t.

3. Практическая реализация

3.1. Используемые технологии. Вышеописанный метод было решено реализовать в виде расширения (plug-in) для редактора растровых изображений GIMP (GNU Image Manipulation Program). Результатом является множество копий исходных изображений (каждая на отдельном слое). Такой подход позволяет дизайнеру скорректировать положение слоёв с изображениями вручную, когда это необходимо.

Код написан на языке программирования Python с использованием Shapely [10] (Python-привязки для GEOS [11]) для некоторых геометрических операций и NumPy [12] для ускорения операций с массивами данных. Графический интерфейс расширения, как и интерфейс самого редактора GIMP, выполнен с использованием библиотеки GTK [13]. Исходный код расширения доступен на вебсайте GitHub [14].

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CA UCASUS REGION.

TECHNICAL SCIENCES. 2023. No 1

3.2. Графический интерфейс. Меню, которое позволяет задать все параметры дополнения, показано на рис. 5.

8. Максимальный угол поворота - направление поворота может быть различным и выбирается случайным образом, как и сам угол, параметр описан в п. 1.

9. Уровень упрощения ограничивающего полигона - параметр применяемого алгоритма упрощения полигона библиотеки GEOS.

10. Точность минимизации - параметр 5 метода Хука - Дживса.

11. Минимальное расстояние между одинаковыми фигурами - параметр t, рассмотренный в п. 2.2.

12. Разрешить размещение ближе - включить применение подхода, рассмотренного в п. 2.4 для увеличения плотности размещения фигур.

3.3. Примеры результата и производительность. Тестирование реализованного алгоритма создания фоновых изображений выполнено на компьютере с процессором CPU AMD Ryzen 7 5700U при использовании одного ядра. Для первого набор (рис. 6) время выполнения составило 22,08 с, а для второго (рис. 7) - 24,93 с.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 5. Меню с настройками дополнения / Fig. 5. Menu with add-on settings

Приведем описание элементов интерфейса:

1. Количество копий слоя - соответствует упомянутому выше в п. 1 параметру а. Выбор слоя в верхней части окна позволяет выбрать i. При значении 0 слой удаляется с холста и его копии не создаются.

2. Одинаковое количество копий для каждого слоя - для всех i устанавливает одно значение С/.

3. Разрешить отражение по горизонтали - включает возможность применения операции отражения изображения по горизонтали, рассмотренной в п. 1.

4. Пороговое значение альфа-канала для определения ограничивающего полигона - минимальное значение альфа-канала (поскольку используется 8-битный цвет, то 0 - абсолютно прозрачная точка, 255 - абсолютно непрозрачная точка), при котором точка считается частью изображения. Служит для вычисления ограничивающего полигона каждого изображения, рассмотренного в п. 2.1.

5. Минимальный отступ для каждой фигуры - соответствует параметру d, рассмотренному в п. 2.1.

6. Разрешение сетки - соответствует параметру resolution, рассмотренному в п. 2.4.

7. Изначальный шаг размещения - стартовый параметр А метода Хука - Дживса.

Рис. 6. Тестовый набор №1 / Fig.6. Test set №1

Рис. 7. Тестовый набор №2 / Fig. 7. Test set №2

В обоих случаях использовались холст 1300x1300, параметры resolution = 250, А = 200, 5 = 2.

Представленные результаты генерации фоновых изображений применены для оформления стартовой страницы расписания на сайте ЮРГПУ (НПИ).

ISSN 1560-3644 BULLETIN OF HIGHER EDUCATIONAL INSTITUTIONS. NORTH CAUCASUS REGION. TECHNICAL SCIENCES. 2023. No 1

Список источников

1. Прояева И.В., Сафарова АД. Некоторые свойства аффинных преобразований плоскости // Вестн. Шадринского гос. пед. ун-та. 2020. №4 (48). С. 75-78.

2. Robidoux N, Gong М., Cupitt J., Turcotte A., Martinez K. CPU, SMP and GPU Implementations of Nohalo Level 1, a Fast Co-Convex Antialiasing Image Resampler // In Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering (C3S2E '09), May 2009, pp. 185-195.

3. Qin-Zhong Ye. A Fast Algorithm for Convex Hull Extraction in 2D Images // Pattern Recognition Letters 16, Issue 5, May 1995, pp. 531-537.

4. Документация библиотеки // geos::simplify:: Topology Preserving Simplifier Class Reference [Электронный ресурс] URL: https://libgeos.org/doxygen/classgeos_l_l simplifyll TopologyPreservingSimplifier.html#details (дата обращения 20.08.2022).

5. У ханов М.В. Алгоритм построения суммы многогранников / / Вестн. ЮУрГУ. Серия: Математика. Механика. Физика. 2001. № 1.С. 39-44.

6. Панюков А.В. Представление суммы Минковского для двух полиэдров системой линейных неравенств // Вестн. ЮУрГУ. Серия: Математическое моделирование и программирование. 2012. № 40 (299). С. 108-119.

7. Документация библиотеки // geos:operation::buffer ::Buffer Op Class Reference [Электронный ресурс] URL: https://lib-geos .org/doxygen/clas sgeos_ 1 _ 1 operation_ 1 _ 1 buffer_ 1 _ 1 BufferOp. html#details (дата обращения: 20.08.2022).

8. Ачексеевский Н.Ю. Изучение метода Хука - Дживса с использованием технологий программирования // Вопросы развития современной науки и техники. 2021. № 3. С. 5-9.

9. Сулимое В.Д., Шкапов П.М., Носачев С.К. Локальный поиск методом Хука - Дживса в гибридном алгоритме глобальной оптимизации // Машиностроение и компьютерные технологии. 2014. № 6. С. 107-123.

10. Официальный сайт библиотеки Shapely [Электронный ресурс] URL: https://shapely.readthedocs.io (дата обращения 15.08.2022).

11. Официальный сайт библиотеки GEOS [Электронный ресурс] URL: https://libgeos.org (дата обращения 15.08.2022).

12. Официальный сайт библиотеки NumPy [Электронный ресурс] URL: https://numpy.org (дата обращения 15.08.2022).

13. Официальный сайт библиотеки GTK [Электронный ресурс] URL: https://www.gtk.org (дата обращения 15.08.2022).

14. Исходный код приложения // platofffgenpattern-gimp. Random pattern texture generation plugin for GIMP [Электронный ресурс] URL: https://github.com/pla-tofff genpattern-gimp (дата обращения 1.11.2022).

References

1. Proyaeva I.V., Safarova A.D. Some Properties of Affine Transformations of the Plane. J. ofShadrinsk State Pedagogical University. 2020;48(4):75-78. (In Russ.)

2. Robidoux N., Gong M., Cupitt J., Turcotte A., Martinez K. CPU, SMP and GPU Implementations of Nohalo Level 1, a Fast Co-Convex Antialiasing Image Resampler. In Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering (C3S2E '09), May 2009. Pp. 185-195.

3. Qin-Zhong Ye. A Fast Algorithm for Convex Hull Extraction in 2D Images. Pattern Recognition Letters 16. Issue 5. May 1995. P. 531-537.

4. Library documentation И geos::simplify::Topology Preserving Simplifier Class Reference. Available at: https://libgeos.org/doxy-gen/classgeos_l_lsimplify_l_lTopologyPreservingSimplifier.html#details (accessed 20.08.2022).

5. Ukhanov M.V. Algorithm for Constructing the Sum of Polyhedral. SUSU News. Series: Mathematics. Mechanics. Physics. 2001;(l):39-44.

6. Panyukov A.V.The Linear Inequalities Set Representation of Minkovski's Sum for Two Polyhedrons. SUSU News. Series: Mathematical Modeling and Programming. 2012; 299(4):108-119. (In Russ.)

7. Library documentation И geos::operation::buffer::BufferOp Class Reference. Available at: https://libgeos.org/doxy-gen/classgeos_l_loperation_l_lbuffer_l_lBuffeЮp.html#details (accessed 20.08.2022).

8. Alekseevsky N.Yu. Study of the Hooke-Jeeves Method Using Programming Technologies. Issues of the development of modern science and technology. 2021;(3):5-9. (In Russ.)

9. Sulimov V.D., Shkapov P.M., Nosachev S.K. Local Search by the Hook-Jeeves Method in a Hybrid Global Optimization Algorithm. Mechanical Engineering and Computer Technologies. 2014;(6):107-123.

10. The Official Website of the Shapely Library. Available at: https://shapely.readthedocs.io (accessed 15.08.2022).

11. Official Website of the GEOS Library. Available at: https://libgeos.org (accessed 15.08.2022).

12. Official website of the NumPy Library. Available at: https://numpy.org (accessed 15.08.2022).

13. Official Website of the GTK Library. Available at: https://www.gtk.org (accessed 15.08.2022).

14. Application Source Code // platofffgenpattern-gimp. Random Pattern Texture Generation Plugin for GIMP. Available at: https://github.com/platofffgenpattern-gimp (accessed 1.11.2022).

Сведения об авторах

Кущий Дарья Николаевнав- ст. преподаватель, кафедра «Программное обеспечение вычислительной техники», dkushchiy@rambler.ru

Чеха Аркадий Максимович - техник-программист, студент, кафедра «Программное обеспечение вычислительной техники», chehaaam@npi-tu.ru

Information about the authors

Kushchiy Daria N. - Senior Lecturer, Department «Computer Engineering Software», dkushchiy@rambler.ru

Chekha Arkadiy M. - Programmer Technician, Student, Department «Computer Engineering Software», chehaaam@npi-tu.ru

Статья поступила в редакцию /the article was submitted 25.11.2022; одобрена после рецензирования /approved after reviewing 09.12.2022; принята к публикации / acceptedfor publication 12.01.2023.

i Надоели баннеры? Вы всегда можете отключить рекламу.