О программе представления расчетных данных в графическом виде

№39-2,

Технические науки

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

Похожие материалы

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

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

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

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

При этом система координат будет содержать о себе следующую информацию: длина осей координат; положение начала координат на рабочем листе; положение системы координат от правого края рабочего листа; положение системы координат от верхнего края рабочего листа; число открытых файлов в данной системе; минимальная и максимальная координаты среди всех графиков; координаты графических зависимостей всех файлов, открытых в данной системе; массив меток для настройки параметров графиков; массив уже построенных графиков; минимальное и максимальное значения координат по осям; информация о штрихах осей: количество штрихов на осях OX и OY соответственно, длина, цвет штриха осей координат, позиция штриха относительно осей координат; подписи к осям координат; информация о подписях значений к шкалам: позиция значений к шкалам осей, угол поворота значений к шкалам, высота и ширина букв, жирность букв, название и стиль шрифта, отображающего значения к шкалам, шаг отображения подписей (так как они могут отображаться не под каждым штрихом), смещение значений к шкалам относительно штриха, число знаков после запятой при отображении значений к шкалам, тип отображения значений к шкалам (обычный, экспоненциальный), размер индекса (в % от основного) при отображении значений в экспоненциальном виде, позиция индекса по вертикали и позиция индекса по горизонтали.

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

При программной реализации были использованы некоторые идеи и подходы, описанные в работах [1, 4-6]. Рассмотрим более подробно отдельные аспекты работы программы.

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

При настройке параметров осей (стиль осей, размер штриха, расстояние между штрихами, размер пунктира, тип стрелки) в поля данной системы координат передаются новые значения параметров, и система координат заново перерисовывается.

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

Чтобы обеспечить работу с подписями, целесообразно хранить информацию о ней в виде записи, полями которой будут следующие свойства: текст подписи; координаты положения на рисунке; тип подписи (к графику, к оси ОХ, к оси ОY); длина подписи; высота подписи; интервал между строками подписи.

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

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

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

Ниже на рис. 1 показан пример графиков на основе материалов работы [2], построенных с использованием разрабатываемой программы. Рисунок демонстрирует использование тегов для оформления графиков: часть графика построена штрихпунктирной линией, часть – сплошной, а часть диапазона пропущена (исключена из построения); показана возможность указания значений отдельных координат.

Также в разрабатываемой программе были построены некоторые графические зависимости, полученные в работах [3, 7].

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

Пример графиков, построенных в разрабатываемой программе

Рис. 1. Пример графиков, построенных в разрабатываемой программе

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

  1. Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2008. – 735 с.
  2. Гималтдинов И.К., Дмитриев В.Л., Ситдикова Л.Ф. Об эволюции звуковых волн во влажных пористых средах // Фундаментальные исследования. 2013. № 10-10. – С. 2198-2202.
  3. Гималтдинов И.К., Дмитриев В.Л., Ситдикова Л.Ф. Динамика звуковых волн в насыщенных парогазовой смесью пористых средах // ТВТ. 2014. Т. 52. №4. – С. 572.
  4. Дмитриев В.Л. Об эффективных алгоритмах решения ряда задач при обучении программированию // Профильная школа. 2014. Т.2. № 3. – С. 19-26.
  5. Дмитриев В.Л. Компьютерная программа для проведения тестирования с поддержкой произвольного расположения материалов теста // Информатика и образование. 2014. № 2 (251). – С. 74-77.
  6. Дмитриев В.Л., Евдокимова Н.Л., Мухаметова Л.К. Учебный пример разработки программы построения графика функции в системе программирования Delphi // NovaInfo.Ru. 2015. № 39. [Электронный ресурс]. – Режим доступа: http://novainfo.ru/archive/39/programma-postroeniya-grafika-funktsii (дата обращения: 18.12.2015).
  7. Шагапов В.Ш., Насырова Л.А., Потапов А.А., Дмитриев В.Л. Тепловой удар под воздействием энергии излучения на пористую среду, частично заполненную газогидратом // Инженерно-физический журнал. 2003. Т. 76. № 5. – С. 47-53.