-->

Кодак Екатерина Александровна

Факультет: Компьютерных наук и технологий
Специальность: Программное обеспечение автоматизированных систем
Тема выпускной работы магистра: Исследование средств ускоренной разработки систем геометрического моделирования
Научный руководитель: к.т.н., доцент Карабчевский Виталий Владиславович

Автореферат по теме выпускной работы

«Исследование средств ускоренной разработки систем геометрического моделирования» 

Введение

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

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

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

Работа базируется на выпускной магистерской работе Хлепитько И.В. на тему «Исследование средств разработки систем геометрического моделирования». Созданная в рамках этой работы, графическая библиотека для работы с базовыми геометрическими объектами: линия, окружность и эллипс, была расширена за счет добавления операций построения 3d-модели по проекциям кривой произвольного вида.

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

Актуальность темы

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

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

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

Цель и задачи работы

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

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

Новизна работы

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

Анализ достижений и публикаций

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

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

Новейший подход к проектированию графических систем основан на более высоком уровне абстракции. Компонентно-ориентированный подход разделяет конечную систему на набор компонентов и служб с хорошо определенным интерфейсом. Прикладному программисту, не нужно знать как работает компонент, все что требуется для его использования в системе — это знание его интерфейса, т.е как его подключить к системе и как использовать его возможности. Применение подобного подхода описано в [4]. На этом подходе базируется большинство систем управления жизненным циклом продукции [5], в которых интегрированы модули для поддержки визуализации модели, математических расчетов, хранения и передачи данных, документирования конструкторской информации и т.д.

Идея создания системы геометрического моделирования, поддерживающей соответствие между плоским и пространственным представлением фигур, была предложена в [6] в качестве обучающей системы, позволяющей студентам выполнять построения на комплексном чертеже и одновременно просматривать результаты построения в 3d сцене. В качестве реализации этой идеи была предложена система Spin [7], с базовым набором двухмерных элементов и преобразованием проекций отрезка в его трехмерное представление.

Подобная система была также предложена в [8]. Система ProGeTeach позволяет в интерактивном режиме производить построения на эпюре Монжа и на его основе создавать 3d модель. С точки зрения примитивов, которые используются при построении, возможности системы ограничены, здесь присутствуют только отрезки прямых линий и точки.

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

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

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

Основная часть

Система Spin была усовершенствована за счет расширения возможностей классов Line, Ellipse и Cycle, позволяющих создавать и редактировать объекты в интерактивном режиме. Также была доработана функция Make3d, обеспечивающая связь двухмерного представления с трехмерной моделью. Реализованы классы Cone и Cylinder.

Построение эллипса

Последняя версия системы дает возможность по двум проекциям эллипса построить его трехмерное представление.

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

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


Рисунок 1 — Приведение проекций к соответствию

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

Для совмещения проекций выбирается «главная», под которую будет преобразована вторая. В случаи двух эллипсов, достаточно совместить их центры по координате X и изменить длины полуосей так, чтобы их проекции на ось Х были равны. Алгоритм представлен на рисунке 2.


Рисунок 2 — Алгоритм совмещения проекций эллипса

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

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

x  =  a cos(α) cos(t) - b  sin(α) sin(t)
y  =  a sin(α) cos(t) + b  cos(α) sin(t)

максимальное значение Х для такого эллипса:

Отсюда найдем длину отрезка и координаты его концов при заданном угле наклона к оси абсцисс.

Решение основной задачи – построения 3d-модели эллипса сводится к нахождению натуральной величины осей эллипса, построению эллипса в начале координат, переносу и повороту.

Построение поверхностей вращения

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

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

На рисунке 3 показано решение задачи нахождения сечения конуса.

Наглядности решения способствует опциональный режим отображения проекций конуса на плоскости проецирования.


Рисунок 3 — Нахождение сечения конуса
(анимация — разрешение: 560 x 480 px; объем: 49.1 kb; кадров: 12; задержка между кадрами: 1с; количество повторений: 1)

Аналогично реализована операция отображения цилиндра в трехмерное пространство. Цилиндр задается основанием и точкой центра второго основания.


Рисунок 4 — Нахождение сечения цилиндра

Построение кривых произвольного вида

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

Каждая точка сплайна описывается функцией:

где (L+1) — количество контрольных точек, Рk = (xk, yk) — координаты контрольных точек, Nk,m(t) — базисная функция сплайна, m — порядок базисных функций. Для определения базисных функций используются рекурсивные формулы Кокса–Де Бура [9]


где tk — элемент узлового вектора, определяемый по формуле

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


Рисунок 5 — Построение проекций сплайна

Выводы

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

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

Список литературы

  1. Карабчевський В.В. Засоби зв’язку між операціями над двовимірними і тривимірними моделями. // Наукові праці Донецького національного технічного університету. Серія Інформатика, кібернетика та обчислювальна техніка, випуск 93. — Донецьк: ДонНТУ. — 2005. — c. 41-46. [⇑]
  2. Дерябин Н.Б., Денисов Е.Ю. Объектно-ориентированная инфраструктура систем компьютерной графики. // Материалы 11-го научно-практического семинара «Новые информационные технологии в автоматизированных системах » — М.:МГИЭМ. — 2008. — с. 10-15.[⇑]
  3. Вельтмандер П.В. Учебное пособие «Архитектуры графических систем»  - (Учебное пособие в 3-х книгах) Книга 3 — Новосибирский государственный университет. — 1997. — http://cylib.iit.nau.edu.ua/Books/Graph/Study/3d-course/kg01.htm [⇑]
  4. Муниципальная ГИС для российских условий: недорогие масштабируемые решения на стандартном ядре // Журнал «САПР и графика» — [электронный ресурс]: http://www.sapr.ru/Article.aspx?id=7218  [⇑]
  5. Особенности внедрения на предприятиях и методы интеграции CAD/CAM/PDM/FRP/MRP/MES/PLM- и ERP-систем // Журнал «САПР и графика» — [электронный ресурс]: http://www.sapr.ru/Article.aspx?id=18851 [⇑]
  6. Карабчевский В.В. Компьютерные технологии в преподавании графических дисциплин для специальности «Программное обеспечение» // Труды международной научно-практической конференции «Эффективность инженерного образования в XXI веке». — Донецьк: ДонНТУ. — 2001. — c. 260-267.  [⇑]
  7. Карабчевський В.В., Хлепітько І.В. Засоби розробки систем геометричного моделювання // Наукові нотатки. Міжвузівський збірник (за напрямом «Інженерна механіка»). Випуск 22. Частина 1. «Сучасні проблеми геометричного моделювання» (квітень, 2008). — Луцьк. — 2008. — c.133-137.  [⇑]
  8. Бурчак І.Н., Величко В.Л. Програма супроводу дисципліни «Нарисна геометрія» для використання в системі дистанційного навчання // Наукові нотатки. Міжвузівський збірник (за напрямом «Інженерна механіка»). Випуск 22. Частина 1. «Сучасні проблеми геометричного моделювання» (квітень, 2008). — Луцьк. — 2008. — С. 45-50.  [⇑]
  9. Роджерс Д., Адамс Дж. Математические основы машинной графики: Пер. с агл. — М.:Мир. — 2001. — с.310-340. [⇑]
  10. Голованов Н.Н. Геометрическое моделирование. — М.: Издательство Физико-математической литературы. — 2002. — c.105-121.
При написании данного автореферата выпускная работа еще не завершена. Окончательное завершение: декабрь 2010г. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.
© Магистр ДонНТУ Кодак Екатерина Александровна, ДонНТУ, 2010