УДК 621.01:681.3
ПРОГРАММА ВИЗУАЛИЗАЦИИ СТРУКТУРНОГО ИДЕНТИФИКАЦИОННОГО КОДА ПЛОСКИХ ЗАМКНУТЫХ ЦЕПЕЙ ГРЮБЛЕРА
Ю. В. Дмитриев
В статье описывается алгоритм компьютерной визуализации структурного идентификационного кода плоских замкнутых кинематических цепей Грюблера. Приведено окно работающего приложения и описана технология, позволяющая преобразовать символьное представление данных в привычную для человека графическую форму, то есть в структурную схему кинематической цепи с общепринятым изображением звеньев и шарниров. Приведены проблемы, связанные с визуализацией структурного идентификационного кода.
In article the algorithm of computer visualisation of a structural identification code of the flat closed kinematic chains of Grjublera is described. The window of the working appendix is resulted and the technology is described, allowing to transform symbolical data presentation to the graphic form habitual for the person, that is in the block diagramme of a kinematic chain with the standard image of links and hinges. Problems connected with visualisation of a structural identification code are resulted.
Ключевые слова: кинематическая цепь, цепи Грюблера, компьютерная визуализация.
В разные годы исследователями предлагались различные методики структурного синтеза плоских замкнутых кинематических цепей Грюблера. В том числе, создавались и компьютерные программы для реализации алгоритмов компьютерного синтеза. При этом использовались различные подходы к решению задачи синтеза структур цепей Грюблера. Один из этих подходов был опубликован в статье Э. Е. Пейсаха «Структурный синтез замкнутых кинематических цепей (цепей Грюблера)» [1]. В этой статье рассматриваются такие вопросы, как: структурная матрица; проблема изоморфизма структур; вычислительные аспекты структурного синтеза кинематических цепей; алгоритм перечисления структур (второй этап синтеза); идентификационный структурный код (ИСК) для цепей Грюблера; алгоритм идентификации цепей и формирования ИСК; алгоритм отбора неизоморфных цепей Грюблера (третий этап синтеза) и т. п. Однако авторами не излагается методика компьютерной визуализации получаемого многообразия структурных матриц цепей Грюблера для преобразования символьного представления данных в привычную для человека графическую форму, то есть в структурную схему кинематической цепи с общепринятым изображением звеньев и шарниров [2].
В связи с этим автором данной статьи была создана программа, предназначенная для построения графического изображения цепи Грюблера на основе структурного идентификационного кода (структурной матрицы).
Разработанный алгоритм визуализации структурного идентификационного кода состоит из двух этапов. На первом этапе определяется номенклатура звеньев цепи Грюблера, а также определяются связи между звеньями.
Второй этап заключается в построении графического изображения требуемой структурной схемы цепи Грюблера на экране монитора.
Среди всех звеньев цепи определяется одно из наиболее сложных. С этого звена начинается процедура отображения всей цепи Грюблера. Изображение этого звена строится в центре элемента графического экрана, на котором происходит построение всего изображения цепи. На следующем этапе про-
исходит построение изображений звеньев, которые имеют непосредственное соединение с этим, уже отображенным звеном.
Структурный идентификационный код цепей Грюблера не содержит данных о расположении звеньев, поэтому генерирование начальных координат кинематических пар звеньев происходит относительно центра области построения изображения цепи, в целях предотвращения наложения изображений звеньев друг на друга на этом этапе осуществляется корректировка координат остальных кинематических пар. В описываемом в данной статье алгоритме визуализации такая корректировка осуществляется случайным образом, поэтому пересечения и наложения звеньев всё еще возможны.
Каждый раз, после того как осуществляется построение изображения того или иного звена, оно принимает статус отображенного на экране. Что в дальнейшем используется для отображения оставшихся звеньев цепи Грюблера. То есть после того, как были отображены одно из самых сложных звеньев, и все звенья, с которыми оно имеет соединения, осуществляется перебор всех звеньев цепи с проверкой на то, было ли уже построено его изображение. Если во время перебора обнаруживается еще не отображенное на экране звено, и при этом хотя бы одна из кинематических пар этого звена имеет соединение с каким либо уже отображенным звеном, то выполняется процедура построения изображения этого звена.
Перед тем как будет построено изображение найденного звена, координаты его кинематических пар подвергаются корректировке. Если обнаруживается, что все кинематические пары этого звена имеют соединения с уже отображенными звеньями, то координаты кинематических пар отображаемого звена заменяются координатами соответствующих кинематических пар отображенных звеньев. При обнаружении кинематических пар, которые имеют соединения с еще не отображенными звеньями, выполняется процедура корректировки координат этих кинематических пар случайным образом.
Вышеизложенные действия повторяются до тех пор, пока не останется не отображенных на экране звеньев цепи Грюблера.
На рисунке 1 изображено окно работающего приложения. При создании программы в полной мере были использованы принципы объектноориентированного программирования. Прежде чем будет получено изображение цепи Грюблера, на основании исходных данных, в виде структурного идентификационного кода, программа создает экземпляр класса «Цепь Грюблера».
Исходные данные для приложения подготавливаются в виде текстовых файлов, в которых находятся структурные матрицы в текстовом виде. Указать файл, в котором находится структурный идентификационный код какой-либо цепи Грюблера, можно нажав на кнопку «Открыть». После нажатия на эту кнопку будет показано диалоговое окно, в котором необходимо найти нужный файл, содержащий структурную матрицу. В результате выполненных действий в левой части окна приложения должен отобразится идентификационный структурный код необходимой цепи. Если это произошло, значит, данные из файла со структурной матрицей были ус-
При решении задачи визуализации структурного идентификационного кода цепей Грюблера возникает ряд проблем, одной из которых является отсутствие в структурной матрице сведений о взаимном расположении звеньев получаемой цепи. Так, например, если располагать графические изображения звеньев цепи на области построения структурной схемы в случайном порядке, то неизбежны ситуации взаимного пересечения звеньев цепи. Такой подход к формированию изображения предполагает необходимость в ручном редактировании получаемого изображения, что не может являться приемлемым при визуализации цепей с даже относительно небольшим количеством звеньев. Также данный подход не является удовлетворительным в случае необходимости автоматического построения графических изображений цепей Грюблера.
пешно получены, и был создан экземпляр класса «Цепь Грюблера».
Отображенная в окне приложения структурная матрица не является непосредственной копией данных, полученных из файла. В данном случае матрица формируется после анализа созданного программой экземпляра класса «Цепь Грюблера». Тем самым происходит не только информирование пользователя о том, какой структурный идентификационный код цепи Грюблера будет визуализирован или уже отображается на экране, но и позволяет в некоторой степени удостовериться в том, что объект, представляющий собой модель цепи Грюблера, сформирован правильно.
Чтобы выполнить процедуру построения графического изображения цепи Грюблера, необходимо нажать на кнопку «Изображение». После того, как изображение цепи появится в окне приложения, пользователь имеет возможность изменять положение кинематических пар цепи, тем самым добиваясь оптимального, с его точки зрения, расположения пар.
Таким образом, необходимо дальнейшее усовершенствование описанной здесь технологии визуализации структурного идентификационного кода цепей Грюблера, который бы исключал пересечения и наложения изображений звеньев. То есть в идеале алгоритм должен обеспечивать автоматическую генерацию изображений, которые не требовали бы вмешательства пользователя.
Литература
1. Пейсах, Э. Е. Структурный синтез замкнутых кинематических цепей (цепей Грюблера). Часть 1. [Текст] / Э. Е. Пейсах // Теория механизмов и машин. - 2008. -№ 1(11). - Т. 6. - С. 4 - 14.
2. Пейсах, Э. Е. Структурный синтез замкнутых кинематических цепей (цепей Грюблера). Часть 2. [Текст] / Э. Е.Пейсах // Теория механизмов и машин. - 2008. - № 2(12). - Том 6. - С. 3- 17.
Рис. 1. Окно работающего приложения