Многооконный графический редактор VolSUGraph 1.0 для визуализации результатов моделирования
Автор: Кобелев Иван Александрович, Хоперсков Александр Валентинович
Журнал: НБИ технологии @nbi-technologies
Рубрика: Технические инновации
Статья в выпуске: 5, 2011 года.
Бесплатный доступ
Представлено описание программного комплекса VolSUGraph, который предназначен для работы с растровыми и векторными изображениями и может применяться в учебном процессе, в научных исследованиях, при решении широкого круга задач, связанных с обработкой и представлением графической информации. Программа позволяет: редактировать числовые данные, заданные в табличной форме, строить графики функций, диаграммы, настраивать цвета, рисовать графические объекты, редактировать текстовую информацию, настраивать графическое полотно, сохранять изображения в виде файлов различных форматов. Информационная система поддерживает графические построения различных типов, имеет развитый пользовательский многодокументный графический интерфейс, включающий редактирование и сохранение настроек.
Информационные технологии, обработка данных и изображений, объектно-ориентированное программирование, проектирование информационной системы
Короткий адрес: https://sciup.org/14968202
IDR: 14968202
Текст научной статьи Многооконный графический редактор VolSUGraph 1.0 для визуализации результатов моделирования
Визуальное представление научных данных является важнейшим компонентом научно-исследовательской работы. Создание специализированных пакетов прикладных программ является условием эффективного внедрения вычислительной техники в практику, выступая в качестве важного инструмента реализации критических технологий по направлению «Технологии обработки, хранения, передачи и защиты информации» (Перечень критических технологий РФ от 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), Bar-График (BarG), График функции (Function), Линии и точки (LineOrSymbols), Rout (набор часто используемых функций), Размер документа (SizeFrm),
Координаты (SymbolS), SelectGraph (редактирование, транспонирование данных), Propertis (параметры документа), GraphCollect (массивы графиков).
В основе проектирования ПО лежат разработанные диаграмма вариантов использования и диаграмма компонентов приложения VolSUGraph.
Структурная часть приложения состоит из самого приложения и подключаемых к нему библиотек:
-
1) ParserFunc.dll, которая предоставляет набор методов для разбора строки функции, с помощью которой можно работать с математическими функциями, переводя их из строковой формы инфиксной записи в обработанное представление;
-
2) KIAGraph.dll, которая играет роль графического движка, содержит методы вывода графиков.
Рис. 1. Общий вид панели VolSUGraph
Propertis
+Radius : Целое число +lsSelectedG : булев
GraphCollect
LineOrSymbols
SelectGraph
+MAS : объект(1б1)
-transpon()
-Print()
-createB()
+AutoColor: булев +Legenda : строка +ColorGraph : объект __ +WidthLine : двойной | +SmootTens : двойной 1 +ShowPoint: булев
+Showl_ine : булев
-Check()
-Parse()
+SymbolTypes : строка +FillPoint: объект +SizePoint: Целое число +FillTypes : объект -Width : Двойной -SmootTens : двойной -ShowLine : булев -Legenda : строка +LoadFile()
-Parse()
Symbols
+X : Объект
+Y : Объект
+TypeGraph : Целое число
-IsEdit: булев
+AddSymb() +EditSymb() +DelSymb() -Parse()
-Sellndex()
Polotno
-width : Целое число -Height: Целое число +Description : строка +Legend : Строка +FON : Объект +XY : Целое число +OSX() +Сору() +CancelScaleO +DoPrint() +SaveAs()
0..1
Документ
Function
+Width : Целое число +Height: Целое число -Func()
-CG()
-FYnc()
+ColorGraph : Объект +WidthStup : Целое число +Legenda : строка +Position : булев +lsVisSymbl_abel: булев +ShowBoard : булев +BorderColor : Объект +RndColor: булев
+3агрузить таблицу из файла() -Parse()
+Pix : Целое число +Step : Целое число +Col : объект
-Item : Строка
-Index : Целое число
PositionFile
+YPOS
+Transpone
-
- ar: объект
-
- key : объект
-nameop : объект
-
- rez : объект
-Stand()
-MedSredQ
-MAX()
-MIN()
-SRED()
-SUMQ
StatRez
-ar: объект
-key: объект
-nameop : объект
-rez: объект
-Load()
+CreateMDI() +Save() +SaveAs() +Savelmage() +Close() +CG() -ActivForm()
+Width : Целое число +Height: Целое число -SizeForm_()
+SymbType : строка +SymbType : объект +SizePoint : Целое число +FType : объект +XY : Объект
+Stepm : Целое число +Func : булен
- ~ +У= : строка +Х= : строка +G(T)= : строка +SmoothTens : двойной +М(Х)= : строка +Func3 : строка +Legend :строка
-Parse()
-CreateG()
-
Рис. 2. Диаграмма классов VolSUGraph
Тестирование происходило на машинах с разной аппаратной конфигурацией. Функциональное тестирование приложения осуществлялось вместе со следующими видами тестирования графического интерфейса пользователя: тестирование на соответствие стандартам графических интерфейсов [1], тестирование с различными разрешениями экрана, тестирование в ограниченных условиях нехватки памяти.
Весь код пакета VolSUGraph был написан в среде разработки программного обеспечения Microsoft Visual Studio 2008 [7]. При создании редактора для работы с графиками VolSUGraph были учтены различные недостатки имеющихся программных продуктов.
Графический движок для визуализации диаграмм выполнен в виде подключаемой биб- лиотеки, содержит атрибуты и функции вывода графиков. Содержит собственную графическую область с разметкой, позволяя масштабировать и менять область отображения диаграмм. Предусмотрена возможность полного редактирования атрибутов графического полотна и диаграмм, включая выбор параметров цветов, заливки, толщины и типа линий, задание сетки, уровня сглаживания, отображение всплывающей подсказки и многое другое. Для сглаживания графиков функций был выбран метод интерполяции B-cплайнами с помощью алгоритма де Бора.
При написании модуля экспорта графиков в растровый формат были использованы алгоритмы RLE (Run Length Encoding), LZW (Lempel-Ziv-Welch), LZ-Huffman [10]. В инфор- мационной системе реализованы базы данных для хранения и обработки внешней информации и параметров настройки проекта, которые основаны на специально разработанных двух классах хранилища данных.
Функциональные возможности
Перечислим основные наиболее характерные особенности созданного программного продукта:
-
- Возможность масштабирования графических объектов.
-
- Возможность сохранения графика в растровые и векторные форматы.
-
- Вывод построенных графиков на печать, в том числе создание PS- и EPS-файлов.
-
- Многофункциональное редактирование и настройка графического полотна и графиков.
-
- Многодокументный дружественный интуитивно понятный интерфейс [3].
-
- Интерактивный режим – при наведении указателя мыши на график появляется подсказка с данными выбранной точки. Создана система быстрого вызова элементов меню.
-
- Множество параметров дизайна координатной плоскости (параметры осей, сетки, фона, надписей, цветовая палитра).
-
- Поддержка большого числа видов графиков.
-
- Большой набор параметров, определяющих свойства графиков (цветовая палитра, типы линий и точек, их заполнений, градиентный цвет и др.), возможности интерполяции, функции редактирования и настройки легенд [6].
-
- Имеется список истории создания графических объектов.
Длина штрихов
Длина пропусков
Длина пропусков
РлавниЬ1 1 1
(Графическое полотно
| Главная сетка по X
Длина пропусков 5
I__| Главная сетка по
Длина штрихов 10
□ Дополнительная сетка по X
Длина штрихов
Длина пропусков 5
I__| Дополнительная сетка по'
Длина штрихов
0 Легенда | Г рафик О
Цвет графика
Толщина графика
0 Сглаживание 14
□
Заполнение
Круг
■
0 Показать точки I Построить |
0 Показать линии [ Отмена ]
Копировать
Показать значения точек
Отобразить историю
Отображать значения под курсором
Alt+C Ctrl+G Ctrl+H Ctrl+Z
0 Выделение графика при нажатии Радиус области видимости графика 3|
Ctrl+N
График!
Открыть
» М еню документа
и
Сохранить проект
Ctrl+S
Сохранить массив точек
Реестр_Р
Параметры страницы
М
Предварительный просмотр
Ctrl+P
Печать
Выход
Настройки | Справка
Alt+S
® X - первый столбец
&
Alt+P
[0 Транспонировать | [ Далее |
Параметры программы Alt+O
оз _
НастройгйТ
Пределы
п
CtrkM
Настройки программы
Формат таблицы Файла © Y - первый стобец
Ctrl+Q Ctrl+V
X ’t-
сохранить проект как
Сохранить изображение
| Применить |
[ Отмена |
Удалить график
Редактировать график
Редактировать массив точек
о Массив графиков
Кривая
Ваг график
Название графика
Q ОсьХ
Размер
Настройки полотна
* .8 @ ■чК П
Файл i Правка У Создать
Г рафик Настройки Cnpai
■ 1 » * »i ij *041 х
Параметрический график Ctrl+O
Правка | График Настройки Справка в -
уд Загрузить график из файла Ctrl+A
X Удалить график t Редактировать график ^ Редактровать массив точек
Заголовок Цвет Фона [ Цвет легенды ■
VolsuGraph
Файл Правка График Настройки Справка
1фик | Настройки Справка
Массив кривых
Кривая
Ваг график
Функция
•TtStSS
Применит
□ Авто
Отмена
Построить
Отмена
ДопоЛнитёлкйые
Шрифт | Arial, 16. Bold |
Размер промежуточных точек 2,5 П Рамка
Толщина линий полотна 1
Т олщина 2
I ] Вывешить значения точек @ Над ступенями . 1 Внутри ступеней
0 Легенда График О
0 Градиентный цвет
Цвет графика £
Тип заполнения | GradientByZ ^
Тип графика | Cluster к |
[ о Горизонтально
О Вертикально
Рис. 3. Структура документа, графические формы управления и примеры графических полотен
-
- Реализован редактор матриц данных.
На рисунке 3 показаны в качестве примеров некоторые формы и панели VolSUGraph.
Заключение
Созданный программный пакет VolSUGraph является достаточно мощным и в то же время легким в освоении средством для построения графиков и диаграмм числовых зависимостей. Легкость настройки и продуманный дизайн позволит легко и быстро построить нужный график или диаграмму, а возможность глубокой настройки графического полотна и параметров диаграммы добавит графикам оригинальность. Созданный программный комплекс (ПК) может являться элементом системы моделирования и обработки данных на основе сервисно-ориентированной архитектуры [2].
Список литературы Многооконный графический редактор VolSUGraph 1.0 для визуализации результатов моделирования
- Алексеенко, Е. А. Оценка качества интерфейса приложения/Е. А. Алексеенко, Е. В. Гавриленко. -М.: Вильямс, 2000. -245 с.
- Бухановский, А. В. Интеллектуальные программные комплексы компьютерного моделирования сложных систем: концепция, архитектура и примеры реализации/А. В. Бухановский, С. В. Ковальчук, С. В. Марьин//Известия высших учебных заведений. Приборостроение. -2009. -Т. 52, № 10. -С. 5-24. 3. Дженифер, Т. Разработка пользовательских интерфейсов/Т. Дженифер. -СПб.: Питер, 2004. -416 с.
- Информационно-компьютерный комплекс для моделирования динамики примесей от предприятий химической промышленности/А. А. Белослудцев, Д. В. Гусаров, М. А. Еремин, Н. М. Кузьмин, А. В. Хоперсков, С. С. Храпов//Вестн. Волгогр. гос. ун-та. Сер. 1, Математика. Физика. -2009. -№ 12. -С. 95-102.
- Лемке, Д. Microsoft Office Visio 2007/Д. Лемке. -М.: ЭКОМ Паблишерз, 2008. -368 с.
- Никулин, Е. А. Компьютерная геометрия и алгоритмы визуализации диаграмм/Е. А. Никулин. -СПб.: БХВ-Петербург, 2005. -560 с.
- Пауэрс, Л. Microsoft Visual Studio 2008/Пауэрс Ларс, Майк Снелл. -СПб.: БХВ-Петербург, 2009. -1200 с.
- Хоперсков, А. В. Геоинформационная система GeoMapBuilder для создания векторных карт с рельефом местности/А. В. Хоперсков, А. А. Белослудцев, Н. В. Наводченко//Вестн. Волгогр. гос. ун-та. Сер. 1, Математика. Физика. -2007. -№ 11. -С. 208-213.
- Храпов, С. С. Компьютерное моделирование экологических систем: монография/С. С. Храпов, А. В. Хоперсков, М. А. Еремин. -Волгоград: Изд-во ВолГУ, 2010. -124 с.
- Miano, John. Compressed Image File Formats: JPEG, PNG, GIF, EMF/Miano John. -N. Y.: Dresz, 2007. -450 с.