Многооконный графический редактор VolSUGraph 1. 0 для визуализации результатов моделирования

© Кобелев И.А., Хоперсков А.В., 2011

УДК 004.42 ББК 32.97

МНОГООКОННЫЙ ГРАФИЧЕСКИЙ РЕДАКТОР VOLSUGRAPH 1.0 ДЛЯ ВИЗУАЛИЗАЦИИ РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ 1

И.А. Кобелев, А.В. Хоперсков

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

Ключевые слова: информационные технологии, обработка данных и изображений, объектно-ориентированное программирование, проектирование информационной системы.

Введение

Визуальное представление научных данных является важнейшим компонентом научно-исследовательской работы. Создание специализированных пакетов прикладных программ является условием эффективного внедрения вычислительной техники в практику, выступая в качестве важного инструмента реализации критических технологий по направлению «Технологии обработки, хранения, передачи и защиты информации» (Перечень критических технологий РФ от 21 мая 2006 года).

Была поставлена задача создания программного обеспечения (ПО), которое, с одной стороны, было бы более легким и простым для конфигурирования и программирования, по сравнению, например, с пакетами MathLab, FreeMat, Scilab, CorelDRAW, R Project, Maple, Mathematica, Mathcad, LabVIEW, Maxima, Giac/Xcas, КОМПАС, AutoCAD, nanoCAD и других САПР, с другой - обеспечивало рабо-

ту по обработке данных на профессиональном уровне, являясь свободно распространяющимся программным продуктом, легким и функциональным приложением [6]. В данной работе описаны характерные особенности созданного программного комплекса VolSUGraph 1.0 (рис. 1). По своим функциональным возможностям в плане визуализации численных данных редактор VolSUGraph близок к Grapher (Golden Software, Inc.), Advanced Grapher, Golden Software Grapher, RLPlot, SMath Studio, Origin, Extrema (Physica), OpenDX, Inkscape, MayaVi, HARVARD GRAFICS и заметно превосходит ZyukaGraphik, Gnuplot (2D), Microsoft Excel, Open Office, Dia, MultyGraphiX (2D), MS WORD, Fityk. Обсуждаются средства разработки и структура ПО, кратко описаны функциональные возможности, компоненты интерфейса, атрибуты созданных классов. Важной особенностью представляется многодокументный интерфейс работы с графиками, реализованный в VolSUGraph, и наличие широкого набора растровых графических форматов png, gif, jpg, tif, bmp и векторного EMF.

Указанные возможности по преобразованию растровых изображений в векторные форматы (векторизации) позволяют использо-

вать VolSUGraph для задач обработки данных [4; 9] и формирования входных параметров для геоинформационных систем [8]. Процесс преобразования регулируется гибким набором настроек для каждого типа изображений.

Информационная модель и реализация

Для создания моделей и структурных диаграмм VolSUGraph использовался Microsoft

Office Visio 2007 [5]. Разрабатываемое приложение имеет сложную структуру, благодаря которой обеспечивает оптимальную скорость работы и качество диаграмм. Основной функционал приложения составляет набор классов (схема взаимодействия показана на рисунке 2): Графическое полотно (Polotno), Ваг-График (BarG), График функции (Function), Линии и точки (LineOrSymbols), Rout (набор часто используемых функций), Размер документа (SizeFrm),

Координаты ^утЬо^), SelectGraph (редактирование, транспонирование данных), Ргоре1^ (параметры документа), GraphCollect (массивы графиков).

В основе проектирования ПО лежат разработанные диаграмма вариантов использования и диаграмма компонентов приложения VolSUGraph.

Структурная часть приложения состоит из самого приложения и подключаемых к нему библиотек:

1) ParserFunc.dll, которая предоставляет набор методов для разбора строки функции, с помощью которой можно работать с математическими функциями, переводя их из строковой формы инфиксной записи в обработанное представление;

2) KIAGraph.dll, которая играет роль графического движка, содержит методы вывода графиков.

Файл Правка Г рафик Действия Справка

Рис. 1. Общий вид панели VolSUGraph

68 И.А. Кобелев, А.В. Хоперсков. Многооконный графический редактор VolSUGraph 1.0

Рис. 2. Диаграмма классов VolSUGraph

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

Весь код пакета VolSUGraph был написан в среде разработки программного обеспечения Microsoft Visual Studio 2008 [7]. При создании редактора для работы с графиками VolSUGraph были учтены различные недостатки имеющихся программных продуктов.

Графический движок для визуализации диаграмм выполнен в виде подключаемой биб-

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

При написании модуля экспорта графиков в растровый формат были использованы алгоритмы RLE (Run Length Encoding), LZW (Lempel-Ziv-Welch), LZ-Huflman [10]. В инфор-

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

Функциональные возможности

Перечислим основные наиболее характерные особенности созданного программного продукта:

- Возможность масштабирования графических объектов.

- Возможность сохранения графика в растровые и векторные форматы.

- Вывод построенных графиков на печать, в том числе создание PS- и EPS-файлов.

- Многофункциональное редактирование и настройка графического полотна и графиков.

- Многодокументный дружественный интуитивно понятный интерфейс [3].

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

- Множество параметров дизайна координатной плоскости (параметры осей, сетки, фона, надписей, цветовая палитра).

- Поддержка большого числа видов графиков.

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

-Имеется список истории создания графических объектов.

Рис. 3. Структура документа, графические формы управления и примеры графических полотен 7 0 И.А. Кобелев, А.В. Хоперсков. Многооконный графический редактор VolSUGraph 1.0

- Реализован редактор матриц данных.

На рисунке 3 показаны в качестве примеров некоторые формы и панели VolSUGraph.

Заключение

Созданный программный пакет VlSUGraph является достаточно мощным и в то же время легким в освоении средством для построения графиков и диаграмм числовых зависимостей. Легкость настройки и продуманный дизайн позволит легко и быстро построить нужный график или диаграмму, а возможность глубокой настройки графического полотна и параметров диаграммы добавит графикам оригинальность. Созданный программный комплекс (ПК) может являться элементом системы моделирования и обработки данных на основе сервисно-ориентированной архитектуры [2].

ПРИМЕЧАНИЕ

1 Работа выполнена при поддержке грантов РФФИ №> 10-07-97017, №> 11-07-97025 и ФЦП «Научные и научно-педагогические кадры инновационной России», N° 02.740.11.5198.

СПИСОК ЛИТЕРАТУРЫ

1. Алексеенко, Е. А. Оценка качества интерфейса приложения / Е. А. Алексеенко, Е. В. Гавриленко. - М. : Вильямс, 2000. - 245 с.

2. Бухановский, А. В. Интеллектуальные программные комплексы компьютерного моделиро-

вания сложных систем: концепция, архитектура и примеры реализации / А. В. Бухановский, С. В. Ковальчук, С. В. Марьин // Известия высших учебных заведений. Приборостроение. - 2009. -Т. 52, № 10.- С. 5-24.

3. Дженифер, Т. Разработка пользовательских интерфейсов / Т. Дженифер. - СПб. : Питер, 2004. - 416 с.

4. Информационно-компьютерный комплекс для моделирования динамики примесей от предприятий химической промышленности / А. А. Бе-лослудцев, Д. В. Гусаров, М. А. Еремин, Н. М. Кузьмин, А. В. Хоперсков, С. С. Храпов // Вестн. Вол-гогр. гос. ун-та. Сер. 1, Математика. Физика. - 2009. -№ 12. - С. 95-102.

5. Лемке, Д. Microsoft Office Visio 2007 / Д. Лем-ке. - М. : ЭКОМ Паблишерз, 2008. - 368 с.

6. Никулин, Е. А. Компьютерная геометрия и алгоритмы визуализации диаграмм / Е. А. Никулин. - СПб. : БХВ-Петербург, 2005. - 560 с.

7. Пауэрс, Л. Microsoft Visual Studio 2008 / Пауэрс Ларс, Майк Снелл. - СПб. : БХВ-Петербург, 2009. - 1200 с.

8. Хоперсков, А. В. Геоинформационная система GeoMapBuilder для создания векторных карт с рельефом местности / А. В. Хоперсков, А. А. Бело-слудцев, Н. В. Наводченко // Вестн. Волгогр. гос. ун-та. Сер. 1, Математика. Физика. - 2007. - № 11. -С. 208-213.

9. Храпов, С. С. Компьютерное моделирование экологических систем : монография / С. С. Храпов, А. В. Хоперсков, М. А. Еремин. - Волгоград : Изд-во ВолГУ, 2010. - 124 с.

10. Miano, John. Compressed Image File Formats: JPEG, PNG, GIF, EMF / Miano John. - N. Y : Dresz, 2007. - 450 с.

MULTIWINDOW GRAPHICS EDITOR VOLSUGRAPH 1.0 FOR VISUALIZATION OF SIMULATION RESULTS

I.A. Kobelev, A. V. Khoperskov

The description of software package VolSUGraph which is designed to work with bitmap and vector images is presented. It can be used in teaching, in research, in addressing a wide range of problems associated with the processing and presentation of graphic information. The program allows you to: edit numeric data, draw graphs of functions, charts, customize color, draw, graphics, edit text, customizable graphical canvas, save the images as files in various formats. The program supports graphical representations of various types and has a Multiwindow user graphical interface, including editing and saving the settings.

Key words: information technology, data processing, image processing, object-oriented programming, designing the information system.