ДонНТУ   Портал магистров

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

Одной из наиболее значимых работ, проделанных мною за время обучения, является разработка функциональной библиотеки для работы с пространственными кривыми и поверхностями при моделировании трехмерных объектов и создание на ее основе интерактивного графического редактора. Данная работа была начата в рамках индивидуального задания по курсу «Графическое и геометрическое моделирование и интерактивные системы» и была продолжена мною на последующих курсах. Приложения, использующие разработанную программную библиотеку, получили высокие отзывы и оценки на Международной студенческой научно-технической конференции «Графика XXI века» в Севастополе, прошедшей 4-8 октября 2010 года, а также на международной студенческой олимпиаде 2010-2011 учебного года по системам автоматизированного проектирования и компьютерного моделирования в машиностроении, проведенной на базе Хмельницкого национального университета.

Дизайнерская и инженерная деятельность в современных условиях тесно связана с использованием персональных электронных вычислительных машин. На сегодняшний день для того чтобы быть эффективным конструктором или дизайнером, необходимо иметь инструменты, позволяющие быстро разрабатывать проекты, взаимодействовать с различными подразделениями, вовлеченными в процесс разработки, передавать созданные модели на другие производственные этапы. Начиная от эскиза, рисунка, физической модели, сканированных данных, или одной лишь идеи – перед разработчиком всегда стоит необходимость иметь системы для точного моделирования и документирования проекта, визуализации, анимации и анализа проектируемых моделей. Современный рынок программного обеспечения предоставляет широкий выбор средств автоматизированного моделирования и проектирования, в их числе, как универсальные пакеты, представленные такими брендами, как Autodesk 3ds Max, Maya, для графического моделирования, и AutoCAD, SolidWorks, для инженерной деятельности, так и узко специализированные программные системы.

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

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

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

Рисунок 1 - Интерфейс приложения

В разработанной библиотеке реализованы методы работы со следующими видами пространственных кривых и поверхностей: кубические сплайны, поверхности Кунса, а также В-сплайны, кривые и поверхности Безье, NURBS.

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

Базовая функционалность системы включает в себя:

Рисунок 2 — Преобразование объектов: перенос, масштабирование, поворот, редактирование опорных точек

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

Рисунок 3 — Линейчатые поверхности

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

Рисунок 4 – Ландшафты, представленные В-сплайн кривыми и В-сплайн поверхностью на основе карты высот

Программная реализация графического редактора

Разработанная система моделирования, написана на языке Visual С++ в интегрированной среде разработки Microsoft Visual C++ 2008 с использованием компонентов программной технологии .NET Framework 3.5 и графической библиотеки OpenGL.

Язык программирования Visual С++ был выбран исходя из того, что он является, с одной стороны, языком высокого уровня с широким набором развитых синтаксических конструкций, поддерживающим объектно-ориентированный подход к программированию, а, с другой стороны, имеет достаточно низкоуровневых средств, подходящих для системного программирования. Платформа .NET Framework — это один из компонентов системы Windows. Она позволяет создавать и использовать приложения нового поколения, используя широкие возможности библиотеки классов .NET Framework.

Выводы

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

Рекомендуемая литература

1. Piegl L.,Tiller W. «The NURBS Book. 2nd Edition» – Springer, 1997. – 646 p.

2. Farin G. «Curves and surfaces for CAGD. A practical guide» – Morgan-Kaufmann, 2002. – 499 p.

3. Роджерс Д., Адамс Дж. «Математические основы машинной графики» – М.:Мир, 2001. – 606 с.