Использование ограничений в графическом редакторе, поддерживающем целостность геометрической модели

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

Рубрика Математика
Вид статья
Язык русский
Дата добавления 22.08.2020
Размер файла 56,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Орловский государственный технический университет.

Использование ограничений в графическом редакторе, поддерживающем целостность геометрической модели

Чижов Александр Владимирович

Annotatіon

One of the advantages of the editor using limitations of model integrity is presentation to user possibility of sketch changing without its destruction. In the paper the matters connected with the editor structure supporting integrity of a geometrical model with the aid of limitations are considered including formation of model with constraints, methods of gaining constraints from the user's actions and so on. Problems requiring solution at editor formation are posed.

Введение

Успех современных интерактивных систем во многом определяется интерфейсом пользователя - компонентами, обеспечивающими взаимодействие пользователя с программой. Пользователь, как правило, не обладает и не желает обладать специализированными знаниями и навыками, связанными с управлением сложными вычислительными системами. Поэтому в современных пользовательских интерфейсах (ПИ) применяются различные методы, позволяющие скрыть специфику управления. Одним из современных методов достижения естественности и интуитивности при работе графического редактора является использование геометрических ограничений.

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

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

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

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

Понятие ограничения

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

{yN : xN y=2*x},

где N множество определения, а подформула

xN y=2*x

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

y=1.3x & x+y=65

связывающей между собой несколько переменных.

Заданное множество ограничений можно представить в виде двудольного графа

M=(V,C,L)

где V-множество переменных, С - множество формул, L- множество дуг связывающих формулы с входящими в них переменными.

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

Заданное множество геометрических ограничений также можно представить в виде двудольного графа

пользователь чертеж геометрический ограничение

G=(P,C,L)

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

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

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

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

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

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

Методы задания ограничений

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

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

Методы вывода необходимых ограничений из действий пользователя облегчают процесс задания, но предположения, сделанные системой, не всегда совпадают с желаниями пользователя.

Одной из первых техник автоматизированного задания ограничений явились правдоподобные предположения, использованные в системе Peridot [1]. При создании объекта система рассматривала все возможные геометрические взаимоотношения этого объекта с введенными ранее объектами и предлагала пользователю выбрать из списка требуемое ограничение или ввести дополнительную информацию, поясняющую его желание. При большом количестве введенных геометрических объектов такой подход оказывается неудачным, т.к. количество потенциально возможных ограничений слишком велико

Другой метод автоматизированного задания ограничений связан с использованием «гравитационных полей». Гравитационные поля - это области, связанные с действием некоторого ограничения. Попадая в такую область, объект автоматически вовлекается в соответствующее ограничение. Так, например, круг с центром в созданной ранее точке может представлять гравитационное поле ограничения эквивалентности. Если создаваемая пользователем точка попадает внутрь круга, то между точками устанавливается ограничение эквивалентности, т.е. они рассматриваются как совпадающие. Более сложная ситуация возникает, если пользователь создает объект в области пересечения нескольких гравитационных полей. В этом случае система использует ряд эмпирических правил, определяющих выбор ограничений. Некоторые системы динамически изменяют порядок применения правил, исходя из предыдущих действий пользователя [2].

Интересная модификация данного подхода рассмотрена в [3]. Авторы предложили выводить желаемые пользователем ограничения не из абсолютного расположения создаваемого объекта, а исходя из изменения его положения.

Выбор методов задания ограничений целостности модели зависит от области применения графического редактора.

Редактирование ограничений

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

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

Так система Juno использует два окна для представления чертежа - графическое и текстовое. В графическом окне показывается созданный пользователем чертеж, а текстовое содержит программное описание составляющих чертеж объектов и ограничений. Редактирование может производиться в любом из окон, вызывая немедленное изменение в другом окне. Графическое окно используется для добавления объектов и ограничений, а также для изменения некоторых их свойств. В текстовом окне производится удаление ограничений и редактирование свойств, недоступных в графическом окне. Данный подход дает пользователю большую свободу действий при редактировании, но требует от пользователя хороших навыков программирования и знакомства со специализированным языком описания ограничений, разработанным создателями системы.

В Garnet [4] используется более традиционный табличный подход. В таблице строки представляют атрибуты объектов, а совокупность строк одной колонки определяют объект. Атрибуты, связанные ограничениями, выделяются.

Целый ряд систем (SketchPad, ThingLab [5] и др.) используют представление ограничений в виде направленного графа. Узлы графа представляют ограничения, а дуги указывают на связанные объекты. Основной недостаток этого подхода проявляется при большом количестве установленных ограничений. Представление оказывается слишком запутанным из-за нехватки поверхности экрана для корректного размещения графа.

Одним из вариантов решения может стать локализация представляемых ограничений. Как уже отмечалось выше, визуализировать ограничения необходимо для выяснения причин расположения и поведения конкретного объекта или для их изменения. Таким образом, пользователя интересует не вся система ограничений, а только ограничения, связанные с конкретным объектом. Более того, если для решения системы ограничений используется механизм, основанный на локальном распространении, то можно выделить только те ограничения, которые непосредственно определяют положение объекта, что позволяет значительно уменьшить количество визуализируемых ограничений.

Структура графического редактора с поддержкой целостности модели

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

Рассмотрим основные компоненты редактора. Поведение системы моделирует модуль управления активностью. Он получает событие от компоненты контроллер, анализирует их и выполняет редактирование модели. Подробнее данный модуль рассмотрен в работе [6]. Модуль вывода ограничений производит подбор подходящих ограничений исходя из структуры чертежа и действий пользователя. Модуль поддержки целостности модели включает в себя механизм удовлетворения требований ограничений. В ходе его работы определяется последовательность рассмотрения требований ограничений и производится изменение свойств геометрических примитивов. Геометрическая база данных хранит модель и охватывающие ее ограничения.

Заключение

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

Построение формальной модели геометрических ограничений;

Определение базового набора ограничений;

Определение правил вывода ограничений

Разработка методов визуализации и редактирования системы ограничений

Разработка алгоритмов удовлетворения требований ограничений

Разработка алгоритмов логического вывода ограничений

Разработка описаний поведения графического пользовательского интерфейса

Очень сложно оценить качество решения данных задач. По этому на первый план выходит поиск формальной основы для их решения. Хорошая формальная основа позволяет оценить полноту и непротиворечивость найденных решений.

Литература

1. Myers B.A. Creating User Interfaces by Demonstration. - Boston: Academic Press. - 1988.

2. Karsenty S.,Landey J.A.,Weikart C. Inferring graphical constraints with RocKit. // In: HCI'92 Conference on Piople and Computer VII.British Computer Society. -1992. - P.137-153.

3. Tanimura T., Noma T., Okada N. Inferring Graphical Constraints from Users' Modification // In: Y. Anzai et al.(eds.), Symbiosis of Human and Artifact. - Elsevier. 1995. -Vol.2. -P.205-210.

4. Myers B. A., Richard G. McDaniel, Robert C. Miller, Alan S. Ferrency, Andrew Faulring, Bruce D. Kyle, Andrew Mickish, Alex Klimovitski and Patrick Doane. The Amulet Environment: New Models for Effective User Interface Software Development // IEEE Transactions on Software Engineering 1997. Vol.23, N.6. P.347-365.

5. Borning A., Anderson R., Freeman-Benson B.N. The Indigo Algorithm // Proceedings of the ACM Symposium on User Interface Software Technology. 1996. P.36-45.

6. Гордиенко А.П., Чижов А.В. Объектно-ориентированная модель системы объемного проектирования изделий сложной формы // Инженерный журнал-справочник. 1999. N1. С.26-30.

7. Чижов А. В. Особенности применения ограничений в интерактивных графических системах // Пользовательский интерфейс в современных компьютерных системах. Сб. материалов Междунар. науч. конф. Орел 1999. С. 77-85.

Размещено на Allbest.ru


Подобные документы

  • Описание заданного графа множествами вершин V и дуг X, списками смежности, матрицей инцидентности и смежности. Матрица весов соответствующего неориентированного графа. Определение дерева кратчайших путей по алгоритму Дейкстры. Поиск деревьев на графе.

    курсовая работа [625,4 K], добавлен 30.09.2014

  • Оценка вероятности простоя цеха в виде схемы движения заявок или в виде соответствия "состояния системы"-"события". Выбор единицы моделирования и погрешности измеряемых параметров. Создание блок-схемы и листинга программы, отладка модели на языке GPSS.

    лабораторная работа [213,6 K], добавлен 15.04.2012

  • Разработка логико-формальной модели описания методики изготовления винных изделий. Разделение ингредиентов и продукции на множества. Исследование на рефлексивность, транзитивность, симметричность. Построение графа, матрицы смежности и инцидентности.

    контрольная работа [165,2 K], добавлен 07.06.2010

  • Нахождение экстремумов функций методом множителей Лагранжа. Выражение расширенной целевой функции. Схема алгоритма численного решения задачи методом штрафных функций в сочетании с методом безусловной минимизации. Построение линий ограничений.

    курсовая работа [259,9 K], добавлен 04.05.2011

  • Алгоритм перехода к графическому представлению для неориентированного графа. Количество вершин неориентированного графа. Чтение из матрицы смежностей. Связи между вершинами в матрице. Задание координат вершин в зависимости от количества секторов.

    лабораторная работа [34,0 K], добавлен 29.04.2011

  • Построение логических взаимосвязей между цветами при помощи аппарата дискретной математики. Структуры объекта в виде множеств, граф отношений между ними. Исследование на рефлексивность, транзитивность, симметричность. Матрицы смежности и инцидентности.

    контрольная работа [129,4 K], добавлен 07.06.2010

  • Использование геометрических форм и линий в практической деятельности человека. Геометрия у древних людей. Природные творения в виде геометрических фигур, их распространение в животном мире. Геометрические комбинации в архитектуре, сфере транспорта, быту.

    реферат [21,5 K], добавлен 06.09.2012

  • Алгоритм, использующий метод Магу-Вейссмана. Общие сведения, описание, вызов и загрузка, функциональное назначение и программный код программы. Описание логической структуры и инструкция пользователю, решение контрольных примеров раскраски графа.

    курсовая работа [350,5 K], добавлен 20.12.2009

  • Поиск оптимального решения. Простейший способ исключения ограничений. Многомерные методы оптимизации, основанные на вычислении целевой функции. Метод покоординатного спуска. Модифицированный метод Хука-Дживса. Исследование на минимум функции Розенброка.

    курсовая работа [697,6 K], добавлен 21.11.2012

  • Задача о кенигсбергских мостах, четырех красках, выходе из лабиринта. Матрица инцидентности для неориентированного и (ориентированного) графа. Степень вершины графа. Ориентированное дерево. Линейные диаграммы или графики Ганта. Метод критического пути.

    презентация [258,0 K], добавлен 23.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.