Труды КНЦ (Технические науки вып.3/2025(16))

Для создания ограничений (см. рис. 16) необходимо заполнять текстовые поля: для ограничения на расположение объекта в углу необходимо задать ID объекта\объектов и код угла\углов, в которых необходимо расположить заданный объект\объекты («0» — верхний левый угол; «1» — верхний правый; «2» — нижний левый; «3» — нижний правый; «-1» — любой); для ограничения на расположение объекта на заданном расстоянии от заданной стены необходимо задать ID объекта\объектов, расстояние в клетках и код стены («0» — верхняя («North»); «1»— нижняя («South»); «2» — левая («West»); «3» — правая («East»); «-1» — любая); для ограничения на расположение объектов рядом друг с другом необходимо задать ID объектов и максимальное расстояние между ними. Если выполнение возврата в дереве поиска невозможно, то это означает, что всё дерево поиска пройдено и найдены все решения. После завершения поиска полученные решения выводятся пользователю в интерфейсной части программы (рис. 17). и - □ X SAVE SOL 2 решение 3 решение 4 решение 5 решение 6 решение 7 решение 8 решение 9 решение 10 решение 11 решение 12 решение 13 решение 14 решение 15 решение 16 решение 17 решение 18 решение 19 решение 20 решение 21 решение 22 решение 23 решение Рис. 17. Пользовательский интерфейс просмотра решений Ограничения на группы объектов Также в программе реализована возможность накладывания ограничений не только на отдельные объекты (см. рис. 16), но и на группы объектов (рис. 18). При создании задачи загружается файл, в котором описывается дерево классификации. Это позволяет при создании объектов отнести их к какому-либо классу и при формировании ограничений задавать ограничения на группу объектов. Дерево классификации хранится в текстовом файле и загружается пользователем. После загрузки файла в программе появляется графическое представление дерева и пользователю необходимо проклассифицировать объекты, т. е. соотнести с тем или иный классом (см. рис. 18, А). Также каждому классу присваивается свой идентификатор ID, который используется при создании ограничений. Для задания ограничений на подклассах пользователю необходимо в выбранной вкладке заполнить те же поля, что и при создании ограничений для объектов, только вместо ID объекта необходимо указать ID подкласса. Например, на рис. 18, Б показан процесс создания ограничения, которое можно сформулировать как «все объекты, отнесенные к классу «стул, стоящий у стола» (ID класса 6) должны стоять вплотную (distance = 0) к объекту «стол» (ID объекта 3)». Труды Кольского научного центра РАН. Серия: Технические науки. 2025. Т. 16, № 3. С. 117-130. Transactions of the Kola Science Centre of r A s . Series: Engineering Sciences. 2025. Vol. 16, No. 3. P. 117-130. © Таран П. В., Зуенко А. А., 2025 128

RkJQdWJsaXNoZXIy MTUzNzYz