Многооконный графический редактор 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 с.
Еще
Статья научная